(-main & args)
Generate an HTML 5 EBNF grammar based on specification data from the W3C.
This takes about 7 seconds to run
Generate an HTML 5 EBNF grammar based on specification data from the W3C. This takes about 7 seconds to run
(deref-content h)
Recursively pull text content out of hickory data (remove internal tags)
Recursively pull text content out of hickory data (remove internal tags)
(ebnf-combined-str opts)
Take opts with prefix, base, elements and attributes data paths and return an EBNF grammar as a string that represents the full HTML5 EBNF syntax.
Take opts with prefix, base, elements and attributes data paths and return an EBNF grammar as a string that represents the full HTML5 EBNF syntax.
(ebnf-elements-attributes elements attributes input-attrs autofill-attrs)
Takes an element list, an attribute list, and a form semantics list and returns an EBNF grammar for HTML5 elements, attributes (global and non-global), and input form types.
Takes an element list, an attribute list, and a form semantics list and returns an EBNF grammar for HTML5 elements, attributes (global and non-global), and input form types.
(field-mangle k v)
Translate the W3C section table (hickory) data into map values. The specific translation depends on the field name/keyword.
Translate the W3C section table (hickory) data into map values. The specific translation depends on the field name/keyword.
(header-mangle h)
Translate W3C section table header into map keyword.
Translate W3C section table header into map keyword.
(item-names s)
Extract items names of the form <{name}>...
Extract items names of the form <{name}>...
(parse-w3c-include include-data table-idx)
Given the raw W3C section HTML for elements, attributes or semantics, return a list of maps with the parsed data.
Parsing elements.include returns a list of maps each of this form: {:element "a", :description "Hyperlink", :categories ["flow" "phrasing*" "interactive"], :parents "phrasing", :children "transparent*", :attributes ("links/href" "links/target" "links/download" ...), :interface "{{HTMLAnchorElement}}"}
Parsing attributes.include returns a list of maps each of this form: {:attribute "abbr", :elements ["th"], :description "Alternative label to use for the header cell ...", :value {:raw "<a>Text</a>" :literals #{}, :metas #{"Text"}}}
Parsing semantics-forms.include returns a list of maps each of this form: {:keyword "text", :state "Text", :datatype "Text with no line breaks", :controltype "A text field or combo box"}
Given the raw W3C section HTML for elements, attributes or semantics, return a list of maps with the parsed data. Parsing elements.include returns a list of maps each of this form: {:element "a", :description "Hyperlink", :categories ["flow" "phrasing*" "interactive"], :parents "phrasing", :children "transparent*", :attributes ("links/href" "links/target" "links/download" ...), :interface "{{HTMLAnchorElement}}"} Parsing attributes.include returns a list of maps each of this form: {:attribute "abbr", :elements ["th"], :description "Alternative label to use for the header cell ...", :value {:raw "<a>Text</a>" :literals #{}, :metas #{"Text"}}} Parsing semantics-forms.include returns a list of maps each of this form: {:keyword "text", :state "Text", :datatype "Text with no line breaks", :controltype "A text field or combo box"}
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close