Movable Type4のWYSIWYGエディタが生成したHTMLをクリーンアップするプラグイン。
公開日 : 2007-07-20 17:57:43
背景・経緯
MT4のWYSIWYG編集では、例えば "<br>" が "<br />" にならないとか IMG要素が閉じられない (つまり空要素が />で終わらない) 問題があります(Beta2の時にフィードバック済み)。
またWindows版 Internet Explorer, Opera* だと要素タイプ名/属性名が大文字になってしまいます。
*Macintosh版 Safariでも要素タイプ名/属性名は大文字になりますが、そもそもSafariではWYSIWYGがうまく動作しません。
テンプレートはXHTMLで書かれていますのでこれらの部分はXHTMLとして正しくないことになります。
また、B, I, U, STRIKE, FONT 等の要素が使われることからWYSIWYGを敬遠する人も多いかと思います。
簡単に修正できるのか? と思っていましたがBeta7で修正されていないところを見るとコード数行で済む問題でもないようです。
H.Fujimotoさんのエントリーによると、
動作からすると、リッチテキストエディター部分のinnerHTMLプロパティをそのまま出力しているようです。
とあります。となるとブラウザがHTMLを生成しているわけで、修正するには根本的に実装方法を変える必要があるという、ちょっとやっかいな仕様ということになります。
MT4のWYSIWYGエディタについて言及している他サイトのエントリー
- The blog of H.Fujimoto:Movable Type 4 βレビュー(その2・編集関連)
- Movable Type 4 ベータ1のWYSIWYGを試してみた - hakuro.info blog
- 今日の研究:Movable Type 4 Beta1の投稿メニューをテストしてみた: 世界中の1%の人々へ
ということもあって、MT4のWYSIWYGエディタが生成したHTMLを出来る限りクリーンアップするプラグインを作成しました。
利用方法
プラグインフォルダに tag2xhtml.pl をアップロードします。
再構築の際 (ファイルがディスクに書き出される直前) にファイル全体に対して処理を行います(「確認」段階では処理は行われません。またデータベースに格納されるデータは変換されません)。
ダイナミックパブリッシングには未対応です。
処理内容
- 要素タイプ名と属性名を小文字に変換します。
- 空要素タグを /> で閉じます。
- B, I, U, STRIKE, FONT 等の物理要素をそれぞれ STRONG, EM, INS, DEL, SPAN要素に置換します (簡易的な対応ではありますが、主な視覚系UAのデフォルトスタイルが同等な論理要素に置換します) 。
対応バージョン
Movable Type3.x, Movable Type4.0
ライセンス
パブリック・ドメイン