A compact and portable format that can be converted back to HTML in a lightweight way.
And Tiny Streaming SSR!
- html を json で表現する(変換する)
- json から html への変換時に処理を追加できる
- HTML を予め json 化しておけば、実行環境に HTML パーサーが不要になる
- Web サーバ側での動的生成のソース(AMP HTML, メディアタイプ別専用ページ)
- オフラインドキュメントのコンテンツデータ
- PJAX のコンテンツデータ
- 非力な DHTML ブラウザで、文書をページャーで表示する(要素のサイズを測りながら描画する)際のデータ
- コンパイルとテスト
- Streaming SSR のデモ
- html.json の例
- API の概要
- HTML の minify
- 条件付きコメントに関する情報
- License
git clone https://github.com/itozyun/html.json.git
cd html.json
npm i
git submodule update --init
npm run make
npm run test
# Do when the node module is updated
gulp externs
次を実行した後にブラウザで http://localhost:8080/ を開く.
npm run demo
# Do when the "sample/*" files are updated
gulp sample
html.json は HTML と等価な JSON のサブセットです.定義は HTMLJSON.md にあります.
閉じタグの省略できない HTML 要素が多い文書などでは、HTML 形式よりファイルサイズが小さくなります.
<!DOCTYPE html>
<p>Hello, world!
↓
[
9, "<!DOCTYPE html>",
[ "P", "Hello, world!" ]
]
次の3つの API が利用できます.詳しい文書は API を確認します.
json2html, json2json で利用できる Restricted Virtual DOM の説明は RESTRICTED_VNODE.md を確認します.
json2json で使える Virtual DOM の説明は RESTRICTED_VNODE.md を確認します.
- html2json
- html を html.json 形式に変換します.
- html2json.gulp が利用できます.
- json2html
- html.json を html 形式に変換します.
- 変換時に処理を追加します.
- ストリーミング SSR の json2html.stream が利用できます
- json2html.gulp が利用できます.
- json2json
- html.json の編集が行えます.
- 動的ノードと動的属性の内で、決定済の値があれば、静的ノードと静的属性に置き換える.
- json2json.gulp が利用できます.
- filter.gulp
- 静的ページまたは、動的ページだけ処理したい場合に便利な gulp プラグインです
html2json, json2json ではテキストノードの最適化と空白ノードの除去を行います.
json2html では、閉じタグとクォートを省略して HTML を最小化します.
より詳しい情報は MINIFY_HTML を確認します.
html.json は条件付きコメントをサポートします.条件付きコメントに独自に割り振られた nodeType は HTMLJSON.md で確認出来ます. 条件付きコメントに関する情報は CONDITIONAL_COMMENTS にあります.
HTML.JSON is licensed under MIT license.