iso tank - blosxom - plugins 2005年 11月

foreshortenedプラグイン改造

わたくし的メモも兼ねて、、

以前にも書いたとおりそしてこのサイトの最下部にもありますとおり、このサイトを構成するプログラムは"blosxom"なのですが、 このプログラム自体は必要最低限の機能しか持ち合わせていないため、他の機能は小さなプログラム群である「プラグイン」で補うか、またはblosxom本体を直接いじるかのどちらかになります、大抵の場合はプラグインで解決します

で、

上記プラグインの中に、記事の要約のようなものを生成するforeshortenedプラグイン というものがありまして、サイトのトップにある記事のタイトル以下の 本文の要約は、このプラグインによって生成されていたりします、

このforeshortenedプラグイン、本来のプログラムは非常に単純なもので、本文のデータからタグ要素を全て取り除いて、一番最初にあらわれるピリオドまたは「!」や「?」等、文章の末端となる文字以降をすべて消す、という 割と簡単なPerlの基本的な文字列操作だけで作られていたりします、

が、まず日本語にあわせて句点(。)で切るようにしなければならないという問題がひとつ、それとそもそもわたくしの文章は句点めったに使わないという問題がひとつ、、、

さてどうしましょうか、、、読点(、)で切るようにしたらすげえわけわかんないくらい短い要約になっちゃったし、、、

と、いうわけで、一個目の</p>タグ、つまり段落の終わりで切るという手段に打って出ることにしました、もはやこの時点でまったく別物のプログラムとなってオリマス(∵) さらには要約を生成するにあたって別にHTMLタグ消さなくてもいいんじゃないかなと思い、タグは特に消さないようにプログラムを訂正、そして<img>などの終了タグが存在しないタグは、rssを生成する際xhtmlなカンジになるよう タグの末尾を" />"と置き換える別途コードを追加したりもする、もはや原型を(∵)トドメテオリマセン!

foreshortenedプラグインの作者さんには自分の都合の良いように改変しまくってしまったことを反省し頭を下げつつ、へーPerlってこうなってるんだーふーんへーほーとかPerlの参考書をめくりつつ けっこうな勉強になったことに感謝を覚えつつ、おやすみなさい(∵)ノシ