2006/04/02 Sun 23:27
kyoさんのentry_titleとdate_titleプラグインを参考にして、カテゴリーもtitle要素に入れられるプラグインを書いてみました。ベターな解決がすでに存在するかもしれませんが、一応公開(kyoさんが作ってないのは、わざわざ作るまでもない方法があるから?)。
ファイル名をcategory_titleとしてpluginsディレクトリへ入れて、head.flavourの中に$category_titleを追加してください。$individual_flagを1にすると、個別エントリーを表示する際にもカテゴリーを表示することができます。
DOWNLOAD
追記(4/3):ああ、categoriesで$categories::titleが使えるじゃんorz というわけでまったく意味がありませんでしたとさ。でも個別エントリー表示のときタイトルにカテゴリを入れるかどうかの選択ができる点だけは意味があるかな。
2006/04/02 Sun 18:15
コメント/トラックバック(つまりwriteback)スパム対策をさらっと探してみたら、すでに同じ悩みを抱えていたblosxomerたちが対策を考案されていて、前回紹介したCAPTCHAプラグインのほかにも複数の選択肢があった。
まとめとしてとても参考になったのは以下の2エントリー。
で、上の選択肢の中ではcolor99さんのspam_blockerが使いやすく、かつ求める機能も十分満たされているようだったので、さっそく設置。特に難なく動いてくれているようで、素晴らしい。このまましばらく様子を見てみようと思う。
同時にhail2u.net/all about blosxomのkyoさんの手になるentry_titleとdate_titleを設置(date_titleはちょっといじった)。非常に快適。
しかし、クリエイティブであろうとしなければ、ストレスを抱えずに生きていくコストは小さいなー。まぁ僕が楽をするためには誰かがクリエイティブでいてくれないといけないし、クリエイティブであれという圧力は常にあるわけだけど、それはすなわち苦しく生きていけという指示にもなってしまう。んでそういうのが「ストレスのある人生には張りがある」というようなストレス肯定論へとつながっていくのかしら。まぁそこにいくばくかの真理があると思わなくもないけど、楽に生きたいと思って実際にそうしてしまう人の気持ちもよくわかる。
ともあれ、hackerのみなさま、とりわけcolor99さんとkyoさんに感謝。
2005/08/06 Sat 22:26
Blosxom のメーリングリストで何人かの人が、Blosxom 3 の開発が一向に進んでいないことを愚痴っていたら、Rael からの投稿が。
Howdy,
I'm currently considering (and would appreciate hearing from
interested parties) handing over Blosxom (with site, documentation,
kit, and kaboodle) to a group for it's future tender loving care.
Rael
やあ
僕はいま Blosxom を(サイトも、ドキュメントも、キットも、何もかも)グループに譲り渡すことを考えている(もし興味を持っている連中から声が聞こえてきたら感謝するよ)。将来の、優しく愛に満ちたケアのためにね。
具体的には「Blosxom 3 が派生コードを認めないライセンスで公開されている点を変更してほしい」という要望に応えるかたちで出てきているので、近いうちに派生コードを許可するライセンスに変更されるということなのかな? でも "a group" という表現を重視するなら一つのグループが管理を引き継ぐということになるんでしょうか。
Blosxom 3 が再び動き出すのはうれしいけど、派生が乱立してしまうのもちょっと困るので、管理は一元化してほしいところ。
2005/04/05 Tue 12:54
コメント/トラックバック処理用に使っているRael作のwritebackプラグインが、コメント/トラックバックのタイムスタンプを付けてくれないのが不満だったんですが、付けてみようとしたらあっさり付いてしまったので報告を。すでに他のよさげなプラグインがあるのかもしれないけど。
以下、plugins/writebackの差分です。行頭に - が付いてる行は削除行、+ が付いてる行は追加行です。まずは138行目付近から。
if ( $fh->open(">> $writeback_dir$path/$fn.$file_extension") ) {
foreach ( @fields ) {
my $tmp = param($_);
$tmp =~ s/<.*?>//mg; # a gross way to prevent tomfoolery, to be redone
$tmp =~ s/\r?\n\r?/\r/mg;
my $p = jcode($tmp)->h2z->$blosxom::charcode; # Japanesize
print $fh "$_: $p\n";
}
+ print $fh 'time: '. time. "\n"; # cu39 add [timestamp].
print $fh "-----\n";
$fh->close();
次は180行目付近。
if ( $fh->open("$writeback_dir$path/$filename.$file_extension") ) {
foreach my $line (<$fh>) {
$line =~ /^(.+?):\s*(.*)$/ and $param{$1} = $2;
# cu39 add [timestamp] begin.
if (defined $param{time}) {
@tmp = localtime($param{'time'});
@wday = ('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun');
$tmp[4]++; $tmp[5]+=1900;
$param{date} = $tmp[5].'/'.$tmp[4].'/'.$tmp[3].' '.$wday[$tmp[6]].' '.$tmp[2].':'.$tmp[1].':'.$tmp[0];
} else {
$param{date} = 'n/a';
}
# cu39 add [timestamp] end.
if ( $line =~ /^-----$/ ) {
- my $writeback = &$blosxom::template($path,'writeback',$blosxom::flavour) || '<p><b>Name/Blog:</b> $writeback::name$writeback::blog_name<br /><b>URL:</b> $writeback::url<br /><b>Title:</b> $writeback::title<br /><b>Comment/Excerpt:</b> $writeback::comment$writeback::excerpt</p>';
+ # cu39 del [timestamp] begin.
+ # my $writeback = &$blosxom::template($path,'writeback',$blosxom::flavour) || '<p><b>Name/Blog:</b> $writeback::name$writeback::blog_name<br /><b>URL:</b> $writeback::url<br /><b>Title:</b> $writeback::title<br /><b>Comment/Excerpt:</b> $writeback::comment$writeback::excerpt</p>';
+ # cu39 del [timestamp] end.
+ # cu39 add [timestamp] begin.
+ my $writeback = &$blosxom::template($path,'writeback',$blosxom::flavour) || '<p><b>Name/Blog:</b> $writeback::name$writeback::blog_name<br /><b>URL:</b> $writeback::url<br /><b>Date:</b> $writeback::date<br /><b>Title:</b> $writeback::title<br /><b>Comment/Excerpt:</b> $writeback::comment$writeback::excerpt</p>';
+ # cu39 add [timestamp] end.
$writeback =~ s/\$writeback::(\w+)/$param{$1}/ge;
$writebacks .= $writeback;
$count++;
}
}
}
writebackの差分は以上です。この差分を導入した後、writeback.htmlなどのフレーバーに$writeback::dateと記入すると「yyyy/mm/dd wday hh:mm:ss」という形式のタイムスタンプ文字列に変換されます。また、この差分を導入する以前に記録されたコメント/トラックバックについては「n/a」の文字列が入ります。これらの文字列の内容やフォーマットを変更したい場合は該当部分をいじってください(ブロッサマー式の説明)。
追記:うーん、IEとFirefoxでpreのword-breakが効かない……おかしいなぁ。このままでは他のエントリがやたら見づらいので、近々何らかの対応をします。NetscapeとOperaでは畳まれてる模様。
追記:IEやFirefoxだとボックス幅をピクセル指定等の固定幅にするとpreのword-breakが効くらしいことが判明。比率指定では効かないのか。固定幅ねぇ……抵抗あるなぁ。ひとまず固定幅にしておきますが、なんとか別な方法を模索したいところ。
2005/02/28 Mon 01:41
RSSの出力がぜんぜんSite Summaryになっていなかったのを反省し、改善。長嶋さん(hail2u.net)のexcerptプラグインを入れつつ、B級器用貧乏のRSS出力を参考にしてrss10プラグインと*.rssフレーバーをいじりました。概要部分(<description>~</description>)は最初の一段落(<p>~</p>)だけじゃなくて、設定可能なn文字を切り取りたいところだけど、ちょっとややこしい作業が必要そうだったので保留。
僕は使い慣れているのでRaelのrss10を選んでいますが、yu-jiさんのRSS 1.0 (RDF Site Summary) pluginという選択肢もある模様。