理系学生日記

おまえはいつまで学生気分なのか

simple-hatena-mode で編集中のエントリをブラウザで表示する

blog のエントリを書くのに Web のインタフェース経由でイチイチ書いていくのはメンドいので、simple-hatena-mode.el を使ってます。simple-hatena-mode を使えば、エントリの作成・編集・アップロードまでが Emacs で可能になります。
でも、アップロードしたエントリを実際に確認するのはブラウザでないとできません。アップロード→ブラウザ確認のコストも、できるだけ減らしたい。そういうわけですので、Emacs からエントリの URL をブラウザに読み辺ませる関数を書きました。

(defun simple-hatena-browse-current-buffer ()
  (interactive)
  (browse-url 
   (concat "http://d.hatena.ne.jp/"
           (or simple-hatena-default-id
               (simple-hatena-internal-completing-read-id simple-hatena-root))
           "/"
           (mapconcat 'identity 
                      (split-string
                      ; "2010-01-30.txt" から 拡張子を削除する。もっとキレイな方法ないかなー。
                       (replace-regexp-in-string "\\..*" 
                                                 ""
                                                 (buffer-name))
                       "-")
                      ""))))

この関数を、simple-hatena-mode-hook に設定してやれば便利になる。

(add-hook 'simple-hatena-mode-hook
          (lambda ()
            (define-key simple-hatena-mode-map (kbd "C-c C-v") 'simple-hatena-browse-current-buffer)))

確認含めて Emacs で実行したい人とかは、browse-url で使うブラウザを w3m にすれば良いです。たぶん、これでいけるんじゃないかな。

(setq browse-url-browser-function 'browse-url-w3)

w3m 入れてないから確認してないけどな。