Помогает автоматически расставить неразрывные пробелы, исправить мелкие опечатки, привести кавычки к правильному виду, заменить дефисы на тире в нужных местах и многое другое.
Попробуйте типограф в действии.
- гибкость и расширяемость;
- UTF-8;
- кроссплатформенность;
- кроссбраузерность;
- поддержка Node.js;
- типографирование на лету;
- TDD.
- TXT
- HTML
- XML
- SVG
npm install typograf
<script src="./node_modules/typograf/dist/typograf.min.js"></script>
<script>
var tp = new Typograf({lang: 'ru'});
alert(tp.execute(' Мир - мой мир! '));
</script>
npm install typograf
var Typograf = require('typograf'),
tp = new Typograf({lang: 'ru'});
console.log(tp.execute(' Мир - мой мир!! '));
По умолчанию висячая пунктуация отключена.
Для включения необходимо подключить правила:
var Typograf = require('typograf'),
tp = new Typograf({lang: 'ru'});
tp.enable('ru/optalign/*');
console.log(tp.execute('"Мир"'));
А также в HTML-код страницы добавить:
<link rel="stylesheet" href="dist/typograf.css" />
var tp = new Typograf({lang: 'ru'});
tp.enable('ru/money/ruble'); // Включить правило
tp.enable('ru/money/*'); // Включить все правила в группе
tp.enable('*'); // Включить все правила
//...
tp.disable('ru/money/ruble'); // Отключить правило
tp.disable('ru/money/*'); // Отключить все правила в группе
tp.disable('*'); // Отключить все правила
var tp = new Typograf({lang: 'ru'});
// Название правила, название настройки, значение
tp.setting('common/nbsp/beforeShortLastWord', 'lengthLastWord', 5);
Typograf.rule({
name: 'common/other/emoji',
handler: function (text) {
return text.replace(/:-\)/g, '\uD83D\uDE0A');
}
});
// Режим по умолчанию, HTML-сущности, как UTF-8 символы
var tp = new Typograf({lang: 'ru'});
tp.execute('...'); // …
// HTML-сущности, как имена
var tpName = new Typograf({lang: 'ru', mode: 'name'});
tpName.execute('...'); // …
// HTML-сущности, как цифры
var tpDigit = new Typograf({lang: 'ru', mode: 'digit'});
tpDigit.execute('...'); // …
Данный live-режим необходим, если текст типографируется на каждый ввод символа в текстовых полях.
var tp = new Typograf({lang: 'ru', live: true});
Если typograf.js
сжимается вместе с другими js-файлами в UglifyJS
,
то необходимо использовать опцию ascii_only: false
, иначе типограф будет работать некорректно.
git clone https://github.com/typograf/typograf.git
Пересборка:
gulp
Пересборка и запуск тестов:
npm test
Подготовка новой версии:
gulp dist
Проверка скорости работы правил:
cd benchmark && node test.js
MIT License