hickory.core
Attribute
Comment
Document
DocumentType
Element
HiccupRepresentable
- Objects that can be represented as Hiccup nodes implement this protocol in order to make the conversion.HickoryRepresentable
- Objects that can be represented as HTML DOM node maps, similar to clojure.xml, implement this protocol to make the conversion.Text
as-hiccup
- Converts the node given into a hiccup-format data structure.as-hickory
- Converts the node given into a hickory-format data structure.extract-doctype
format-doctype
node-type
parse
- Parse an entire HTML document into a DOM structure that can be used as input to as-hiccup or as-hickory.parse-dom-with-domparser
parse-dom-with-write
- Parse an HTML document (or fragment) as a DOM using document.implementation.createHTMLDocument and document.write.parse-fragment
- Parse an HTML fragment (some group of tags that might be at home somewhere in the tag hierarchy under ) into a list of DOM elements that can each be passed as input to as-hiccup or as-hickory.remove-el
Objects that can be represented as Hiccup nodes implement this protocol in order to make the conversion.
Objects that can be represented as HTML DOM node maps, similar to clojure.xml, implement this protocol to make the conversion.
Each DOM node will be a map or string (for Text/CDATASections). Nodes that are maps have the appropriate subset of the keys
:type - [:comment, :document, :document-type, :element]
:tag - node's tag, check :type to see if applicable
:attrs - node's attributes as a map, check :type to see if applicable
:content - node's child nodes, in a vector, check :type to see if
applicable
(as-hiccup this)
Converts the node given into a hiccup-format data structure. The node must have an implementation of the HiccupRepresentable protocol; nodes created by parse or parse-fragment already do.
(as-hickory this)
Converts the node given into a hickory-format data structure. The node must have an implementation of the HickoryRepresentable protocol; nodes created by parse or parse-fragment already do.
(extract-doctype s)
(format-doctype dt)
(node-type type)
(parse s)
Parse an entire HTML document into a DOM structure that can be used as input to as-hiccup or as-hickory.
(-> (parse "<a style=\"visibility:hidden\">foo</a><div style=\"color:green\"><p>Hello</p></div>")
as-hiccup)
(-> (parse "<a style=\"visibility:hidden\">foo</a><div style=\"color:green\"><p>Hello</p></div>")
as-hickory)
(parse-dom-with-domparser s)
(parse-dom-with-write s)
Parse an HTML document (or fragment) as a DOM using document.implementation.createHTMLDocument and document.write.
(parse-fragment s)
Parse an HTML fragment (some group of tags that might be at home somewhere in the tag hierarchy under ) into a list of DOM elements that can each be passed as input to as-hiccup or as-hickory.
(remove-el el)