Monazilla/develop/boardlist
掲示板一覧の仕様
bbsmenu.html、bbstable.htmlについてまとめます。
概観
bbsmenu
<BR><BR><B>カテゴリ名</B><BR> <A HREF=http://server.domain.dom/board/>板の名前</A><br> <A HREF=http://server.domain.dom/board/>板の名前</A><br> ... <A HREF=http://server.domain.dom/board/>板の名前</A> <BR><BR><B>カテゴリ名</B><BR> <A HREF... bbstable 【<B>カテゴリ名</B>】<A HREF=http://server.domain.dom/board/>板の名前</A> /<A HREF=http://server.domain.dom/board/>板の名前</A> /<A HREF=http://server.domain.dom/board/>板の名前</A> ... 【<B>カテゴリ名</B>】<A HREF=http://server.domain.dom/board/>板の名前</A> /<A HREF=http://server.domain.dom/board/>板の名前</A> ...
文字コードはShiftJIS。
改行コードは現在の公式はLF(\x0a)ですが、一覧を作成する人やサーバの環境次第で変わりうると思われます。
menuと比べ、tableは
- カテゴリ名が【】で括られている
- HTMLの改行<br>が一切無い
- 替わりに、板と板の間はスラッシュで区切られている
- テキスト上の改行位置
- 板名が略されていない
などの違いがあります。
それぞれ単体で考えても、特に改行などは、作成者による違い、書き方の変更や間違いが常に起こりえるので、カテゴリと板のリンク以外は、書式を固定して解釈しない方が良いでしょう。
カテゴリ
<BR><BR><B>カテゴリ名</B><BR>
【<B>カテゴリ名</B>】
のような、<B></B>で囲まれた文字列があれば、そこからカテゴリ名というカテゴリが始まります。
次のカテゴリ開始までが1つのカテゴリ定義です。
柔軟性を持たせるなら、<B></B>の前後にある文字列は、カテゴリの判定に用いない方が良いでしょう。
掲示板
カテゴリに続いて、
<A HREF=http://server.domain.dom/board/>板の名前</A><br>
というリンクがあれば、そのカテゴリに属する掲示板です。
Aタグの書式は、HREF以外の属性は無く、クォーテーションで括られていないのが公式を始め一般的です。
しかし、常にそうであるとは限らないので、他の部分と同様に、解釈する書式を固定しすぎない方が良いでしょう。
板は複数のカテゴリに配置される場合があります。
例えば、PCニュース板は、ニュースカテゴリとPC等カテゴリの2つにあります。
また、それらで表記される板名が異なる場合もあります。
リソース管理にカテゴリ名や板名を用いるには、相当の注意が必要です。
2chの板のディレクトリ名は、基本的に各板にユニークな名前が付けられています。
しかし、大規模な異常や実験、板移転時の間、過去ログ用などで、複数のサーバに同じディレクトリ名の板が存在することがあるので、".2ch.net/<ディレクトリ名>/" だけで、板の同異を判断するのは危険です。
除外
公式の板一覧には、板以外のリンクもいくつか含まれているので、除外する必要があります。
- 板の無いカテゴリ
- 「チャット」「ツール類」「他のサイト」
- 「運営案内」も、板が含まれているものの、他のカテゴリにも配置されている板しかないので、除外しても構いません。
- 「特別企画」は、現在は板は含まれていないものの、板のように読み込めるページもあり、また、過去には通常の板が普通に置かれており、これからもその可能性が無いとは言えないので、除外しない方が良いかもしれません。
- ディレクトリの無いURL
- http://info.2ch.net/ , http://find.2ch.net/
- 板用のサーバではないので、今後も板が作られる可能性はかなり低いでしょう。
- 最初のカテゴリが現れる前
- 案内や広告が付いています。
- その他、板ではないもの
- 今のところこれまでに挙げたもので対応できますが、新たなリンクの追加に常に対応していかなければなりません。
非公式の板一覧も利用可能にする場合は、独自に追加された2ch外の板が除外される事のないように注意しましょう。