ChangeLog メモの基本は箇条書き (なのかな?)。短文で思ったこと、考えた事をメモっておけるのがいい所。長文を書くのには向いていない。でも、時々長い文章を入れたい時があるのだよね。例えば、なくなってしまいそうなウェブページのバックアップを取りたいとか、プログラムのサンプル・コードとか。
そこで強引に長いテキストを ChangeLog メモに含めればいいかというと、問題は簡単じゃない。困るのは、メモが冗長になること。言い換えれば、不必要なメモが混入すること。というか、ウェブをバックアップしたら、それは「全文」であってメモじゃないし。だから、長いテキストは別ファイルにすべきだと思う。「ポケット一つの原則」に反しちゃうけど、仕方がない。そして、 ChangeLog メモには、そのテキストの要約 (サマリー?, メモ?) とリンクを張ればいい。
howm
howm は、「一人お手軽 Wiki もどき」の略。 ChangeLog メモ が一つのファイルにたくさんのメモを書くのに対して、 howm は一つのディレクトリーにたくさんのファイルを書く。この形式を ChangeLog メモで使う仕組み (quasi-howm) を作った。
quasi-howm の使い方
ChangeLog メモで C-c, ( M-x quasi-howm) すると、次のようなタグが挿入され
(howm: 20050613-214149.howm)
新しいバッファーが開く。テンプレートは howm と同じ。
= タイトル [2005-06-13 21:41] 本文...
一行目にタイトルを書いて、以下本文を書く形。書き終えたら、保存。
ChangeLog メモから、 howm なファイルにアクセスするには、上のタグの上にポインターを持っていって C-c RET。
たったこれだけ。簡単でしょ。
quasi-howm のインストール
まず、以下のコードを .emacs に入れる。
;; ;; quasi-howm ;; (defun quasi-howm () (interactive) (let ((file (format "%s%s.howm" quasi-howm-dir (format-time-string quasi-howm-file-name-format)))) (unless (file-exists-p (file-name-directory file)) (make-directory (file-name-directory file) t)) (when (equal (buffer-file-name) (expand-file-name clmemo-file-name)) (unless (save-excursion (backward-char 1) (looking-at "^\t")) (or (looking-at "^") (insert "\n")) (insert "\t")) (insert (format "(howm: %s)" (file-name-nondirectory file)))) (find-file file)) (insert "= ") (save-excursion (insert "\n" (format-time-string "[%Y-%m-%d %H:%M]\n")))) (defun clmemo-tag-howm-open-file () (interactive) (let ((file (buffer-substring-no-properties (progn (beginning-of-line) (search-forward "(howm: ")) (1- (search-forward ")"))))) (setq file (concat (substring file 0 4) "-" (substring file 4 6) "/" file)) (find-file (concat quasi-howm-dir file)))) (add-hook 'clmemo-mode-hook '(lambda () (define-key clmemo-mode-map "\C-c," 'quasi-howm))) (setq clmemo-tag-list (cons '("howm" clmemo-tag-howm-open-file) clmemo-tag-list))
それから、quasi-howm の設定も .emacs に追加。
(defvar quasi-howm-dir "~/personal/memo/howm/") (defvar quasi-howm-file-name-format "%Y-%m/%Y%m%d-%H%M%S")
quasi-howm-dir 以下に quasi-howm したファイルが保存される。 quasi-howm-file-name-format はファイル名のフォーマット。上の例だと 2005-06/ というディレクトリーの下に 20050613-214149.howm というファイル名ができる。 %Y とかは、関数 format-time-string の説明を参照のこと。
No comments:
Post a Comment