Typographie.js
Library for preparation of russian texts to web publication.
Core of Typographie web service.
Installation
Via npm:
npm install typographie --save
Via Bower:
bower install typographie --save
In a browser:
<script src="lib/typographie.js"></script>
Example
var Typographie = require('typographie');
var engine = new Typographie(['quotes', 'dashes', 'specials', 'paragraphs']);
var raw = 'Сервис "Typographie" - подготовка текстов к веб-публикации онлайн (с) 2014-2017';
var result = engine.process(raw);
console.log(result);
// > Сервис «Typographie» — подготовка текстов к веб-публикации онлайн © 2014–2017
Actions
quotes
: Correction of quotes: "" becomes «».
inquot
(needs quotes
) : Nested quotes: «„“» (otherwise — duplicate quotes stashing).
dashes
: If necessary replace hyphens with dashes and minus signs.
angles
: Replace asterisks and quotes with degrees, feet, inches.
dblspace
: Fix duplicate spaces in the text.
specials
: Insert special characters (from the symbol table).
mathchars
: Insert mathematical symbols (from the same table).
punctuation
: Fix punctuation, such as spaces before commas.
specialspaces
: Fix the wrong skip special characters with spaces.
nbsp
: Attach short words to following words in the text.
hellip
: Replace repeating dot symbols with ellipsis.
paragraphs
: Puts paragraphs (<p>) when converting to HTML (with empty string as a delimeter).
safehtml
: Don't process text inside of <code> and <pre> blocks.
entities
: Replace special chars with HTML entities.
If the list of actions was skiped in constructor, all of them will be performed.
Beside defining in the object constructor, you can change configuration by method actions
:
engine.actions(['punctuation', 'dblspace']);
console.log(engine.process('К чёрту орфографию ,главное все понимают !Ведь так ?..'));
// > К чёрту орфографию, главное все понимают! Ведь так?..
Modes
plain
: Just plain text.
html
: Safe HTML processing.
The mode could be defined in the constructor:
var engine = new Typographie(['quotes', 'dashes'], input, output);
Or by method mode
:
engine.mode('html', 'plain');
Default congifuration is plain
mode for both input and output.
License
The MIT License.