Warning: This module uses immediate macros which are known to cause problems. Do yourself a favor and import the module as from htmlgen import nil and then fully qualify the macros.
This module implements a simple XML and HTML code generator. Each commonly used HTML tag has a corresponding macro that generates a string with its HTML representation.
Example:
var nim = "Nimrod" echo h1(a(href="http://nimrod-lang.org", nim))
Writes the string:
<h1><a href="http://nimrod-lang.org">Nimrod</a></h1>
Consts
coreAttr = " id class title style "
eventAttr = " onclick ondblclick onmousedown onmouseup onmouseover onmousemove onmouseout onkeypress onkeydown onkeyup "
commonAttr = " id class title style onclick ondblclick onmousedown onmouseup onmouseover onmousemove onmouseout onkeypress onkeydown onkeyup "
Procs
proc xmlCheckedTag(e: PNimrodNode; tag: string; optAttr = ""; reqAttr = ""; isLeaf = false): PNimrodNode {.compileTime, raises: [], tags: [].}
- use this procedure to define a new XML tag
Macros
macro a(e: expr): expr {.immediate.}
- generates the HTML a element.
macro acronym(e: expr): expr {.immediate.}
- generates the HTML acronym element.
macro address(e: expr): expr {.immediate.}
- generates the HTML address element.
macro area(e: expr): expr {.immediate.}
- generates the HTML area element.
macro b(e: expr): expr {.immediate.}
- generates the HTML b element.
macro base(e: expr): expr {.immediate.}
- generates the HTML base element.
macro big(e: expr): expr {.immediate.}
- generates the HTML big element.
macro blockquote(e: expr): expr {.immediate.}
- generates the HTML blockquote element.
macro body(e: expr): expr {.immediate.}
- generates the HTML body element.
macro br(e: expr): expr {.immediate.}
- generates the HTML br element.
macro button(e: expr): expr {.immediate.}
- generates the HTML button element.
macro caption(e: expr): expr {.immediate.}
- generates the HTML caption element.
macro cite(e: expr): expr {.immediate.}
- generates the HTML cite element.
macro code(e: expr): expr {.immediate.}
- generates the HTML code element.
macro col(e: expr): expr {.immediate.}
- generates the HTML col element.
macro colgroup(e: expr): expr {.immediate.}
- generates the HTML colgroup element.
macro dd(e: expr): expr {.immediate.}
- generates the HTML dd element.
macro del(e: expr): expr {.immediate.}
- generates the HTML del element.
macro dfn(e: expr): expr {.immediate.}
- generates the HTML dfn element.
macro `div`(e: expr): expr {.immediate.}
- generates the HTML div element.
macro dl(e: expr): expr {.immediate.}
- generates the HTML dl element.
macro dt(e: expr): expr {.immediate.}
- generates the HTML dt element.
macro em(e: expr): expr {.immediate.}
- generates the HTML em element.
macro fieldset(e: expr): expr {.immediate.}
- generates the HTML fieldset element.
macro form(e: expr): expr {.immediate.}
- generates the HTML form element.
macro h1(e: expr): expr {.immediate.}
- generates the HTML h1 element.
macro h2(e: expr): expr {.immediate.}
- generates the HTML h2 element.
macro h3(e: expr): expr {.immediate.}
- generates the HTML h3 element.
macro h4(e: expr): expr {.immediate.}
- generates the HTML h4 element.
macro h5(e: expr): expr {.immediate.}
- generates the HTML h5 element.
macro h6(e: expr): expr {.immediate.}
- generates the HTML h6 element.
macro head(e: expr): expr {.immediate.}
- generates the HTML head element.
macro html(e: expr): expr {.immediate.}
- generates the HTML html element.
macro hr(e: expr): expr {.immediate.}
- generates the HTML hr element.
macro i(e: expr): expr {.immediate.}
- generates the HTML i element.
macro img(e: expr): expr {.immediate.}
- generates the HTML img element.
macro input(e: expr): expr {.immediate.}
- generates the HTML input element.
macro ins(e: expr): expr {.immediate.}
- generates the HTML ins element.
macro kbd(e: expr): expr {.immediate.}
- generates the HTML kbd element.
macro label(e: expr): expr {.immediate.}
- generates the HTML label element.
macro legend(e: expr): expr {.immediate.}
- generates the HTML legend element.
macro li(e: expr): expr {.immediate.}
- generates the HTML li element.
macro link(e: expr): expr {.immediate.}
- generates the HTML link element.
macro map(e: expr): expr {.immediate.}
- generates the HTML map element.
macro meta(e: expr): expr {.immediate.}
- generates the HTML meta element.
macro noscript(e: expr): expr {.immediate.}
- generates the HTML noscript element.
macro `object`(e: expr): expr {.immediate.}
- generates the HTML object element.
macro ol(e: expr): expr {.immediate.}
- generates the HTML ol element.
macro optgroup(e: expr): expr {.immediate.}
- generates the HTML optgroup element.
macro option(e: expr): expr {.immediate.}
- generates the HTML option element.
macro p(e: expr): expr {.immediate.}
- generates the HTML p element.
macro param(e: expr): expr {.immediate.}
- generates the HTML param element.
macro pre(e: expr): expr {.immediate.}
- generates the HTML pre element.
macro q(e: expr): expr {.immediate.}
- generates the HTML q element.
macro samp(e: expr): expr {.immediate.}
- generates the HTML samp element.
macro script(e: expr): expr {.immediate.}
- generates the HTML script element.
macro select(e: expr): expr {.immediate.}
- generates the HTML select element.
macro small(e: expr): expr {.immediate.}
- generates the HTML small element.
macro span(e: expr): expr {.immediate.}
- generates the HTML span element.
macro strong(e: expr): expr {.immediate.}
- generates the HTML strong element.
macro style(e: expr): expr {.immediate.}
- generates the HTML style element.
macro sub(e: expr): expr {.immediate.}
- generates the HTML sub element.
macro sup(e: expr): expr {.immediate.}
- generates the HTML sup element.
macro table(e: expr): expr {.immediate.}
- generates the HTML table element.
macro tbody(e: expr): expr {.immediate.}
- generates the HTML tbody element.
macro td(e: expr): expr {.immediate.}
- generates the HTML td element.
macro textarea(e: expr): expr {.immediate.}
- generates the HTML textarea element.
macro tfoot(e: expr): expr {.immediate.}
- generates the HTML tfoot element.
macro th(e: expr): expr {.immediate.}
- generates the HTML th element.
macro thead(e: expr): expr {.immediate.}
- generates the HTML thead element.
macro title(e: expr): expr {.immediate.}
- generates the HTML title element.
macro tr(e: expr): expr {.immediate.}
- generates the HTML tr element.
macro tt(e: expr): expr {.immediate.}
- generates the HTML tt element.
macro ul(e: expr): expr {.immediate.}
- generates the HTML ul element.
macro `var`(e: expr): expr {.immediate.}
- generates the HTML var element.