カラクリサイクル

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

Blosxom Plugin : include_file #0

概要: ++[date:2006/08/23-18:21:00]


バ-ジョンアップしました。

詳しくはBlosxom Plugin : include_file #1を参照してください。

++

ダウンロード

Download : include_file

いきなりダウンロード!?と思わずに、とりあえずダウンロードしてください。 ……とりあえずって何だよ。っていうか何で一番最初に持ってきたんだと小一時間(ry

これは何なのか

$datadirで指定されたディレクトリの拡張子のないファイルを$include_file::filenameという形で flavourに取り込みます。

と言うかぶっちゃけfileプラグインのちょっと高機能版 みたいなものです。

使い方

  • $plugindir以下に放り込む。 +> $datadirを各環境に合わせて設定する。

例 : $datadir = &quot;/home/nyarla/blosxom/flavour/inc&quot; <+ +>$datadir以下に拡張子のないファイルを作る。 例で言うなら/home/nyarla/blosxom/flavout/inc以下に作る

例 : sidebar_item_categories

<div class="categories">
    <h2><span>Categories</span></h2>
    $tagging::category_list
</div>

<+ +> flavourに$include_file::filenameと書く。 例で言うと$include_file::siebar_item_categoriesになる。 そうすると$include_file::siebar_item_categoriesと書かれた場所に

<div class="categories">
    <h2><span>Categories</span></h2>
    <ul class="categories">
        <li class="blosxom">
            <a href="http://localhost/blog/categories/blosxom">Blosxom</a>
        </li>
        <li class="miscellaneous">
            <a href="http://localhost/blog/categories/miscellaneous">Miscellaneous</a>
        </li>
        <li class="others">
            <a href="http://localhost/blog/categories/others">Others</a>
        </li>
    </ul>
</div>

こんな感じなのが出力される。ちなみにこれはあくまでも例です。念のため。 <+

……なんか見づらい、そして分かりづらい。気にしてはいけない(気にしろよ)。次行こう。

fileプラグインとの違い

fileプラグインと include_fileプラグイン、どちらも 外部ファイルをflavourに取り込むと云う点では同じです。

じゃあなにが違うのかというと、fileは外部ファイルの中で変数が使えないんですが、 include_fileは外部ファイルの中で変数が使えるという点が違います。

それだけ?と思われそうですが、それだけです。……言い切ってどうすんだよ。 しかしこの違い結構大きいです。

例えば、

    $back_and_forth::link_prev
    $back_and_forth::link_next

見たいな感じの外部ファイルを作り、fileプラグインで読み込むと

    $back_and_forth::link_prev
    $back_and_forth::link_next

こんな感じでそのまま出力されます。 で、include_fileプラグインだと

    <link rel="previous" href="http://nyarla.net/blog/first-post" />
    <link rel="next" href="http://nyarla.net/blog/use-blosxom-plugins" />

こんな感じでちゃんと展開されます。このBlog作るとき重宝しました。

注意点

無限ループを作らないようにしてください。 例えば、foo_aというファイルで、

    $include_file::foo_b

foo_bを呼び出し、foo_bで、

    $include_file::foo_a

とすると無限ループになってかなりやばいです。実際に試してませんが。 レンタルサーバでやってしまうと、最悪追い出されるかもしれません。 そうなった場合、責任とれといわれても知りません。自己責任で使ってください。

ライセンス

ファイルの下のほうにも書いてありますが、Blosxomと同じMIT Licenseです。

MIT Licenseの日本語訳についてはOpen Source Initiative OSI - The MIT License:Licensing を参照してください。

最後に

……長い。見づらい。分かりづらい。三拍子そろったエントリになってるような。

あとでall about blosxomに追加しとこう。