カラクリスタ

「輝かしい青春」なんて失かった人のブログ

Blosxom Plugin : z_plugins_order

cho45 さんが 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。blosxom というエントリ

引用元:

ひたすら blosxom の構成決め打ちにしてみよう。 plugin のオン・オフと編集 複数ユーザ管理 あたりがあるとよさげ [> subtech グループ - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - blosxom ]

とか言っていたので、とりあえずプラグインのオン・オフと読み込む順番を入れ替えるプラグインを即興で書いてみた。

以下プラグインのコード。

package z_plugins_order;
use strict;
use warnings;
# 読み込むプラグインを列挙
my @plugins_order = qw(
interpolate_fancy
include_file
tagging
);
sub start {
my @plugins = ();
foreach my $plugin_name ( @plugins_order ) {
if ( defined $blosxom::plugins{$plugin_name} ) {
push @plugins, $plugin_name;
}
}
@blosxom::plugins = @plugins;
return 1;
}
1;
__END__

ライセンスはパブリックドメインで。

使い方は$plugin_dir以下に放り込むだけ。注意としては 一番最後に読み込まれるようにしなくてはならない ぐらい。読み込まれる順番は超重要。

ちょこっと解説すると blosxom@plugins(プラグインからだと@blosxom::plugins)をforeachでまわしてプラグインを読み込んでいるので、そこをいじってやると読み込まれる順番だとかをいじれる。 losxom のコードを読めば大体わかると思う。

追記: (2006-09-12T18:40:00+09:00)

さっき気づいたけど、このプラグインstart サブルーチン以降のプラグインの呼び出し順序はいじれるけど、 startサブルーチンそのものの呼び出し順序はいじれない。

startサブルーチンの呼び出し順序を入れ替えるとなると、blosxom をハックするしかないかも。

追記終了

余談。

はじめてトラックバックを打ってみた。