Обсуждение затянулось на несколько месяцев…
Осознав важность проблемы, написал ёфикатор на Node.js.
С ним можно проверять и восстанавливать букву «ё» в любых текстовых форматах.
Установка
npm install eyo -g
Восстановление
eyo file.txt > file_yo.txt
eyo https://habrahabr.ru > habr_yo.html
Проверка
eyo --lint file.txt
eyo --lint https://habrahabr.ru
Вне зависимости от отношения к букве «ё», стоит отметить некоторые особенности.
В регулярных выражениях, в диапазонах «ё» необходимо указывать отдельно:
function hasRussianLetters(text) {
return text.search(/а-яё/i) > -1;
}
При сортировке слов результат не очевиден:
["Дуб", "Осина", "Ёлка", "Берёза"].sort(); // ["Ёлка", "Берёза", "Дуб", "Осина"]
["дуб", "осина", "ёлка", "берёза"].sort(); // ["берёза", "дуб", "осина", "ёлка"]
Ссылки:
Комментарии (30)
a553
21.06.2015 23:51+21При сортировке слов результат не очевиден
Потому что сортировать в алфавитом порядке нужно как минимум вот так:
["дуб", "осина", "ёлка", "берёза"].sort(function(a, b) { return a.localeCompare(b); }); // [ "берёза", "дуб", "ёлка", "осина" ]
Простойsort()
сортирует по числовому значению символов в строке, а не по алфавиту.
BlessMaster
22.06.2015 00:42+17В пользу какого варианта разрешаются дилеммы вроде «через недельку страна передохнет от жары»?
Gnuava
22.06.2015 01:05+6На так давно в рабочей рассылке обсуждалась тема использования буквы «ё» в документации и постах.
Обсуждение затянулось на несколько месяцев…
Какие, однако, занятые люди у вас. Даже на подобную фигню есть время для обсуждения.BlessMaster
22.06.2015 01:10+11Классика жанра bikeshedding en.wikipedia.org/wiki/Parkinson%27s_law_of_triviality
Люди готовы уделять вопросу тем больше внимания, чем больше эмоций вызывает предмет обсуждения — суть всех холиваров.
differentlocal
22.06.2015 08:41-18За такие ценнейшие обсуждения и дрочево на умершую букву в рабочих рассылках и уволить не жалко. Религиозный фанатизм — это не про работу.
impersonalis
22.06.2015 11:09+11Мне кажется, мы начали забывать приказ Народного комиссара просвещения РСФСР от 24 декабря 1942 г., вводящий обязательное употребление буквы ё в школьной практике.
(см. справочник Употребление буквы Ё, 1945 г)
nomadmoon
22.06.2015 04:10-4Какая разница как писать, е или ё, если вы не пользуетесь софтом под лицензией ё-ware?
Lockal
22.06.2015 11:28+6Молодцы, развивайте дальше!
Из собственного опыта использования бота-ёфикатора в Википедии (если кто не знал, в Википедии обязательно использование ё):
1) Смотреть на отдельные слова хорошо помогает против причастий, но смотреть на словосочетания тоже важно. Например, добавить «обо всём», «на всём», «во всём», а для остальных случаев не предлагать даже в зоне non-safe. То же самое про обратные списки: "\d лет" не помещать в non-safe.
2) В автоматическом режиме по-хорошему надо ещё выделять цитаты и не корёжить их (в основном это было связано с белорусским и украинским языками, но были ещё и старые тексты, типа «сделать по ней надлежащие в сем отношении распоряжения»).
NickKolok
07.07.2015 09:42Товарищ автор, я разрабатываю расширение для браузера, автоматически корректирующее ошибки. Там, кстати, немного другой принцип формирования словаря (см. chrome/dictionary.js). Предлагаю кооперироваться и сделать расширение-ёфикатор. Правда, нам нужен третий, который сделает кнопку с галочкой «ёфикация».
hcodes Автор
07.07.2015 14:13Про плагин думал. Вынес логику про ёфикацию в отдельный модуль — github.com/hcodes/eyo-kernel.
Про третьего не понял)
ufm
«приблИженных» и «приближЁнных» — это разные слова
DjPhoeniX
приемник и приёмник тоже так то
WNeZRoS
Я тоже так думал, но потом узнал что «преемник»
NeoCode
преемник и приёмник, так что все ОК.
DjPhoeniX
Ладно, ладно, хватит, понял. Век живи — век учись.
newdya
Школу прогуливали?
Error_403_Forbidden
книг мало читал