clmemo に書いたことをそのままダイアリーにアップしたい

タイトルの部分を次のような形式にして、
C-c C-w で clmemo からコピペすれば、けっこういい感じにできると思う。

*[カテゴリ1][カテゴリ2]・・・ タイトル

(clmemoではカテゴリではなくサブタイトルというらしいけど、
ここではカテゴリという表記で統一する。)

そのためにやらなきゃいけないこと

(setq clmemo-subtitle-char "["
      clmemo-subtitle-punctuation-char '( "[" . "]"))
  • [カテゴリ] を タイトル よりも前に持ってくる
    • 通常は タイトル[カテゴリ1][カテゴリ2]・・・ という形式
    • clmemo.el のソースを見ると、clmemo-get-title関数のRecusive subtitleという部分でタイトルの後ろにカテゴリを再帰的に連結しているのが分かる。なのでここを書き換える。
(defun clmemo-get-title ()
  "Ask title of ChangeLog MEMO and return it.
Ask the subtitle if `clmemo-subtitle-char' is at the end of title."
  (let ((title (clmemo-completing-read "clmemo title: ")))
    (when (clmemo-subtitle-p title)
      (setq title (clmemo-split-title title))
      (let* ((sub   (clmemo-completing-read (format "subtitle for `%s': " title)))
	     (left  (car clmemo-subtitle-punctuation-char))
	     (right (cdr clmemo-subtitle-punctuation-char)))
	;; Recursive subtitle
	(while (clmemo-subtitle-p sub)
	  (setq title (concat title left (clmemo-split-title sub) right)
		sub (clmemo-completing-read (format "subtitle for `%s': " title))))
	(unless (equal sub "")
	  (setq title (concat title left sub right)))))
    title))
  • [カテゴリ]とタイトルの間にスペースが入るようにする
    • 忘れそうなので一応メモ
  • C-c C-w するときに、先頭の行末にある : を取り除く。
    • これも忘れそうだけどけっこう重要なことなのでメモ。ペーストしてからいちいち : を消すなんてめんどくさすぎだもんね。

できればやりたいこと

  • カテゴリの入力をタイトルよりも先にする
    • はてなで日記を書くときはいつもそうしてるので、統一されていた方が書きやすい。
  • カテゴリの追加入力の改善
    • カテゴリを入力するときは、カテゴリが必要な分だけ、カテゴリ[ という記述を繰り返す必要がある。でもこれ [ を入力するのがけっこうめんどくさい。[ を最後に入力するかわりに、スペースとかで代用できたらうれしい。ダイアリーとあんまり関係けども。


似たようなこと考えてる人っていないのかなぁ。
Emacsを日常的に使っている人は、
こういうことはパパッとできちゃうもんなんだろうか。
Emacsからダイアリーを更新するためのモードとして有名なhatena-modeは、
ダイアリーのプレビュー機能が使えなさそうなので僕は使ってない。
僕はよくプレビューで確認しながら日記を書くし、
それに何よりclmemoに色々メモすることが多いので、
clmemoからダイアリーに手軽に持っていける方がありがたいのだ。