ポップアップとインラインプレビューの仕様

Thousandスレのほうで、仕様が確定したらスキン作りましょうかねーって話があったんで、まあいまちゃんと動作しているかはともかく、私の意図する仕様をちょっと書こうと思います。特に不具合が出たポップアップとインラインプレビュー(これらを総称して「プレビュー」と呼びます)関連で。

まずポップアップの出る条件。

  • レス内である(そのリンクを内包するDIV要素のIDが「resXX」)
  • 危険レス内でない(「resXX」のDIV要素のクラスに「danger」が含まれない)
  • ポップアップ禁止でない(A要素のクラスに「noPopUp」が含まれない)
  • プレビュー禁止でない(A要素のクラスに「noPreview」が含まれない)
  • モディファイヤキーが押されていない(コマンド、オプション、シフトキーが押されていない)
  • リンク先が「internal://」であるか、プラグインによってプレビュー可能なURL

次にインラインプレビューの出る条件。

  • レス内である(そのリンクを内包するDIV要素のIDが「resXX」)
  • インラインプレビュー禁止でない(A要素のクラスに「noInline」が含まれない)
  • プレビュー禁止でない(A要素のクラスに「noPreview」が含まれない)
  • モディファイヤキーが押されていない(コマンド、オプション、シフトキーが押されていない)
  • リンク先が「internal://」であるか、プラグインによってプレビュー可能なURL

ポップアップやインラインプレビューされた画像なんかは、それを内包するA要素のクラス「noPreview」を指定することで再度のポップアップやインラインプレビューを防ぐべきです。

名前欄の<b>タグ

現在のところスキンの名前欄は、<b>タグで囲まないと表示が乱れます。これは2chのdatの名前欄に、トリップやfussianasanによるリモートホスト表示が含まれる場合逆向きの<b>タグが挿入されているからです*1。read.cgiは名前欄を<b>タグで囲むために、Webでの表示上はトリップやリモートホストはボールドでなくなり、本物と判別できる…という意図だと思われます。
で、Thousandでこれをどうしようかなーと悩んでいたんですが、今日決めました。datはそのまま保存するとして、htmlに出力する時は<b>を何かに置き換えてしまえば良いんですよ*2。正向きになるようにして、インライン要素の何かに。<em>でいいですかね。

*1:名前</b>トリップ<b> のように

*2:2chの名前欄以外には影響しません。正確にはT2Resに出力するとき、だから