link0ff: Juri (Default)
[personal profile] link0ff
Как я уже писал автору ljupdate, после того, как я начал использовать ljupdate, единственное, чего мне не хватало, это возможности отвечать на ЖЖ комментарии в Емаксе.

Я посмотрел, как это сделано в Semagic, и обнаружил, что там это делается через ж... ужасный хак. В браузере на ссылке, ведущей на добавление комментария, из меню запускается Semagic. Дальше в Semagic пишется комментарий, и после нажатия на кнопку Post, этот комментарий автоматически копируется в поля формы в браузере, после чего опять нужно нажать на кнопку Post, только на этот раз уже в браузере.

Увидев это, я сразу вспомнил, что уже видел что-то подобное в Firefox. Соответствующее расширение называется mozex. Я его пару лет назад использовал в Mozilla, но оно перестало работать в Firefox. Теперь я нашел новую версию, настроил, и все прекрасно заработало.

Итак, что нужно сделать для того, чтобы писать ЖЖ комментарии в Емаксе:

  1. Идем на сайт mozex.mozdev.org, оттуда идем дальше по ссылке на http://www.gatsby.ucl.ac.uk/~iam23/code/mozex, и на этой странице кликаем на ссылку с текстом "Install a UTF-8 forcing, Firefox 1.5 compatible version of Mozex." Эта ссылка ведёт на файл mozex_utf8-1.071.xpi, т.е. mozex с поддержкой Unicode.
  2. После установки mozex и перезагрузки браузера, открываем Tools->Extension и Preferences для mozex. В настройках в поле Textareas пишем `/full-path/emacsclient %t', где full-path - полный путь к emacsclient. Если используется Емакс из CVS, то и путь тоже должен быть к emacsclient из CVS, т.е. из подкаталога lib-src, т.к. emacsclient из CVS не совместим с более старыми версиями.
  3. В свой .emacs добавляем (и запускаем) такой код:
    (server-start)
    (defun my-lj-reply-visit ()
      (when (string-match "^mozex\\.textarea"
                          (file-name-nondirectory (buffer-file-name)))
        (recode-region (point-min) (point-max) 'utf-8 'koi8)
        (set-buffer-file-coding-system 'utf-8)))
    (add-hook 'server-visit-hook 'my-lj-reply-visit)
    (defun my-lj-reply-switch ()
      (when (string-match "^mozex\\.textarea"
                          (file-name-nondirectory (buffer-file-name)))
        (html-mode)))
    (add-hook 'server-switch-hook 'my-lj-reply-switch)
    

    При желании берём у [info]akshaal код для добавления времени написания комментария и вешаем его на хуки server-visit-hook и server-done-hook.
  4. Теперь для использования всего этого хозяйства, в пустом поле для ответа в браузере из popup-меню выбираем mozex->Edit Textarea, и переключааемся в Емакс. Пишем ответ и нажимаем `C-x #'. Переключаемся обратно в Firefox, и кликаем левой кнопкой мышки в Textarea. Написанный в Емаксе текст появляется в браузере. Нажимаем кнопку Post, и вуаля!
User-Agent: Emacs-ljupdate/3.9.0 Emacs/22.0 (i686-pc-linux-gnu)
(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

December 2020

S M T W T F S
  12345
6789101112
13141516171819
2021222324 2526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 13th, 2026 04:52 am
Powered by Dreamwidth Studios