« 2004年9月5日 - 2004年9月11日 | トップページ | 2004年9月19日 - 2004年9月25日 »

2004.09.18

Blosxomでwikieditish

>> Blosxomで日本語のカテゴリ

wikieditishプラグインを入れてみる。
カテゴリに日本語を使うと,path_info内に日本語が入っている。
ということで,パスチェックでうまく通らない……
とりあえず,blosxomの方で,path_infoはある程度チェックしてくれるでしょう。
ということにして,以下をコメントアウト。

# Something's fishy with the path
#…ここにあるチェックをコメントアウト……

で,とりあえず動作します。
けど,".."くらいは,弾いたほうがいいかも……

さて,こういう風に増やしたんだけど.htmlと.wikiedishがほとんど同じなのに,サイドに増やそうとすると両方をいじらんといかんのが面倒……
.defaultしてあげて,それをincludeしてあげられるといいんだけど,ってことで調査中……

| | コメント (0) | トラックバック (1)

2004.09.17

スト決定

中日の優勝はどうなるんだろう???

けど,経営者側ってのは,全くもって責任を押しつけることしか考えておらず,誠意って言葉だけで,全く感情が伝わってこない。
だいたい,間に合うときに話し合わなくて,どうしようもない時期になって,形式のみでやったフラグを立てて誠意を見せた,もしくは,見せられたと思いこんでいて,気持ち悪い……

合併のときは,構成もなにもなくさくってやって,
新規参入は,開かれたとか,耳ざわりのいい言葉でごまかしとるだけで,審査だとかとんちんかんなことしか言わへんし,無能過ぎる。
だいたい公正にするって理由で1年以上かかるって何語ですか?

だいたい5億の赤字ったって,約1名にアホなことをした人がいるからじゃん。

とりあえず,零にしたほうがいいんじゃないの?と思いました。

| | コメント (0) | トラックバック (4)

Blosxomで日本語のカテゴリ

>> Blosxom と Tombo.

方法としては,日本語→英語に変換してやればよいでしょう。

ということで,URLエスケープするか,それとも,独自にマップするか……
色々メリットデメリットもあるけど,とりあえず,お試しってことで何も考えずにURLエスケープすることにした。

さて,エスケープしたもんを誰がどう参照するのがよいか。
基本的に$path・$fnでいろんな人が参照しているんで,
エスケープしたものを別名にするか,エスケープしていないものを
の2者択一なるんだけど,$pathってほんとは,$categoryのがそれっぽいよね~とか思ったりするんで……
ってことだけど,$fnのこともあるんで,したものを$epath・$efnとした。

次に,これを本体に組み込むか,pluginに入れるかを考える。
多分,1番最初にロードされるやつで,エスケープしたのをもってあげればいいような気もしたけど,いまいち動作を理解していないんで,本体に突っ込む。
どのみち,path_infoも通したことだし,スコープなしで参照できるし,って異で。

修正内容

# Prepend a slash for use in templates only if a path exists
$path &&= "/$path";

# Escape url
use vars qw/$epath $efn/;
$efn = escape($fn);
$epath = escape($path);
escape関数は/と英字以外を変換
sub escape {
my $text = shift;
$text =~ s#[^/\a\A]#'%'.unpack('H2', $&)#eg;
return $text;
}

これを他のプラグインから,blosxom::escape()してあげれば,同じ形式が得られることになります。

story.$flavourでは,↓感じで書いてあげます。

<a name="$efn"><b>$title</b></a><br />
<div class='blog_body'>$body</div><br />
<a href="$url/$yr/$mo_num/$da#$efn">$yr/$mo_num/$da</a> $ti
<a href="$url$epath">$path</a>
<a href="$url$epath/$efn.wikieditish">[Edit]</a>

プラグイン,たとえば,categories(0+4i)にパッチ

report_categories_dir関数を以下のように変更します。

my $fulldir = "$blosxom::datadir$parent$dir";
my $fullpubdir = "$parent$dir";
my $url = "$blosxom::url$parent$dir";
my $numstories = $cache->{stories}{$fulldir};
$url = $blosxom::url.blosxom::escape($fullpubdir); #←いじった

| | コメント (0) | トラックバック (1)

« 2004年9月5日 - 2004年9月11日 | トップページ | 2004年9月19日 - 2004年9月25日 »