2006年05月03日(水) コメント:6 トラックバック:0
テンプレをプラグインに対応させるべく、散在するテンプレート変数マニュアルを参照していたけど、面倒なので自分でプラグイン用リファレンスを作りました。
以下、これを作っていて思ったことなど。
FC2ブログでは当初より投稿時の自動改行が(<br>ではなく)<br />に変換されるので、テンプレはXHTML準拠になるように書いてきた。 ところが、2005年6月に追加された絵文字機能、8月のコメント時の絵文字・装飾機能で置換されるimg要素は閉じられていない(また、絵文字のimg要素には適切な、すわなち空の、alt属性もない)。 このため、自動改行を有効にしつつ絵文字を使ってしまうとValidなHTML/XHTMLにすることができない(たとえばInvalidなXHTMLはW3C CSS Validatorでチェックできないので困る)。
これと同じような問題がプラグインのHTMLにもある。 テンプレ作者はユーザのプラグインのHTMLをいじれないので、せめて公式プラグインのデフォルトHTMLはまともなものであってほしい。 プラグインや絵文字を使わなければValidなXHTML1.0 Strictも実現できるだけに、これらの点は残念。
というわけ(?)で、公式プラグインのHTML上の問題点を列挙します。
- プロフィール
- img要素タグが閉じられていない。
- メールフォーム
- input要素タグが閉じられていない。
- br要素タグが閉じられていない。
- Powered By
- img要素タグが閉じられていない。
- br要素タグが閉じられていない。
- ブログ内検索
- br要素タグが閉じられていない。
- フリーエリア
- フリーエリアをp要素で囲んでいる(divにすべき)。
- RSSリンクの表示
- &が実体参照されていない。(`&xx;` は不明な実体参照です。)
- title属性と要素内容が同一。(冗長。まぁ別にいいけどね)
- リンク
- title属性と要素内容が同一。
- カレンダー
table要素をp要素で囲んでいる(文法違反)。さっき見たらdivになってた。 ちなみに、&alignはstyle="text-align:hoge"に変換されるので、 仮に<div &align></div>で囲んだとしてもtable要素の水平位置は制御できない。 カレンダーの水平位置は、プラグインのHTMLではなくテンプレのHTMLのほうで<%plugin_first_align>を使って指定すべきである。- class属性値がcalenderになっている(カレンダーはcalendarだけど、これは変数自体が間違った綴りを使っているのでそれにあわせて、ということか)。
- scope="col"とすべきところがscope="row"になっている。
ついでにいうと、<%plugin_first_description>というほとんど使われないであろう変数までサポートすると、実際にそれが使われない場合に空のp要素やdiv要素が(大量に)生成されてしまう。
<!--myimage-->〜<!--/myimage-->みたいな、
「プラグインの説明文」が設定されている場合にのみ中身を表示する<!--plugin_description-->〜<!--/plugin_description-->がほしいところ。
コメント(6件)
以後 参考にさせて戴きます。
(ソース確認の為に公式プラグインをDL・ストックする必要が無くなりました)
ただ、※&align の性状は共通ですので それについての説明は
どこか一箇所にされれば「一覧性」がさらに良くなると思うのですが
あ〜!これはとても助かります♪
プラグインの詳しい解説は、オフィシャルのどこにもないですよね?!
まあ、プラグインに限ったことではありませんが...。
ワタシも先日<%plugin_first_tag>に書き出される文字を調べるために、全部のプラグインをDLして確かめたところでした。
そのためにブログジャンキーとかチャットとか、絶対使わなそうなものまで登録しました(T.T)
以下に、書き出していますので何かの時にご利用ください。
http://fc2blogwalker.squares.net/modules/pukiwiki/
(アドレス長すぎてダメみたいですね)
上記サイトの「Q:見出しを画像にしたい」という項目です。
みりばーるさんがFC2に入社して下さると、管理ページの使い勝手も良くなるのになぁ〜と
妄想しております。
> scope="col"とすべきところがscope="row"になっている
責任の一端がウチにもあるっぽい(激汗)。
カスタマイズサンプル用のテンプレ、コピペで作っていたので、納品時に間違っていた曰く付きの属性だったりします。脳内変換希望。
danielさん
>公式プラグインをDL・ストックする必要が無くなりました
これまでに少なくとも2箇所で変更があったようなのでこれからも油断はできませんよ。
&alignについては検討しておきます。
Chakoさん
>全部のプラグインをDLして確かめた
さっそくブログジャンキーほかのtagをコピペさせていただきました。
FC2IDは取るのが面倒で、いまだに旧ブログID使ってるんですよね^^;
CHOU-FLEURさん
自分もtableのrowspan, colspan, scope属性を使うときはよく間違えるので辞書(例の赤いやつ)が手放せません。rowとcolの区別、すぐ忘れてしまいます。
実は今日これを書いてたのですが、
出来が違います(苦笑)。
早速リンクしました☆
「アルキカタ」しばらく見ないうちにかなり充実してきましたね。
プラグインのリファレンスはたいした量ではないからできるわけで、あの膨大なQ&Aを整備するのは自分には無理そうです。