Web日記作成支援ツール
mkdiary.rb
とその仲間達


ここにたどり着いたちみは誰かの日記ページからクリックして来たに違いな い。そこのページで日付ごとの一覧ページがあったじゃろう。それを 自動生成しているのがここで紹介する mkdiary.rb である。


日記用ツール - mkdiary.rb + webdiary.el

日記は、URL見れば分かるように、「年/月/日」というディレクトリ構成になっ ていて、「日/」ディレクトリの下に日記.htmlを突っ込んでいき、「年/」のディ レクトリにその年のタイトル一覧が出るようになっている。これを一括してやる ためのスクリプトがmkdiary.rbである。あらかじめ 「年/月/日」 と いうディレクトリにその日の日記ファイルが出来ているという状態のときに、 「年/」のディレクトリで

% mkdiary.rb .
ってやると、その年の一覧ができるようになっている。

では最初に当日の日記を書くときの初期設定はどうしたら良いかというと、 mkdiary.rbに日付を与えて、

% ./mkdiary.rb -date 1999/08/30

とすれば良い。しかし、いちいちシェルに下りて日付指定を打つのが面倒に なったので、webdiary.elという Emacs-LispプログラムによりEmacsの中から勝手に mkdiary.rb -date ほげ を呼べるようになっている。手順をまとめると次のようになる。

  1. ~/public_html/diary なんてのを作る。
  2. そこに mkdiary.tar.gz を展開
  3. 同じディレクトリにHTMLの先頭部分となるheader、末尾部分となるfooter というファイルがあるので自分用に適当に修正する。
  4. ./mkdiary.rb -date 1999/08/30
    と起動してみて、~/public_html/diary/1999/08/30 のしたに「中身を書 くだけ日記」が出来ているか確認する。
  5. さらに ./mkdiary.rb ./1999 とやって、1999/index.html がうまく作れ ているか確認する。
  6. webdiary.elをEmacsのload-pathの通っているディレクトリにコピーし、 ~/.emacs に
    (autoload 'webdiary "webdiary" "Keep web diary!" t)
    を追加する。
  7. M-x webdiary で日付をいれて、その日のテンプレートがちゃんと生成さ れるかどうか確認。

以後はweb日記を付けたくなったら、M-x webdiary のあと日付を入力すると その日用のディレクトリが自動的に掘られ、日記用テンプレートがバッファに現 れるので、そこに文章を書いていく。そのファイルをセーブするとバックグラウ ンドで mkdiary.rb が呼ばれ、「年/」のディレクトリのindex.htmlが更新され る。

おっと旅行中も日記をつけたくなっちまったぜー。てなときにmail経由で サーバ上の日記ディレクトリに登録できるようにした(暇だねぇ)。ここに書くと 長くなるかな。てことで詳しいマニュアル


ツーレポ(写真日記)を書くとき

rjpgというスクリプトとimg2wwwというスクリプトを組み合わせて サムネイル画像の埋め込まれたHTMLを生成している。全体の手順は以下の通り。

写真を撮る

デジカメでパシャリ。当然メモリカード上にjpgで存在しているので 話は簡単。

ツーリングレポートとか日記を書くディレクトリを掘ってそこに画像ポン

Web用なら400x300くらいがちょうど良いのでそのサイズにして ディレクトリに置く。例えばこんな感じ。

% mkdir hokkaido1999
% cd hokkaido1999
% rjpg -x 400 /dos/d/dcimages/*.jpg

きょーびの回線事情なら 400x300 より大きくてもいいかもしれん。 たとえば800x600でいいなら rjpg -x 800 〜〜 て感じ。

これでメモリカードにフルサイズで存在するjpgファイルが全て 400x300とかにリサイズされてコピーされる。ついでに、jpgのコメントエリア に写真のタイムスタンプを埋め込むので、以下で説明するimg2wwwでHTML ファイルのタイトルに日付を埋め込むことが可能になる。ちなみに rjpg利用にはnetpbm jpegライブラリが必要。

サムネイルと index.html を吐き出す

400x300にした段階で要らない写真を消しとく。で、Webページに組み 込む写真のサムネイルを作り、そいつを含んだhtmlを一気に吐き出す。 ツーレポなら、

% img2www *.jpg
日記なら、
% img2www -T *.jpg
img2wwwってのが一気にサムネイルとhtmlを吐 き出すシェルスクリプト。これも要netpbm。

コメントを書く

既に写真を埋め込んだindex.htmlが出来上がってるので、あとは 適当に文章を書いてく。

でおちまい。

てな流れで書いていたら、ふなが img2wwwをmkdiaryと連係させて欲しいというので、 img2www.elを作った。これは*.jpgのたくさんあるディレクトリで index.htmlなどを編集しているときに、M-x img2www とすると、 バックグラウンドで img2www を呼び出して、それが吐き出したHTML文を ポイント位置に挿入してくれる。領域を指定してから、 C-u M-x img2www すると、領域部分をimg2wwwの出力に置換してくれる。 インストールは、~/.emacs に

(autoload 'img2www "img2www" "Image indexer interface" t)

を追加する。

わかるかな、分からなかったら質問下さい。

ついでに、大量写真をブラウズするときに便利な -br オプションも あるが、それについては デモページを。

あーもう、なんでわしはすぐ、こういうのを書くことより、 書く環境を整えて、その道具をいじるほうに夢中になってしまうのだろうか。 まいいや。

気まぐれ記
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]