by @nyarla

Blosxom Plugin : include_file #0


追記: 2006-08-23

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

詳しくは、

を参照してください。

ダウンロード

Download : include_file

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

これは何なのか

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

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

使い方

  1. $plugindir以下に放り込む。
  2. $datadirを各環境に合わせて設定する。
  1. $datadir 以下に拡張子のないファイルを作る。
  1. flavour に$include_file::filenameと書く。

(*1)

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

(*2)

<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 の日本語訳については、

最後に

……長い。見づらい。分かりづらい。三拍子そろったエントリになってるような。あとで all about blosxom に追加しとこう。


追記: 2018-02-22 この記事は 2006 年に僕がブログ始めた当初の記事です。