mailing listをhtml化して保存・公開する方法として、これまで
Markus Stumpfさんのmlist2htmlを使用してきました。
この shell script + sed + awkでできたsoftは、mailをhtml化し、
自動的に月毎に自動的に分割してくれるというsimpleながら便利なものでした。
が、しかし、fileのlockがないため、 trafficが多いmailing
listの場合、
ほぼ同時刻に複数のmailが到着して、
html化がうまく行かないということもありました。
そこで、MHonArcを試してみました。
MHonArcはThreadによる表示や、mail内のURLを利用できるなど利点もあるのですが、
ということで、perlの勉強も兼ねてmlist2htmlをperlで書き直して改造してみました。
このmlist2htmlplは、Markus Stumpfさんのmlist2htmlを元に、
いくつか変更を加えています。
このhyperarchiveでは、mailのhtml化にhypermailというC programを使用しています。
しかし、このhypermailは多少buggyで安定してません。
「ならばMHonArcをhypermailの代りにmailのhtml化に使えばいいじゃん(甲州弁)」
として、作ったのが、現在のmlist2htmlです。
MHonArcにも"MULTIPG"という機能で分割ができるのですが、
使い勝手がよくないので、月別に分割するのは、mlist2htmlplの方式で行い、
mailをhtml化するところでMHonArcを使用してみました。
$ cat single_mail | nkf -me | mlist2html dir_name mlist_nameとして使用します。
mailを流し込む場合は、/etc/aliasesに
mlist2html:"| /usr/bin/nkf -me | /usr/local/bin/mlist2html /usr/local/www/htdocs/ml mjjp"などとしてmlist2htmlにmailを出すと、html化されます。
dir_name/mlist_nameというdirectoryの中に
199702, 199703, 199704と月別に分割されhtml化されたmail archiveができます。
# chmod 755 dir_name/mlist_name # chown alias.majordom dir_name/mlist_nameとしておきます。
dir_name/mlist_name/index.htmlは Main Indexで各月へのlinkをまとめます。
月別のarchiveが増えるとindex.htmlは自動的に更新されますが、このときに
dir_name/mlist_name/.header.html dir_name/mlist_name/.footer.htmlがあると、index.htmlに取り込まれます。
実例は mklinux-jp mailing listのarchiveをご覧ください。
虫がたくさんいると思いますので、発見された方は ご連絡ください。