Типограф на JavaScript
Что может типограф:
- правильно расставлять кавычки и тире;
- удаляет:
- «табы» и повторы пробелов;
- пробелы в начале и конце текста, а также пустые строки;
- пробелы перед знаками пунктуации, перед знаком %.
- расстановка абзацев и переносов строк;
- ставит неразрывный пробел:
- перед последним словом;
- после коротких слов;
- перед частицами: ли, ль, же, ж, бы, б;
- после знака № и §.
- заменяет:
- 10 C на 10 °С и 10 F на 10 °F;
- 2007г. на 2007 г.;
- три точки на троеточие;
- Кв. м (км, дм, см, мм) на м²;
- Куб. м (км, дм, см, мм) на м³;
- 12x18 на 12×18;
http://example.com
на http://example.com;- (с) на ©, (r) на ™, +- на ±;
- и пр.
Черты:
- гибкость и расширяемость;
- кроссбраузерность;
- мультиязычность (TODO);
- utf-8;
- поддержка Node.js.
Использование
В браузере
<script src="dist/typograf.min.js"></script>
<script>
var tp = new Typograf();
alert(tp.execute(' Мир - мой мир! '));
</script>
Node.js
npm install typograf
var Typograf = require('typograf'),
tp = new Typograf();
console.log(tp.execute(' Мир - мой мир!! '));
Включить/отключить правило
var tp = new Typograf();
tp.disable('space/afterNum');
tp.enable('space/afterNum');
Добавить правило
Typograf.rule({
title: 'Пример правила',
name: 'other/parampampam',
sortIndex: 2000,
func: function(text) {
return text.replace(/parampampam/g, 'tryam');
}
});
Режим работы
var tp = new Typograf();
tp.execute('...');
var tpName = new Typograf({mode: 'name'});
tpName.execute('...');
var tpDigit = new Typograf({mode: 'digit'});
tpDigit.execute('...');
Лицензия
MIT License
Ссылки