ここでは、新しらぎく掲示板で利用するPC用のテンプレートとなるHTML文書について解説します。
PC向けには、予め作成してあるテンプレートHTMLファイルに、CGIが適宜投稿や入力フォームを挿入して送出する事になっております。このため、運営者は予め送出したい文書フォーマットに合わせてHTMLファイルを用意しておく必要があります。
HTMLは基本的に規格は問いませんが、CGIが挿入する投稿などのフォーマットを考えると、<font>要素などの物理要素を用いて装飾するトランジッショナルなHTMLは余り適しません。CSS(カスケーディングスタイルシート)を活用してデザインを行うストリクトなHTMLが特に有効となります。
パスワード認証による入場制限機能によるパスワード入力画面及び管理画面もこのテンプレートを流用して作成します。従って、全ての画面でCSSデザインが利用出来ます。
HTML文書には必ず投稿などを挿入すべき箇所に所定の宣言を書いておく必要があります。CGIではこの宣言のある箇所に、宣言で指定されたものを挿入して行きます。この宣言はHTMLの立場からすればSGMLコメント宣言ですので、HTMLの文法を損なう心配はありません。
この宣言が書かれている箇所に投稿を挿入します。
尚、この宣言が全く書かれていない場合は、以下の規則に従って出力されます。
尚、<title>要素が無い場合は自動的にテンプレートHTML文書の冒頭に<title>要素が挿入されます。
挿入されるHTMLは以下の書式になります。
<h※1 id="※2 class="※3">[番号] 題名 <span class="※4">(投稿日時)</span></h※1> <div class="※5"> <address>投稿者 : <a href="mailto:メールアドレス">投稿者名</a> (IPなどの情報)</address> (アイコン関連) (本文) </div> (追記投稿のHTML) <h※6 class="※7">記事 **.へ追記される方へ。</h※6> <form action="http://********" method="post"> <ul> <li><input type="submit" value="記事 **.へ追記" /></li> </ul> </form>
また、追記投稿のHTMLは、以下のようになります。
<h※6 id="※2" class="※8">[番号.番号] 表題 <span class="※3">(投稿日時)</span></h※6> <div class="※9"> <address>投稿者 : <a href="mailto:************">投稿者名</a>(IP情報など)</address> (アイコン関連) (本文) </div>
アイコン
は表示させる場合にのみ処理され、PC向けHTML処理設定内のアイコンの表示形式で指定したマークアップが施されます。
本文
は基本的に改行毎に<p>要素となります。
その他は以下の通りとなります。
この宣言が書かれている箇所に入力フォームを挿入します。
尚、この宣言が全く書かれていない場合は、投稿の前に挿入されます。
挿入されるHTMLは以下の書式になります(設定や環境に依っては一部異なる箇所もあります)。
<form class="※11" action="http://*********" method="post">
<ol>
<li>タグ・連続する改行は全て無効です。</li>
<li>カナ文字・カナ記号は全て全角化されます。</li>
</ol>
<fieldset>
<legend>投稿入力</legend>
<dl>
<dt>お名前(必須・12文字以内)</dt>
<dd><input tabindex="※12" type="text" name="name" value="" /></dd>
<dt>メール(任意)</dt>
<dd><input tabindex="※12" type="text" name="mail" value="" /></dd>
<dt>表題(任意・24文字以内)</dt>
>dd><input tabindex="※12" type="text" name="title" value="" /></dd>
<dt>本文(必須・1024文字以内)</dt>
<dd>
<textarea tabindex="※12" cols="32" rows="4" name="text"></textarea>
</dd>
(アイコン選択メニュー(<select>要素))
(URL入力欄<input>要素)
</dl>
<ul>
<li>
<input tabindex="※12" type="submit" value="投稿" />
<input tabindex="※12" type="reset" value="消去" />
</li>
</ul>
</fieldset>
</form>
<form class="※13" action="http://*********" method="post">
<fieldset>
<legend>管理画面</legend>
<ul>
<li><input tabindex="※12" type="submit" value="認証" /></li>
</ul>
</fieldset>
</form>
但し、ネットスケープ 4.x以前では以下のようになっております。
この他には以下の点にもご留意下さい。
続きページまたは前のページがある場合に限り、<!-- bbsnavi -->宣言と<!-- /bbsnavi -->宣言の間の内容を出力します。続きページも前のページも無い場合はこの二宣言の間のテキストは破棄されます。
先頭ページで無い場合は、この二宣言の間にある<a>要素内のhref属性の値を先頭ページへのリンク先となるように書き替えます。先頭ページの場合はこの二宣言間のテキストは破棄されます。
先頭ページで無い場合は、この二宣言の間にある<a>要素内のhref属性の値を直前ページへのリンク先となるように書き替えます。先頭ページの場合はこの二宣言間のテキストは破棄されます。
続きページがある場合は、この二宣言の間にある<a>要素内のhref属性の値を続きページへのリンク先となるように書き替えます。続きページが無い場合はこの二宣言間のテキストは破棄されます。
この様な使い方をして下さい。
<!-- bbsnavi --> <p> <!-- nextbbs --><a href="#">続き</a><!-- /nextbbs --> | <!-- prevbbs --><a href="#">戻る</a><!-- /prevbbs --> | <!-- topbbs --><a href="#">先頭</a><!-- /topbbs --> </p> <!-- /bbsnavi -->
当CGIの著作権情報を表示します。当CGIを利用する場合は必ずこの宣言を入れて下さい。この宣言が入っていない場合は強制的にファイルの末尾に著作権情報を挿入します。また、以下に該当するスクリプト改竄は故意過失を問わず利用契約違反となります。
挿入されるHTMLは大体以下の書式になります(一部異なる箇所もあります)。
<div class="※21"> <address> しらぎく掲示板 第X.X(XXXX年XX月XX日)版 (c)<a href="当サイトのアドレス">しらぎくさいと</a> </address> </div>