eyo-kernel
Version:
Restoring the letter «ё» (yo) in russian texts
81 lines (65 loc) • 4.73 kB
Markdown
Восстановление буквы «ё» в русских текстах
===
[](https://www.npmjs.com/package/eyo-kernel)
[](https://www.npmjs.com/package/eyo-kernel)
[](https://travis-ci.org/e2yo/eyo-kernel)
[](https://ci.appveyor.com/project/hcodes/eyo-kernel)
[](https://coveralls.io/r/e2yo/eyo-kernel)
[](https://david-dm.org/e2yo/eyo-kernel)
## Особенности
+ проверка и восстановление буквы «ё» в русских текстах, вместо написанной «е»;
+ замена «е» на «ё» только в бесспорных случаях;
+ исправление в словах нескольких букв «е», «ё»;
+ корректная обработка сокращений («мед. училище», но не «мёд. училище»);
+ аббревиатуры не обрабатываются.
## Установка
`npm install eyo-kernel`
## Зависимости
Отсутствуют.
## Использование
```js
const Eyo = require('eyo-kernel');
const text = 'Мой текст...';
// Работа с безопасным встроенным словарём.
const safeEyo = new Eyo();
safeEyo.dictionary.loadSafeSync(); // ./dict/safe.txt.gz
console.log(safeEyo.restore(text));
console.log(safeEyo.lint(text));
// Работа с небезопасным встроенным словарём.
const notSafeEyo = new Eyo();
notSafeEyo.dictionary.loadNotSafeSync(); // ./dict/not_safe.txt.gz
console.log(notSafeEyo.restore(text));
console.log(notSafeEyo.lint(text));
// Загрузка собственного словаря.
const eyo = new Eyo();
// Также поддерживаются словари, сжатые с помощью gzip, *.txt.gz
eyo.dictionary.loadSync('./my_eyo_dict.txt');
console.log(eyo.restore(text));
console.log(eyo.lint(text));
// Создание собственного словаря.
const eyo = new Eyo();
// Добавить слово в свой словарь.
eyo.dictionary.addWord('словоСБуквойЁ');
// Удалить слово из словаря.
eyo.dictionary.removeWord('словоСБуквойЁ');
// Очистить словарь.
eyo.dictionary.clear();
```
## Словарь
Первоначально словарь взят из проекта [php-yoficator](https://github.com/rin-nas/php-yoficator/tree/master/Text). По доработкам словаря см. [CHANGELOG.md](./CHANGELOG.md).
## Формат словаря
Это текстовый файл с кодировкой UTF-8, каждое слово на отдельной строке.
Слова в словаре чувствительны к регистру букв. Слова, начинающиеся со строчной буквы, заменят в тексте слова со строчной и заглавной букв (Еж → Ёж и еж → ёж).
А слова, начинающиеся с заглавной буквы, заменят в тексте слова только с заглавной буквы (Еж → Ёж).
Для комментариев используйте символ `#`.
## [Консольная утилита](https://github.com/e2yo/eyo)
## Eyo в Yaspeller
В [yaspeller](https://github.com/hcodes/yaspeller/) добавлена поддержка eyo.<br/>Используйте опцию [`--check-yo`](https://github.com/hcodes/yaspeller/#--check-yo) в командной строке `yaspeller -l ru --check-yo my_file.txt` или параметр [`checkYo: true`](https://github.com/hcodes/yaspeller/#configuration) в конфигурационном файле.
## Ссылки
+ [Веб-интерфейс для восстановления буквы «ё»](https://e2yo.github.io/eyo-browser/)
+ [Консольная утилита](https://github.com/e2yo/eyo)
+ [http://ru.wikipedia.org/wiki/Ёфикатор](https://ru.wikipedia.org/wiki/%D0%81%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80)
+ [Про букву ё](http://www.gramota.ru/class/istiny/istiny_7_jo/)
+ [Поиск опечаток в тексте](https://github.com/hcodes/yaspeller)
## [Лицензия](./LICENSE)
MIT License