Linuxユーザの立場から、役立つ情報や困ったときの解決方法を分かりやすく、かつ簡潔に記事にまとめています。主に、Ubuntu 8.04(→9.04)やCentOS 5.2(→5.3)で確認したことですが、他のディストリビューションでも応用できると思います。内容は(1)設定ファイルの書き方(2)役立つソフトウェア紹介やインストール方法(3)便利なコマンドの使い方や活用例(4)困ったときの解決方法です。このページの末尾にキーワード別で記事を分類してあります。また、真上の「ブログ検索」フォームからブログ内の記事を検索できます。

2009年9月14日月曜日

今更ながらchangelogメモ このエントリーを含むはてなブックマーク

本記事では、普段のメモを効率的に記録、管理、活用するための方法で、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 コメント:

キーワード

キーワード別に記事を分類してあります。クリックすると各キーワードに該当する記事たちが表示されます。

筆者について

自分の写真
趣味はコンピュータ、音楽、写真などです。