カラクリサイクル

『輝かしい青春』なんて無かった人の雑記

Blosxom Plugin : z_plugins_order

概要: cho45さんが冬通りに消え行く制服ガールは、夢物語にリアルを求めない。


blosxomというエントリ

引用元:subtechグループ - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - blosxom

ひたすら blosxom の構成決め打ちにしてみよう。 * plugin のオン・オフと編集 * 複数ユーザ管理 あたりがあるとよさげ

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

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

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でまわして プラグインを読み込んでいるので、そこをいじってやると読み込まれる順番だとかをいじれる。 blosxomのコードを読めば大体わかると思う。

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

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

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

追記終了

余談。

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