Как прикрутить проверку орфографии к Эгее

20 октября 2011, 22:37

Я обычно пишу быстро, допускаю много ошибок, а при перечитывании не все из них замечаю и правлю. Поэтому мне для Эгеи не хватало проверки орфографии (хромовская на маке почему-то не всегда справляется). Идеального решения я пока не нашёл, но как промежуточное смог установить проверку орфографии от Яндекса. Решил поделиться — вдруг кому пригодится.

Внимание. В инструкции приводится пример модификации темы по умолчанию. Это плохая практика, так как после обновления Эгеи установка, скорее всего, слетит. Чтобы этого избежать, создайте в папке themes любую тему и положите в неё всего один файл templates/form-note.tmpl.php — всё остальное Эгея возьмёт из темы по умолчанию.

Итак:
1. Сначала надо скачать архив http://speller.yandex.net/speller/1.0/spell-1.0.zip и распаковать его куда-нибудь. Например, в корень в папку speller;

2. После этого из полученной папки нужно скопировать файл spell.js в папку со скриптами вашей темы (по умолчанию system/theme/js);

3. После чего нужно подправить файл с формой. По умолчанию он находится по адресу (system/theme/templates/form-note.tmpl.php).

В его начало файла нужно добавить строчку:
<? _JS ('spell') ?>

В конец кусок кода:
<script type="text/javascript"> var speller = new Speller({ url:"/speller", lang:"ru", options:Speller.IGNORE_URLS }); function spellCheck() { var form = document.forms["form-note"]; speller.check([form.title, form.text]); } </script>

Ну и вставить куда-нибудь кнопопчку для запуска проверки:
<input type="button" style="margin-left: 3em;" name="cmdSpell" value="Проверить правописание" onclick="spellCheck()" />

Спеллчекер страшненький, в лучших традициях Ворда 98, но работает. :)

4 комментария РСС

Артём Поликарпов
Антон, я бы не советовал править дефолтную тему, ведь так ты усложняешь сценарий обновления. Лучше — завести новую тему с одним единственным файлом form-note.tmpl.php.
Антон Шеин
Артём, ты, естественно, прав. Просто те ребята, которые используют свои темы, и без меня уже знают что и как. Я привёл костыльное решение для тех, кому нужно сделать наиболее простым способом. Но пометку сейчас всё же внесу.
Андрей Гурылёв
Сомнительный чекер, если он не заметил в этом тексте ошибку.
«Не хватала» — должно быть не хватало. Хватать и нехватка это слова всё-таки разные.
Однако, спасибо за идею и решение.
Антон Шеин
Ну да, он не настолько крутой, чтобы выявить смысловую разницу.
Денис Талала
Попробовал, всплывающие окна меня напугали, и я вернул всё, как было. (Не знаю, зачем пробовал, ведь я изначально стараюсь писать грамотно, а в Mac OS есть встроенная проверка правописания. Наверное, мне просто интересен тюнинг «Эгеи».)
@GlebVelikanov
Можно еще орфус прикурить http://orphus.ru/, жаль на сайте нет хорошей графики для него.