you need to enable js to make this page interavtive
["div", {"class": "some classes"}, ["style", ".green { color: green; }\n", "li > p { margin: 0; }"], ["h3", "JSON Hyper Text"], ["p", "This is a demo of JSON representation of HTML."], ["ul", ["li", "An element may be a Text node, represented as a String"], ["li", ["p", "Or an Element node, represented as an array with element's tag name in the head,"], ["p", "followed by node's attributes dictionary, followed by node's children."], ["p", "(note: in this demo, ", ["code", "normalize"], " function adds attributes dictionary if you omit it)"]], ["li", "Or a Comment node, represented as an array: [\"!comment\", \"comment text\"]"]], ["p", "It is possible to represent any DOM tree in this form."], ["p", "For example, one can make ", ["b", "bold"], ", ", ["i", "italic"], " or ", ["b", ["i", "nested"]], "; ", ["span", {"id": "test", "class": "green"}, "and have arbitrary attributes."]], ["p", "DOM trees in this form are easy to parse, generate and process."], ["p", "List of interesting functions in the source code:"], ["ul", ["li", ["code", "unrender"], ": takes DOM element as an input, and outputs a corresponding JS representation."], ["li", ["code", "render"], ": takes JS representation of DOM as an input, and returns a corresponding DOM element."], ["li", ["code", "serizlize"], ": takes JS representation of DOM as an input, and returns a corresponding HTML string."], ["li", ["code", "normalize"], ": takes JS representation of DOM as an input, and collects all objects out of place to combine them into an attributes object."]], ["p", "The code on this page is dedicated to public domain."]]