本記事では、普段のメモを効率的に記録、管理、活用するための方法で、changelog+chalowを使う方法をまとめる。新しいネタではないが、新しい環境でセットアップすることがあったので、そのときに調べたことなどをまとめる。
ChangeLogの概要
ソフトウェア開発で変更履歴(changelog)を1つのファイルにまとめて書いておくことがある。emacsでは、changelogを簡単に書くための機能が備わっている。Ctrl-x4aでchangelogのバッファがオープンされ、すぐに新規事項を記入できるようになっている。
デフォルトでは、ホームディレクトリに下にChangeLogというファイルが作成され、追加したメモはそこに蓄えられていく。1つのファイルに、日記やTodoリスト、覚書などすべてのメモが蓄えられるので、管理が楽である。普段からemacsを使う人には、思いついた側から即座にメモることができる。メモした内容を検索するための機能もemacsには備わっている。詳細は、横着プログラミング第1回参照。
Chalowについて
chalowは、changelogをhtmlに変換するためのスクリプトである。aptでインストールできる。apt-cacheでパッケージを調べてみると以下の通り。
# apt-cache search chalow chalow - weblog tool that converts ChangeLog to HTML
インストールするには、お決まりのapt-getで次の通り。
# apt-get install chalow
chalowの使い方は、helpによると次の通り。詳しくは、chalow on the webを参照。
$ chalow usage: chalow [options][file]... -n, --top-n=NUM write NUM days to "index.html" -o, --output-dir=DIR directory to output -c, --configure-file=FILE configure file -s, --stop-date=DATE date to stop processing -u, --update-by-size overwrite only if sizes are different -C, --css=FILE css file -q, --quiet quiet mode -8, --utf8 utf8 mode -d, --debug debug mode
基本的には、変換するChangeLogの場所を指定して、それをhtmlに変換したものを出力するディレクトリ、および、変換時に使用する設定ファイルを指定している。以下に、例を示す。
$chalow -o ~/html -c ~/etc/cl.conf ~/ChangeLog
ちなみに、cl.confは以下の場所にある(と思う)サンプル設定ファイルcl.conf.gzを解凍し、それを自分用にカスタマイズして使っている。
# cd /usr/share/doc/chalow/examples # ls cl-en.conf.gz cl.conf.gz conf # cp cl.conf.gz ~/ # cd # gunzip cl.conf.gz <--- サンプルのcl.confが得られる。
基本的にカスタマイズした箇所は、README(ChangeLog on the web参照)に書かれていた以下の箇所ぐらい。
※7 tDiary のテーマ (CSS ファイル) をそのまま使うために必要。 tDiary のテーマを使うには以下のような設定を行うと良い。 - $item_header_style = 1 or 2 (イメージアンカーを使うとき) - $use_h3_for_item_header = 1 - $css_file = "tDiaryのテーマのCSSファイル.css" - $item_template で h3 で header を囲む。
tDiaryのテーマが使えるらしいので、テーマをtDiary.orgからダウンロードする。
$ wget http://www.tdiary.org/download/tdiary-theme-2.2.2.tar.gz $ tar zxvf tdiary-theme-2.2.2.tar.gz $ cd tdiary-theme-2.2.2 $ ls 3minutes dice hatena-white nahanaha savanna 3pink digital_gadgets hatena_cinnamon nande-ya-nen scarlet 90 dog hatena_japanese narrow seam-line README dot hatena_leaf natrium sepia alfa dot-lime hatena_rainyseason natural_gray shirakaba などなど
大量のテーマが入っているので、自分の好きなものを選んで、そのフォルダ毎webサーバにアップロードする。
そして、先ほどのcl.confに書き込む。例えば、webサーバ上のcssディレクトリにkaeruディレクトリを置いた場合は次のようにする。
# ---------------------- # CSS ファイル #$css_file = "diary.css"; $css_file = "css/kaeru/kaeru.css"; <---相対URLで指定しているが、ここは各自の環境に合わせて適宜変更。
後は、chalowでhtmlに変換すれば良い。上の例では、~/html以下にファイル一式が生成されるので、これら一式をWebサーバにアップする。
以下のようなスクリプトを書いておくと、次からは楽で良い。
#!/bin/sh chalog=${HOME}/ChangeLog <--- 適宜変更 conf_dir=${HOME}/etc/cl.conf <--- 適宜変更 out_dir=${HOME}/html <--- 適宜変更 chalow -o $out_dir -c $conf_dir $chalog echo "$chalog ---> $outdir/index.html... fin"
私は、ssh接続の可能なwebサーバを利用しているので、rsync (over ssh)を使って~/htmlディレクトリ以下をwebサーバ上のディレクトリと同期させるスクリプトも使って、コマンド1つで簡単にアップロードも済ませている。プライベートな内容も含まれるので、htaccessなどによりアクセス制御をしている。
0 コメント:
コメントを投稿