- html.json の最小化
- HTML の最小化
- 参考リンク - 公開用 HTML の為の機械処理
json2json 処理時に合わせて実施します
- 連続するテキストノードのマージ(normalize)
html2json 処理時に合わせて実施します
- テキストノードの空白文字の削除
- 改行とタブは一つの半角スペースに
- 2つ以上の半角スペースを1つの半角スペースへ
- 先頭と最後の半角スペースを削除、例外は
trimWhitespaces
を参照 - 半角スペースの保護
- 先頭または最後、または連続する半角スペースの保護には
\u0020
, 
, 
を使う.この工程で半角スペースに変換される.
- 先頭または最後、または連続する半角スペースの保護には
- ここ迄で空文字列
""
になった場合は、テキストノードは作られない - この作業の行われないのは
<script>
<style>
<textarea>
と<pre>
の子要素.
<script>
<style>
<textarea>
用の不要な空白文字の削除- テキストノードの最初と最後の改行文字を削除
<pre>
下用の不要な空白文字の削除- 最初に登場するテキストノードが空白文字のみならノードを削除する.再度、最初のテキストノードを調べる.
- 最初のテキストノードの先頭が改行文字なら改行文字を削除
- 最後に登場するテキストノードが空白文字のみならノードを削除する.再度、最後のテキストノードを調べる.
- 最後のテキストノードの最後が改行文字なら改行文字を削除
- コメントノードの削除
- 条件付きコメント以外を削除します.
- コメントノードのキープ
- 参考 IEでコメントノードを事前に除去し速度を稼ぐ, コメントがフロートの位置をずらす
- 連続するテキストノードのマージ(noemalize)
json2html 処理時に合わせて実施します
- 閉じタグの省略
- リンク要素下の閉じタグは省略しない
<source>
は閉じる.</source>
が無いと Opera 9 で DOM ツリーが崩れる為.
- 属性のダブルクォーテーションの省略