Skip to content

Latest commit

 

History

History
51 lines (40 loc) · 3.19 KB

MINIFY_HTML.md

File metadata and controls

51 lines (40 loc) · 3.19 KB

html.json と HTML の最小化

  1. html.json の最小化
  2. HTML の最小化
  3. 参考リンク - 公開用 HTML の為の機械処理

1. html.json の最小化

json2json 処理時に合わせて実施します

  1. 連続するテキストノードのマージ(normalize)

html2json 処理時に合わせて実施します

  1. テキストノードの空白文字の削除
    • 改行とタブは一つの半角スペースに
    • 2つ以上の半角スペースを1つの半角スペースへ
    • 先頭と最後の半角スペースを削除、例外は trimWhitespaces を参照
    • 半角スペースの保護
      • 先頭または最後、または連続する半角スペースの保護には \u0020,  ,   を使う.この工程で半角スペースに変換される.
    • ここ迄で空文字列 "" になった場合は、テキストノードは作られない
    • この作業の行われないのは <script> <style> <textarea><pre> の子要素.
  2. <script> <style> <textarea> 用の不要な空白文字の削除
    • テキストノードの最初と最後の改行文字を削除
  3. <pre> 下用の不要な空白文字の削除
    • 最初に登場するテキストノードが空白文字のみならノードを削除する.再度、最初のテキストノードを調べる.
    • 最初のテキストノードの先頭が改行文字なら改行文字を削除
    • 最後に登場するテキストノードが空白文字のみならノードを削除する.再度、最後のテキストノードを調べる.
    • 最後のテキストノードの最後が改行文字なら改行文字を削除
  4. コメントノードの削除
  5. 連続するテキストノードのマージ(noemalize)

2. HTML の最小化

json2html 処理時に合わせて実施します

  1. 閉じタグの省略
  2. 属性のダブルクォーテーションの省略

3. 参考リンク - 公開用 HTML の為の機械処理

  1. ブラウザの問題:半角スペース、全角スペース、改行コード、整形処理
  2. HTMLソースの整形処理
  3. Google HTML/CSS Style Guide まとめ
  4. Another HTML-lint 結果の解説 > の ATTR の属性値 XXXX は引用符で囲まなければなりません