先日のはてなダイアリーへのエントリーを見ると、リンク部分の日本語がひどいことになってる。例えば
昨日に引き続いて、今日も ひきがえるの日記 で入力しました。
一体、なんのこっちゃ。本当は、
今日も
hatena-mode で入力しました
と書きたかった Xp。
はてな記法によるリンク
はてなの記法によると
- url
- [url:title]
- [url:title=TITLE]
というような書き方でリンクが張れる。
1 番目のリンクは、URL がそのまま表示される。2 番目のリンクは、リンク先のタイトルがアンカー名になる。3 番目のリンクはアンカー名を TITLE に指定する。
前回の記事では、リンク先のタイトルを確かめもせずに 2 番目のリンクの張り方をしたのが拙かった。不精せず、3 番目の書き方でリンク名を指定すべきだった。
quickurl を使う
この手のリンクは、Emacs の quickurl を使って入力するようにしているので、 hatena-mode にも対応させてみた。.emacs に書いた設定は以下の通り。
;; ;; quickurl ;; (define-key mode-specific-map "q" 'quickurl) (setq quickurl-grab-lookup-function #'quickurl-current-word) (defun quickurl-current-word () (save-excursion (let ((beg (progn (skip-chars-backward "A-Za-z0-9-") (point))) (end (progn (skip-chars-forward "A-Za-z0-9-") (point)))) (buffer-substring-no-properties beg end)))) (defadvice quickurl-insert (after fold-html-if-available) "Fold inserted url if fold-html-mode is t" (when (and (memq major-mode '(nxml-mode sgml-mode xml-mode html-mode yahtml-mode xhtml-mode)) (boundp 'html-fold-mode) html-fold-mode) (html-fold-inline))) (setq quickurl-format-function #'quickurl-mode-format-function) (eval-after-load "quickurl" '(progn (defun quickurl-mode-format-function (url-list) (let ((url (quickurl-url-url url-list)) (desc (quickurl-url-description url-list))) (delete-region (point) (search-backward lookup)) (cond ((eq major-mode 'hatena-mode) (format "[%s:title=%s]" url desc)) ((memq major-mode '(nxml-mode sgml-mode xml-mode yahtml-mode)) (format "<a href=\"%s\">%s</a>" url desc)) ((memq major-mode '(rd-mode)) (format "((<%s|URL:%s>))" desc url)) (t url)))) (ad-activate 'quickurl-insert) ))
quickurl については、以下の記事を参照されたし。
No comments:
Post a Comment