ポップアップとインラインプレビューの仕様
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>でいいですかね。