1. 解析
ソースを行番号付きのタグの並びとして走査するので、指摘はすべてコード内の位置と結び付きます。
レンダリング結果はここに表示されます。
HTMLコンパイラ
HTML・CSS・JavaScriptを貼り付けてコンパイルできます。マークアップを解析し、閉じ忘れのタグや重複したidを報告。コメントや不要な空白を取り除いて、自己完結型の単一ファイル(またはJavaScriptのテンプレート関数)を出力します。処理はすべてブラウザ内で完結し、必要になったらコンパイル結果を公開URLとして配信できます。
定義
HTMLコンパイラは、ソースのマークアップを受け取って出荷できる形に整えます。ブラウザと同じようにドキュメントを読み、壊れている箇所や無駄な部分を報告し、最適化済みの成果物——通常はコメント・インデント・冗長な属性を削ぎ落とした1つの圧縮HTMLファイル——を書き出します。
入力を補助するだけのエディタとも、黙って容量を減らすだけのミニファイアとも違います。コンパイラはその両方を提供します。つまり、そのまま手を打てる診断レポートと、クライアントに渡したりメールに添付したりそのままデプロイできる成果物ファイルです。
パイプライン
コンパイルは毎回同じ流れで進みます。アップロードは一切行わず、各段階の結果はエディタ下のレポートに表示されます。
ソースを行番号付きのタグの並びとして走査するので、指摘はすべてコード内の位置と結び付きます。
入れ子構造をスタックで検証し、解析済みのドキュメントから重複id、alt属性の欠落、メタ情報の欠落をチェックします。
コメントを削除し(条件付きコメントは保持)、空白をまとめ、ブロック要素の間の隙間を詰めて、冗長な属性を取り除きます。
単一ファイルHTML、またはJavaScriptテンプレート関数のいずれかを取得できます。入力と比較できるバイト数も表示されます。
成果物の種類
エディタ上部で出力形式を切り替えて再コンパイルしてください。診断結果は同じで、変わるのは成果物だけです。
CSSとJavaScriptはインラインのまま、1つの.htmlファイルにまとめます。バンドルも追加のアップロードも不要です。メールに添付しても、受け取った側でそのまま開けます。
コンパイル済みのマークアップをエスケープし、任意のバンドラーからインポートできるテンプレート関数にします。同じ断片をサーバー側とブラウザ側の両方で描画する場合に便利です。
コンパイル結果を公開すると、元のソースではなく最適化済みページを配信する公開リンクを共有できます。
使い方
登録も、ビルドも、npm installも不要です。
サンプルから始める、ローカルの.htmlファイルを開く、エディタ枠にドロップする、いずれでも構いません。
コンパイルを押し、診断で指摘された箇所を直してから再コンパイルします。以降の編集は自動で再コンパイルされます。
成果物をコピーする、ダウンロードする、または共有用の公開URLとして公開する、いずれかを選べます。
よくある質問
完全には同じではありません。ミニファイアは容量を減らすだけですが、コンパイラはドキュメントを解析し、閉じ忘れタグ・ネストの不一致・重複id・alt属性の欠落といった問題を、最適化ファイルの出力前に報告します。
変わりません。最適化で削除するのは描画に影響しないものだけです。コメント、ブロック要素まわりの空白、冗長な属性です。コンパイル結果を新しいタブで開けば、同じように動くか確認できます。
コンパイル済みマークアップを文字列として返すテンプレート関数をエクスポートするモジュールです。バッククォート、ドル記号と波括弧、バックスラッシュはエスケープされるため、JSやTSプロジェクトにそのまま貼り付けられます。
できます。インラインのstyleブロックとscriptブロックは保持されます。styleブロック内のCSSコメントは削除されますが、scriptの内容は実行時を壊さないようそのまま残します。
されません。リモートのsrcやhrefで参照されているファイルは外部依存として報告され、そのまま残ります。コンパイラはサードパーティのURLを取得しないため、ページの内容が他のサーバーに漏れることはありません。
されません。解析・診断・最適化はすべてブラウザ内で行われます。公開を押したときだけサーバーに送信され、その内容もコンパイル済みの成果物です。
HTMLエディタはライブプレビュー付きの執筆環境です。このコンパイラは、そこにビルドの工程を足したものです。ドキュメントを検証して最適化し、ダウンロードや公開ができる成果物を手渡します。