2005/02/14 Mon 23:52
長嶋享さんのpagingプラグインを試験導入、ひとまずページの一番下にナビゲーションバーを付けました。url()の返値がincluded:で始まるというXREAの問題を解決するため、url()が使われているすべての行の次の行に
$url =~ s/^included:/http:/;
を追加して対応、ひとまず問題なく動作しているようです。これに近い機能を実現するプラグインとしては、同じく長嶋さんのpaginate_simpleプラグインや、加須徹/castorさんのyoshitakaプラグイン、Jason Clarkさんのmoreentriesプラグインなどがあります。このうちmoreentriesは最初に試してみたんですが、ヘッダを生成できないというサーバエラーが出て、動作しませんでした。pagingはすんなり設置でき、かつ使いやすいので、しばらく使ってみたいと思います。
エントリーの個別ページでのナビゲーション用にpaginate_simpleも導入していく方向で。
追記:問題ありました。おそらくmod_rewriteなどを使ってURIからblosxom.cgiを消してる関係だと思いますが、カテゴリ毎のページでのナビゲーションリンクURIがおかしくなってます。でも今日は眠いのでまたいずれ。
追記(2/15 23:31):カテゴリ毎のページで出ていたこのサイト固有の不具合を修正しました。URIとpath_infoで二重にカテゴリ名が指定されてしまうことが問題だったので、
- my $url = url(-path_info => 1);
+ #my $url = url(-path_info => 1);
+ my $url = url(-path_info => 0);
または
- my $url = url(-path_info => 1, -query => 1);
+ #my $url = url(-path_info => 1, -query => 1);
+ my $url = url(-path_info => 0, -query => 1);
のように、path_infoを出力している部分を無効にしました。いまのところ問題なく動いているようです。
2005/02/14 Mon 22:55
昨日は、この記事のほかに以下の2つの記事を書いた。
-
ユンソナの生年月日の謎
カテゴリ:diary
タイムスタンプ:2005-02-14 02:35:34
-
板尾創路の怪演
カテゴリ:news
タイムスタンプ:2005-02-14 12:00:11
これを、色々なURIで開いてみる。
- http://cu39.s57.xrea.com/
- http://cu39.s57.xrea.com/diary/
- http://cu39.s57.xrea.com/news/
- http://cu39.s57.xrea.com/2005/02/14/
- http://cu39.s57.xrea.com/diary/2005/02/14/
- http://cu39.s57.xrea.com/news/2005/02/14/
この2つは、まず1を開くと、いまのところ両方の記事が表示される。トップでは最新の記事5件が表示されるよう設定しているので、件数は問題なし。ただし、前者の記事はタイムスタンプが14日なのに13日の日付で表示されている。えーっと、これデフォルトでこういう動きなんだっけ? diaryプラグインみたいなもので追加しなければいけなかったはずだが……indexesとかentries_indexはもう使ってないし。
2を開くと、2つのうちでは前者だけが表示される。3だと後者だけ。これも問題なし。しかし、4を開くと、後者だけしか表示されない。これもおかしい。
……と思いつつ、プラグインを一度すべて無効にしてから1つずつ戻していったら、想定通りの動きをするようになってくれた。ん~? 以前使っていた何かのプラグインの名残があったのかもしれないけど、でもstate/の中には特に関係しそうなファイルはなかったし……まぁ結果オーライとしておこう。zen bloggingはたまに不思議だ。
2004/05/18 Tue 23:59
僭越ながら、blosxom 2.0用プラグインをhackしてみました。携帯電話・PHSからの閲覧をUserAgentで判別し、設定したフレーバー(デフォルトは*.mobile)で表示します。
Download: mobrowser 2004-05-18
blosxom.com/documentation/developpers/plugin.txtにあるものを少しいじっただけですが、tDiaryにある同機能をblosxomにも付けたかったので。
いまのところ対応しているUserAgentは UP.Browser(au) DoCoMo(ドコモ) J-PHONE(vodafone含む) H"/feel H" L-mode ですが、未対応のブラウザでもUserAgentがわかれば@mobile_uaに文字列を追加して拡張できます。記事表示件数も変えられるといいと思うんですが、模索中。pluginから$blosxom::num_entriesを変えるにはどうしたらいいんだろう?
これで一応モブログできないこともない環境になったなぁ。今日はさらに、Pomin Wuさん(ページ名が素敵)のentries_templateを導入して通常表示用の拡張子をhtmlに一本化。好plugin。
2004/05/14 Fri 08:40
blosxomサイト構築にあたって参考にさせていただいたページ。順不同。
少なくとも以上のページがなければblosxomを選ばなかっただろうと思います。感謝。
2004/05/10 Mon 23:10
wikieditish.cgi に変数や詳しいエラーメッセージを表示させながらサーバ上で色々試してたら、wikieditish プラグインおよび wikieditish.cgi がうまく動かなかった原因が判明。XREA では path_info が2つ重なってスクリプトに渡されるようです(/hoge/foo → /hoge/foo/hoge/foo となる。何のメリットが?)。なのでここの対策を施しつつ、~.cgi のディレクトリ設定を絶対から相対パスに直したら、どちらともあっさり動作。この問題、XREA で path_info を利用する機会があるユーザにとっては常識化してたっぽい。以下、blosxom.cgi 105行目付近の対策例。
# before :
my @path_info = split m{/}, path_info() || param('path');
shift @path_info;
# after :
my $tmp_path_info = path_info() || param('path');
$tmp_path_info =~ s/(.+)\1/$1/;
my @path_info = split m{/}, $tmp_path_info;
shift @path_info;
とにかく2番目の問題も解決。しかも両選択肢が同じ対策で一挙に使えるようになったので、どちらにするか迷うところ。でも~.cgi にはアップロード機能があるし、独立動作なので改造もしやすそう。タイムスタンプ修正機能を組み込めたらこっちを使おうかな。来週あたりに実装を試みてみたい。