all about blosxom
Table of Contents
よくあるような気がしないでもない質問に対する答えをまとめたページです。
「こんなプラグインありませんか?」といったような疑問に対する答えを探している人は、PluginForXxxも参照すると良いかもしれません。
「ぶろっさむ」です。元々はblossomという名称で開発されていたそうですが、作者のRaelさんがMac OS Xに傾倒したことから、osxという文字列を埋め込んだblosxomになったそうです。嘘かも。
はい、動きます。というのは半分くらい嘘です。たしかにblosxom自体はPerl 5(と標準でバンドルされているPerlモジュール)さえあれば動作させることは出来ますが、CGIとして動作させるためにはApache等のHTTPサーバー・ソフトウェアが必要です。ただ、多くの場合、レンタル・サーバーに設置するケースがほとんどだと思われるので、そういった意味ではレンタル・サーバーにPerl 5さえインストールされていれば問題なく動きます。
サーバー・ソフトウェアにはほとんど制限はないと思われます。IISやAn HTTPdなどでの動作実績もあります。
それだけはどうにも答え様が無いです。
サーバーの環境に依存します。場合によってはうまくいきますが、多くの場合はうまくいかないようです。設置した環境に合わせて、http://で始まるURLを指定してください。
日本語が問題無く利用できることは間違いありません。しかしながら、矛盾しているようですが、文字化けは起こります。この問題には二つのケースがあります。
一つ目は、content_type.flavourに適切なcharsetパラメータを指定していないことによる文字化けです。blosxomではHTTPヘッダの出力にCGIモジュールを利用しているのですが、CGIモジュールではcharsetパラメータに明示的に文字コードを指定しない場合、ISO-8859-1をセットしてしまいます。ので、UTF-8やEUC-JP等の日本語の文字コードでblosxomを利用する場合はcontent_type.flavourで文字コードを明示してやらねばなりません。具体的には、
text/html; charset=UTF-8
といった様に記述しなければなりません。
二つ目はblosxom.cgiやプラグインのファイル自体の文字コードに基づく文字化けです。blosxomでは内部で文字コードを揃えるといった処理は存在しないので、blosxom.cgiやプラグイン内で使われた日本語は、そのファイルの文字コードそのままで出力されます。つまり、blosxom.cgiやプラグインのファイル自体も出力に利用する文字コードと揃えてやらなければならないということです。
以上の二つのケースを頭に入れておけば、日本語が化けるということはまず起こりません。
blosxomでは$datadirに$file_extensionで指定した拡張子のファイルを作るだけです。つまり、多くの場合はローカルでエントリをテキスト・エディタで書き、FTPで$datadirにアップロードするということになります。
blosxomで日付けごとのページにアクセスするためには、
http://example.com/blog/blosxom.cgi/2005/04/17.html
といったようなURLにアクセスすればOKです。ゆえにstory.flavour等でPermalinkのスタイルをこれに準じた形にするためには、
<h3 id="$fn">$title</h3> $body <p><a href="$url/$yr/$mo_num/$da#$fn">Permalink</a></p>
といった様にしてやれば可能です。tDiary的なスタイルですね。
blosxomでは数字始まりのカテゴリを作成することは許容しておらず、必ずアルファベットで始めるという仕様になっています。その理由は、数字は年月日の指定に利用していることがあることにあります。URLの柔軟な指定が可能なこととのトレードオフとして考えてくれれば良いかと。
blosxomはエントリ・ファイルの更新時刻をエントリの日時とします。手作業でエントリを更新した場合、その更新時刻は当然変化してしまうので、こういった現象が起こります。つまり仕様です。
しかし、エントリの日時を保持するプラグインがいくつかあります。代表的なものはentries_indexですが、entries_cacheの方が安定かつ高機能だそうです。
blosxomはフレーバーを各カテゴリから読み込んでくれます。つまり、あるカテゴリだけ別のフレーバーを利用したい場合は、そのカテゴリに当たるディレクトリにstory.htmlなどのフレーバー・ファイルを作ってやるだけでOKです。
例えば、photoというカテゴリの場合にはエントリ・ファイル名と同じファイル名を持つJPEGファイルを他のディレクトリから読み込んで表示させてやりたいなどという場合は、$datadir/photo以下にstory.htmlを作成し、
<h3 id="$fn">$title</h3> <p><img src="/image/$fn.jpg" /></p> $body <p><a href="$url$path/$fn.html">Permalink</p>
といった様にしてやるだけです。
また、この機能は$datadir以下に作成した複数のカテゴリをそれぞれトップ・カテゴリと見せかけることも可能なので、複数のblogを一つのblosxomで構築することができるとも言えます。ただし、プラグインなどは共有になるので、完全に独立したblogになるわけではありません。
wikieditishでは、まだ存在しないエントリのファイル名を指定した場合は、新しいエントリの投稿になります。つまり、fooというカテゴリにbarというファイル名で新規エントリを作成したい場合は、
http://example.com/blog/blosxom.cgi/foo/bar.wikieditish
というURLにアクセスすることで空の投稿フォームが表示されるので、新規エントリを投稿することができるということです。
blosxom starter kitに同梱されている全てのファイルの文字コードはUTF-8で、改行コードはLFになっています。UTF-8を読み書きすることのできるエディタで開いてください。
オリジナルのblosxomの存在しないフレーバーを参照した場合、デフォルトに設定してあるフレーバーが読み込まれるという仕様を回避するためのダミー・ファイルです。つまり、正常な動作に必要なファイルです。
配布する側の都合的に、Shift_JIS版やEUC-JP版は予定していません。しかしながらShift_JIS(またはEUC-JP)で運用することも可能です。その場合は、全てのファイルの文字コードをShift_JIS(またはEUC-JP)に変換した上、UTF-8と書かれている部分を全てShift_JIS(またはEUC-JP)に書き換えてください。
サーバーの環境に依存するので、とても同梱のreadme.txt以上のことは言えません。トライ・アンド・エラーでがんばるしかないかもしれません。
単に「日本語も使っても大丈夫!」ということを教えたかっただけですので、config.cgiの@archives_monthnameを英語とか数字とかわかりやすいものに好みで設定してください。
個別に導入する方法はあることはあるのですが、トラブルの元になりますので、説明できません。基本的にはサーバーの管理者にインストールを頼んでください。
コメント投稿者の名前とURLまたはメール・アドレスを記憶する機能を利用する場合、クッキーを利用して記憶させるので必要になる設定です。設定はCGIモジュールの仕様に従ったものになります。詳しくはCGIモジュールのドキュメントを参照してください。
静的生成に関してはサポートしていません。静的生成する場合にはオリジナルのblosxomでどうにでもなると考えていることと、考慮すべき点が多すぎてとても手が回らないことが主な理由です。
blosxom本体の機能では不可能です。しかし、Apacheモジュールであるmod_rewriteを利用することで可能になります。具体的にはblosxom.cgiを置いたディレクトリに.htaccessを設置し、それに、
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ blosxom.cgi/$1 [L]
といった様に記述してやるだけです。ただ、mod_rewriteはわかりやすいとは言いがたいのと、設置環境によっては動作が異なることもあり、このままではうまくいかないこともあります。
wide系のIRCサーバー(See Also: サーバーリスト)で開かれている#blosxomチャンネルを覗いてみるといいかもしれません。
IRCの利用に関してはPreston Wiki - IRCなどを参考にご自分でお調べください。
Last-Modified: 2006-11-21T18:34:34+09:00