Evernote からChangeLog + chalow に移行した!

今までEvernote を使って作業ログを残していたのですが、chalow の方がメリットがあったので、chalow を使ってみました!

  • Evernote のいいところ
    • シンクロできるのでどこでも使える
    • クロスOS なクライアントソフトがある
    • チェックボックスを挿入できて、Todo 管理に便利
  • Evernote に足りないところ
    • 記法とかないので、上手く書かないと結構見にくい
    • 社内の人だけ公開とかしにくい(LAN上のサーバに置いて誰でも見れるようにしたい)
    • Emacs とか使い慣れたエディタ使いたい


そこでchalow ですよ丶(´▽`)ノ
chalow とはChangeLog 形式で書かれたファイルをHTML に変換してくれるプログラム。作者のサイトでも使われています。Evernote と比べた結果はこんな感じです。


ktkr!早速インストールして試してみます!環境は以下の通り。

chalow をインストール

chalow - CHAngeLog On the WebのREADME を参考にインストール。

  • 1. 依存するcpan モジュールのインストール
$ sudo cpan -i Jcode
$ sudo cpan -i HTML::Template

インストール中に色々聞かれるけど、ほぼリターン連打。「Parameters for the 'make install' command? []」と聞かれた時だけ、「UNINST=1」と入力する。これは、同じ名前のモジュールがインストールされていた場合に、古い方を消してくれるオプション。

  • 2. chalow をインストール
$ cd ~/src
$ wget http://chalow.org/src/chalow-1.0.tar.gz
$ tar -xvzf chalow-1.0.tar.gz

chalow を試す

README に使用例が書いてあるのでやってみます。

$ cd ~/src/chalow-1.0
$ ./chalow -o sample -c cl.conf ChangeLog
reading "ChangeLog"
done.
converting
done.
output to "sample/cl.rdf"
output to "sample/cl.itemlist"
output to "sample/cl.js"
output to "sample/index.html"
output to "sample/2007-10.html"
output to "sample/2005-08.html"
.....

コマンドを実行すると、「ChangeLog」の内容が「chalow-1.0/samples」以下にhtml としてわさわさ生成されます。試しに、「sample/index.html」を見てみると次のような感じになっています。


ChangeLog があっという間にBlog 状態に変換されました。RSS や検索もついていてとってもいい感じですね。(実際に検索を使用するには、「chalow-1.0/clserch.cgi」を使えるようにapache の設定をする必要があります)

chalow 環境を設定する

自分で使うように環境を設定します。エディタにはemacs 、サーバにはapache を使います。

このディレクトリには、chalow コマンド一式もコピーします。

$ mkdir -p ~/var/log/changelog
$ cp (chalow|ChangeLogReader.pm) ~/var/log/changelog/
$ cp conf/utf8/cl.conf ~/var/log/changelog/
  • 2. chalow を公開する場所を作る

Mac なので、「~/Sites/chalow」で良いと思います。

$ mkdir ~/Sites/chalow
  • 3. chmemo.el をインストール

Emacs で ChangeLog メモしているなら clmemo.el 使うべし - ひげぽん OSとか作っちゃうかMona-で紹介されていたEmacsChangeLog を書く際に便利なelisp です。C-c C-y とかめちゃ便利。

$ wget http://isweb22.infoseek.co.jp/computer/pop-club/emacs/clmemo-1.0rc3.tar.gz
$ tar -xvzf clmemo-1.0rc3.tar.gz  
$ cd clmemo-1.0rc3


僕の環境では、emacs と打つとCarbonEmacs が起動するようalias を定義していたので、Makefile を以下のように修正。

--- Makefile.bak        2009-01-15 00:08:19.000000000 +0900
+++ Makefile    2009-01-15 00:08:28.000000000 +0900
@@ -21,7 +21,7 @@
 RM = rm -f
 TAR = tar czvf
 MKDIR = mkdir
-EMACS = emacs
+EMACS = /usr/bin/emacs
 INSTALL = install -m 644
 
 RD2 = rd2


インストール。

$ make
$ sudo make install


インストールしたら、生成されたファイルをパスの通った場所に起き、さらに「.emacs.el」に以下を追加。先ほど設置したChangeLog の場所を教えてあげます。

$ cp /usr/local/share/emacs/site-lisp/clmemo.elc ~/.emacs.d 
;; elisp
(setq load-path
  (append load-path
    '("~/.emacs.d/")))

;; for changelog
;; http://pop-club.hp.infoseek.co.jp/emacs/clmemo.html
(autoload 'clmemo "clmemo" "ChangeLog memo mode." t)
(setq clmemo-file-name "~/var/log/changelog/ChangeLog")
(global-set-key "\C-xM" 'clmemo)

試しに書いてみる

文字コードUTF-8 で書いて下さい。

  • 1. emacs を起動
    • 「C-x M」と打つ
    • clmemo title とでてくるので、「chalow始めたよ」と入力。
    • 新しいウィンドウが開くので、以下のように入力してみる。
2009-01-15  luke  <luke@macbook>

	* chalow始めたよ: いい感じや〜
	- ChangeLog 書いたら以下のようにして公開
	>>
	$ cd ~/var/log/changelog
	$ ./chalow -o ~/Sites/chalow -c cl.conf -8 ChangeLog
	reading "ChangeLog"
	done.
	converting
	done.
	output to "/Users/luke/Sites/chalow/cl.rdf"
	output to "/Users/luke/Sites/chalow/cl.itemlist"
	output to "/Users/luke/Sites/chalow/cl.js"
	output to "/Users/luke/Sites/chalow/index.html"
	output to "/Users/luke/Sites/chalow/2009-01.html"
	output to "/Users/luke/Sites/chalow/2009-01-15.html"
	done.
	$ cp ~/src/chalow-1.0/sample/diary.css ~/Sites/chalow
	<<
  • 2. HTML 生成
$ cd ~/var/log/changelog
$ ./chalow -o ~/Sites/chalow -c cl.conf -8 ChangeLog
  • 3. CSS をコピー
$ cp ~/src/chalow-1.0/sample/diary.css ~/Sites/chalow


これで、「Web 共有をON(というかapache 起動)」にし、「http://localhost/~[ユーザ名]/chalow」にアクセスすると、次の様な画面ができあがっています。


毎回ChangeLog ファイルのディレクトリに行ってコマンドをうつのは面倒なので、Peace Pipe: Mac 環境構築 その8 - chalow (というか perl モジュール) のインストールを参考に簡単なシェルスクリプトを書きます。

#!/bin/sh

logdir=$HOME/var/log/changelog
docdir=$HOME/Sites/chalow

cd $logdir
./chalow -o $docdir -c cl.conf ChangeLog -8 $*


これをパスの通ったディレクトリ(この例では~/bin)に設置すれば、どこからでもchalow とすれば公開することができます。
いやーchalow 楽しいですね!書きやすいし、なによりシンプル。これは愛用ツールになる予感です。yto++

参考