typographie

Library for preparation of russian texts to web publication. Core of Typographie web service.

Usage no npm install needed!

<script type="module">
  import typographie from 'https://cdn.skypack.dev/typographie';
</script>

README

Typographie.js  Build Status

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.