アルファサード株式会社 代表取締役 野田 純生のブログ


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エディタについて言及している他サイトのエントリー

ということもあって、MT4のWYSIWYGエディタが生成したHTMLを出来る限りクリーンアップするプラグインを作成しました。

利用方法

プラグインフォルダに tag2xhtml.pl をアップロードします。

再構築の際 (ファイルがディスクに書き出される直前) にファイル全体に対して処理を行います(「確認」段階では処理は行われません。またデータベースに格納されるデータは変換されません)。

ダイナミックパブリッシングには未対応です。

処理内容

  • 要素タイプ名と属性名を小文字に変換します。
  • 空要素タグを /> で閉じます。
  • B, I, U, STRIKE, FONT 等の物理要素をそれぞれ STRONG, EM, INS, DEL, SPAN要素に置換します (簡易的な対応ではありますが、主な視覚系UAのデフォルトスタイルが同等な論理要素に置換します) 。

対応バージョン

Movable Type3.x, Movable Type4.0

ライセンス

パブリック・ドメイン

ダウンロード

Newプラグイン


このブログを書いている人
野田純生の写真
野田 純生 (のだ すみお)

大阪府出身。ウェブアクセシビリティエバンジェリスト。 アルファサード株式会社の創業者であり、現役のプログラマ。経営理念は「テクノロジーによって顧客とパートナーに寄り添い、ウェブを良くする」。 プロフィール詳細へ