スキンファイルの仕様について

アプリケーションパッケージ内のstandard.htmlを見ていただければだいたい分かると思いますが、分かりにくいだろうことをいくつか。

  • ポップアップ時。通常表示ではスキンファイルの内容はほぼそのまま反映されますが、ポップアップのときはスレッドタイトルなどを表示しないためにbodyタグ以降はカットされ、新たにclass要素に「popUp」を指定したbodyタグが付加され、その後にレス部分が結合されます。
  • 内部リンク。逆参照やIDやトリップへのリンクは、「internal://種類/引数/...」という形をとっています。例えば、ID「hogehoge」へのリンクは「internal://identifier/hogehoge」となります*1。レス「>>10-20,30」へのリンクは、「internal://resNumber/10-20,30」となります。

逆参照の場合は少し複雑で、レス3からの逆参照は「internal://trace/1/resNumber/3」となります。traceの後に追跡の深さ、その後に元となるレスの内部リンク記法が続きます。これを応用すると、「internal://trace/1/identifier/hogehoge」とすることでID「hogehoge」への全レスを表示することも出来ます*2
internal://の直後に続く「種類」はこれまたプラグインによる拡張が可能で、標準では以下のようなものがあります。

  • resNumber/数値(,-が使用可能)
  • last/数値(最後の100レス、など。ただし>>1を含む)
  • identifier/ID
  • trip/トリップ
  • trace/深さ/他の内部リンク記法

internal://のリンクは自動的にポップアップがかかります。ただ、これでは最新100レスなんてリンクにもポップアップがかかってしまうので、class要素にnoPopUpとするとポップアップしないとかの措置を講じようと思います*3。あと、ポップアップ対象のレスがあまり多いとレスポンスが悪くなるので、ポップアップされるレスは50個までに制限されています。*4

この内部リンク記法は、スタイルの保持にも使用されます。例えば、ID「hogehoge」に適用されたスタイルは内部的にも「identifier/hogehogeで抜き出したレスに以下のスタイルを適用」と指定されているので、スレッドが更新されて該当IDの新しいレスがあった場合でも反映されます。

*1:実際にはID文字列は「/」を含むので、URLエンコードされます

*2:ただし現行では、1より上の深さは指定できなかったかも

*3:現在防止措置はなし

*4:それくらい多ければ別タブで開いたほうが読みやすいし