この文書では、セットアップ後に、BBSの見栄えを変更(カスタマイズ)する方法について解説します。
インストール方法については「install.html」を、一般的な管理/運用方法については「admin.html」をごらんください。
表示の元になるテンプレートファイル「_TMPL」は、「bbsfiles」ディレクトリの中に入っています。afbbsでは、テンプレートファイルを変更することによって、ボードの表示形式(色/フォント/レイアウト/画像の配置など)を手軽に変更できるようになっています。
「bbsfiles」ディレクトリ内にある「_TMPL」を編集することで、標準の表示形式を変更できます。ボード専用のテンプレート(次項で解説)がない場合、afbbsは常に「_TMPL」の設定を参照します。
「afbbs.cgi」を標準設定のまま使用している場合、firstとsecondというふたつのボードが存在します(ありますよね?)。たとえば、この「second」ボードの表示を変更したい場合、
という手順で、表示方法を変更できます。
「tmpls」ディレクトリの中には、サンプルとしてすぐに使用できるテンプレートが収められています。
編集したいテンプレートファイル(標準の場合は「_TMPL」、「second」ボードの場合なら「second_TMPL」)を、適当なエディタで開いてください。ぱっと見ると、普通のHTMLファイルとほとんど同じ形式であることが分かると思います...が、「<!--NAME-->」のようなコメントや「$(NAME)」のような妙な文字列もたくさん含まれていますね。ここでは、これらのコメントや文字列の意味について説明します。
英大文字のコメントで囲まれた部分は、状況に応じて表示したり表示しなかったりする部分です。すべてのコメントは、<!--NAME-->ではじまり、ふたたび<!--NAME-->が現れると終了するようになっています。はじまりだけあって終わりがない場合、正しく表示されなくなってしまうので注意してください。
このコメントで囲まれた部分は、毎回のログイン時(最初にボードを訪れた時)にのみ表示されます。 ボードの内容を読みすすめる間や、投稿をした後などには表示されません。 ここには、ウェルカムメッセージとして、ごあいさつや、ボードを訪れた時間などを入れておくとよいでしょう。
このコメントで囲まれた部分は、投稿用のフォームです。「リードオンリー」モードでは表示されません。
$(NAME)となっている部分は、afbbsが持っている情報(ボード名など)にそのまま置き換えられます。いわゆる変数です。
あらかじめ分かっている部分については、$(NAME)を使わずにそのまま書き込んでしまっても構いませんが、変数を使ったほうが、プロバイダを移行したい場合などに楽に対処できます。また、どうしてもシステムから取り出さなければならない情報(ユーザのハンドル名など)は、必ず変数を使う必要があります。
この変数は、ボードの管理者のメールアドレスに置き換えられます。 「afbbs.cgi」で指定している、$SYSOP_MAIL='**'が、そのまま置き換えられます。
ここには、このafbbsで管理している他のボードへのリンクが一覧表示されます。 一覧表示を消してしまいたい場合は、なくしてしまってもよいでしょう。
この変数は、ボードの「リンク名」に置き換えられます。 「リンク名」は「afbbs.cgi」の中で@BOARDSとして指定されています。たとえば、
first 第一掲示板 2
のようになっている場合、$(BOARD_NAME) 変数は「第一掲示板」に置き換えられます。
これは、ユーザのハンドル名に置き換えられます。ハンドル名は投稿時にCookieで取得しますので、まだ一度も投稿をしたことがない人の場合、ここには何も入りません。
いらっしゃいませ、$(HANDLE) さん
などとすると、
いらっしゃいませ、 さん
のように表示されてしまうことがあるので注意してください。(スイマセン...byフナイ)
これは、アクセスしたユーザが前回ログインした時刻を表示します。ログイン時刻のデータは、新着記事がなかった場合には更新されないので注意してください。
これは、(サーバ上の)現在時刻を表示します。
これらは、記事を表示するために必要な変数です。消してしまうと表示ができなくなってしまうので、必ずテンプレートのどこかに含めるようにしてください。順番は入れ替えても大丈夫です。
これは、投稿直後に記事を取り消したい場合の「取り消しボタン」を表示します。これをなくしてしまうと、取り消しができなくなりますので、なくさないほうがいいでしょう。 管理者削除機能使用時のパスワード入力フォームも、ここに表示されます。
「afbbs.cgi」のURLに置き換えられます。これはこのまま変更しないほうがヨイです。 このまま残しておけば、プロバイダやディレクトリ構成を変更しても大丈夫です。
これらは、ボードの投稿フォーム内で使用していますので消さないようにしてください。順に、デフォルトの記事タイトル、投稿記事の親記事番号、元記事からの引用(選択表示の場合)です。
この変数は、afbbsのバージョン番号に置き換えられます。
テンプレート先頭部に特殊なコメントを付加することで、「話題順一覧」「内容を表示」などのシステムメッセージをカスタマイズすることが出来ます。レイアウトや色の変更で物足りない方は、以下の解説を参考にしてください。
通常のテンプレートファイルの第1行以降(DTD宣言の前)に、以下のようなコメント文を付加します。
<!--CFG READ_ATCL 内容を表示させる CFG-->
編集したテンプレートを「bbsfiles」ディレクトリに設置してください。一覧モードで表示される「内容を表示」というメニューが、「内容を表示させる」にカスタマイズされたはずです。
メッセージ指定用のコメントは、以下のような書式を持っています。
<!--CFG 変数名 メッセージ 変数名 メッセージ : : : : CFG-->
設定部分は「<!--CFG」と「CFG-->」で囲み、変数名とメッセージを1行づつ交互に書いていきます。「afbbs.cgi」の前半部にあるメッセージ設定部分がこれと全く同じ書式なので、必要な部分を「afbbs.cgi」からコピー&ペーストして書き替えるのが楽チンです。
「CFG」コメントで使用できる変数と、デフォルトのメッセージについて、以下にリストを挙げます。リストは、「変数=『デフォルトのメッセージ』」の形で書かれています。
これらのメッセージは、各モードのタイトルとモードメニューの表示に使用されます。
「ATCL_HEAD」は、記事見出しの表示に使用されます。「%s」となっている部分は、順に「記事番号」「記事タイトル」「投稿者名」「投稿時刻」に置き換えられます。
これらは、フットメニューの表示に使用されます。
この2つは、記事取り消しボタンと管理パスワードフォームの表示に使用されます。
「MTxx」は月名の表示に、「WKx」は曜日の表示に使用されます。「WKx」の方は、「WK0」から始まるので注意してください。