Контекстное автодополнение и проверка правописания на DOU
Привет, ребята!
Давно я не писала постов на DOU, так как не могла найти тему, которая была бы мне интересна.
И вот вспомнила, что как то оговорилась Max’у, что расскажу, как мне удается выделять курсивом имена в комментах. Не хочу вдаваться в подробности, для чего я это делаю, скажу лишь, что эту дурную привычку я уже забросила.
Вообщем, как многие наверное уже догадались речь пойдет о плагине для браузера, который я написала для себя, и долго им пользовалась достаточно успешно :-) (думаю некоторые ребята успели это ощутить).
Что меня побудило к написанию плагина:
- дурная привычка выделять имена курсивом при обращении
- проверка правописания и контекстное автодополнение слов при написании комментария
Видео демонстрация плагина на примере написания комментария к Лёше Пение ;-) // у всех свои слабости... :)
P.S.: Кстати коммент я запостила и посмотреть его можно по ссылке: dou.ua/...orums/topic/12039/#608498
Установить плагин можно из Chrome Web Store по ссылке: chrome.google.com/...ndgdiebdandkoinclnlodnedd.
Что я использовала для решения поставленной задачи:
- Платформу Chrome
- Язык JavaScript
- Chrome Extension SDK
- Дополнительные библиотеки jQuery v2, jQuery.textcomplete, Яндекс
Предиктор
Требования к окружению
- Internet
- Git
- Node
- NPM
- Yeoman
- Chrome браузер
Исходный код приложения находится у меня в репозитории на GitHub (сегодня только его положила туда). Чтоб его от туда забрать, нужно выполнить команду
git clone [email protected]:irinkav/suggester.git
Зависимостями в проекте можно управлять при помощи пакетного менеджера Bower, и выполнять таски при помощи GRUNT’а, так например сборку проекта я выполняла командой grunt build --force
Тут кстати анекдот один вспомнился :-)
Программисты в старости:
— Внучек, возьмёшь скрипты? Я сам писал.
— Дед, у нас дома и своих скриптов навалом!
— Да у вас-то, небось, все скачанные, а дед сам писал!
Большого смысла погружаться в технические детали своего решения не вижу, так как все API достаточно простые и хорошо документированы. Если будут вопросы спрашиваете в комментариях, я постараюсь ответить.
Особое внимание заслуживает Яндекс Предиктор, API и документация которого мне очень понравилось, за что я бы хотела поблагодарить ребят, которые над ним работали.
Все пожелания и замечания пишите в комментариях. Спасибо за внимание ;-)
10 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівВ некоторых браузерах действительно есть уже плагин по подсветке, и исправлению.
Тем не мение, вам плюс в карму, однозначно.
И это мы — секта?! )))) Контроль правописания встроен в ОС для любого текстового поля, автозамена или нет настраивается, печатаю быстрее, чем сработает подсказчик, незнакомые слова добавляются в словарь...
А они потом тычут в нас пальцем и возмущаются ценой на нашу технику!
:troll ends:
А в словарь можно будет добавить следующие термины: тащемта, например, ящетаю?
Первая имплементация была на словаре с помощью библиотеки Typo.js. Строила поисковый индекс в отдельном worker потоке браузера, чтоб загрузки контента не мешать. Однако мне не понравилась такая реализация из-за жутких тормозов автодополнения из-за lookup по индексу. Поисковый индекс строился по словарю размером в 3 MB. Вообщем в этом решении можно было бы делать что угодно. Но версия в статье работает на интеллектуальной системе подсказок от Яндекса, и тут я сделать ничего не могу :-(
Благодарствую за плагин.
хватит заниматься фигней, запишись на бокс или найди себе девушку !)
Вот муж обрадуется, если Ирина (автор) найдет себе девушку.
Боюсь расстроить, но плагин даже немножко вредит. Почему: для быстрого набора ты используешь звуковую память. Если что угодно будет заставлять в этот момент читать — это скажется на синхронизации набора и весьма вероятно при быстром наборе будешь терять слова.
Попробуй набирать быстро, хотя бы 250 символов в минуту — и увидишь потерю целых слов под курсором. Казалось бы, набирала — а их нет. А причина банальна — то слово что прочитала подменяет в памяти то, которое планировала написать вот-вот.
В общем, работая с подсказками, ты заставляешь компьютер вмешиваться в человеческую память. Если в данном примере это лишь игрушки, то применив в бизнес-приложении рискуешь утратой интереса клиента. Он просто забудет за чем к тебе пришёл.
Мой совет — никогда не вмешивайся в активность пользователя ранее 0.5 — 1 секунды.
PS. Спасибо за интересный опыт. Жаль что нет такого же синонимайзера и контроля повторений. В процессе кодинга привыкаешь постоянно использовать одни и те же фразы и выражения. А для реального человеческого языка — это зло, повторений следует избегать. Опять же, в случае коментов на DOU это просто игрушки. Но бывают моменты когда таки необходимо побыть копирайтером, и вот хотелось бы всё это искусство... скормить компьютеру, пусть он за меня работает, залізяка лінива!
На форуме человек который реально что-то делает, а не ноет как все плохо???
Ребята, нам нужно ее срочно забанить, она портит нашу микрофлору!
Более того, это рецидивист! Слово «рецидивист» я написал правильно благодаря плагину.