FAQ

RaelさんのプラグインディレクトリやFAQのようなセクションをどうやったら作れますか?

プラグインディレクトリのようなセクションを作る際に最初に知らなければならない事は、幾つかのプラグインを慎重に扱う必要があると言うことと、フレーバーに関する多少の知識です。

次のプラグインが必要になるでしょう: 'config''crop_path''sort_by_path'

'crop_path''sort_by_path'はファイル名の後に'_'を付けて無効にしておきます。各プラグインの使い方に関してはプラグインファイルの後のperldocを確認して下さい。そして始めるにあたって関係のある変数を確認して下さい(コマンドラインでperldoc プラグイン名 と入力して下さい)。

次に必要になるのはディレクトリ構造を構築することです。各カテゴリに対して親ディレクトリと子ディレクトリが必要になります。そのため、例えばRaelのプラグインディレクトリには'plugins'と言う親ディレクトリと'archives''author'、'browser''calendar'等の子ディレクトリがあります。

ここで、表示するためのフレーバーが必要になります。貴方の標準のスタイルから全てのフレーバーをコピーして親ディレクトリにおき、全てのファイル名のサフィックスを何かに変更して下さい。私はサフィックスとして'.w'を使いました。始めのページで記事を表示するのに標準のフレーバーを使わないようにするためにこの作業が必要になります。変更しなくてはならない唯一のフレーバーファイルは'date.w''story.w'で、パスのみを表示し、そしてカテゴリーへ行くリンクを提供するようにします。私のdate.wは以下の通りです:

<span class="category">
<p style="margin-left: 0px;">
<a href="$url$path">$crop_path::path</a>
</p>
</span>

story.wは:

<code>
<span class="category-item">
<p style="margin-left: 12px;">
<b>$title</b>
$body
<a href="$url$path/$fn.writeback" class="orangelink">
more</a>

タイトルを太字にし、記事の残りをこの直ぐ後に置き、そしてその直ぐ後に返信ページへのリンクを置くようにしています。

最後に、configファイルを書きます。私の例です:

$blosxom::plugins{'sort_by_path'} = 1;
$blosxom::flavour = "w";
$blosxom::plugins{'crop_path'} = 1;
$blosxom::num_entries = 999;

'sort_path'を有効にし、次にフレーバーを'w'に設定し、カテゴリが子の名前のみ持つように'crop_path'を有効にし、そして最後にnum_entriesを十分に大きな値に設定しています。このconfigファイルは親ディレクトリと各子ディレクトリに置きます。

以上でカテゴリで並べ替えられたページが表示されます。

Author: Tony Williams
Category: /faq/general
Date: 2003-07-27