simple-hatena-mode から日記をブラウザで開く

すでに実装されていると思うけれども、どう使うのか知らないので書いた。simple-hatena-mode で開いている日記ファイルと同じ日付のウェブページ版をブラウザで開くというとても単純な関数。人様にお見せするには恥かしいくらいにアホなコードである。

(eval-after-load "simple-hatena-mode"
  '(progn
     (defun simple-hatena-open-diary ()
       "いま開いている日記ファイルのウェブページをブラウザで開く。"
       (interactive)
       (if (equal major-mode 'simple-hatena-mode)
           (let ((filename (file-name-nondirectory (buffer-file-name))))
             (if (string-match "^\\([0-9][0-9][0-9][0-9]\\)-\\([01][0-9]\\\)-\\([0-3][0-9]\\)\\.txt$" filename)
                 (browse-url (concat "http://d.hatena.ne.jp/"
                                     simple-hatena-default-id
                                     "/"
                                     (match-string 1 filename)
                                     (match-string 2 filename)
                                     (match-string 3 filename)))
               (error "It seems that this file is not a hatena diary file")))
         (error "This buffer is not simple-hatena-mode")))
     (define-key simple-hatena-mode-map "\C-c\C-o" 'simple-hatena-open-diary)))