# htmlgen

- Manual
- Standard library
- Index

Search:
Group by:

Do yourself a favor and import the module as `from htmlgen import nil` and then fully qualify the macros.

Note: The Karax project (`nimble install karax`) has a better way to achieve the same, see https://github.com/pragmagic/karax/blob/master/tests/nativehtmlgen.nim for an example.

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.

# Examples

    var nim = "Nim"
    echo h1(a(href="http://nim-lang.org", nim))

Writes the string:

    <h1><a href="http://nim-lang.org">Nim</a></h1>

Examples:

    let nim = "Nim"
    assert h1(a(href = "http://nim-lang.org", nim)) ==
        """<h1><a href="http://nim-lang.org">Nim</a></h1>"""
    assert form(action = "test", `accept - charset` = "Content-Type") ==
        """<form action="test" accept-charset="Content-Type"></form>"""

# Imports

macros, strutils

# Consts

    coreAttr = " accesskey class contenteditable dir hidden id lang spellcheck style tabindex title translate "

  HTML DOM Core Attributes Source Edit

    eventAttr = "onabort onblur oncancel oncanplay oncanplaythrough onchange onclick oncuechange ondblclick ondurationchange onemptied onended onerror onfocus oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata onloadedmetadata onloadstart onmousedown onmouseenter onmouseleave onmousemove onmouseout onmouseover onmouseup onmousewheel onpause onplay onplaying onprogress onratechange onreset onresize onscroll onseeked onseeking onselect onshow onstalled onsubmit onsuspend ontimeupdate ontoggle onvolumechange onwaiting "

  HTML DOM Event Attributes Source Edit

    ariaAttr = " role "

  HTML DOM Aria Attributes Source Edit

    commonAttr = " accesskey class contenteditable dir hidden id lang spellcheck style tabindex title translate onabort onblur oncancel oncanplay oncanplaythrough onchange onclick oncuechange ondblclick ondurationchange onemptied onended onerror onfocus oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata onloadedmetadata onloadstart onmousedown onmouseenter onmouseleave onmousemove onmouseout onmouseover onmouseup onmousewheel onpause onplay onplaying onprogress onratechange onreset onresize onscroll onseeked onseeking onselect onshow onstalled onsubmit onsuspend ontimeupdate ontoggle onvolumechange onwaiting  role "

  HTML DOM Common Attributes Source Edit

# Procs

    proc xmlCheckedTag(argsList: NimNode; tag: string; optAttr = ""; reqAttr = "";
                      isLeaf = false): NimNode {...}{.compileTime, raises: [], tags: [].}

  use this procedure to define a new XML tag Source Edit

# Macros

    macro a(e: varargs[untyped]): untyped

  generates the HTML `a` element. Source Edit

    macro abbr(e: varargs[untyped]): untyped

  generates the HTML `abbr` element. Source Edit

    macro address(e: varargs[untyped]): untyped

  generates the HTML `address` element. Source Edit

    macro area(e: varargs[untyped]): untyped

  generates the HTML `area` element. Source Edit

    macro article(e: varargs[untyped]): untyped

  generates the HTML `article` element. Source Edit

    macro aside(e: varargs[untyped]): untyped

  generates the HTML `aside` element. Source Edit

    macro audio(e: varargs[untyped]): untyped

  generates the HTML `audio` element. Source Edit

    macro b(e: varargs[untyped]): untyped

  generates the HTML `b` element. Source Edit

    macro base(e: varargs[untyped]): untyped

  generates the HTML `base` element. Source Edit

    macro bdi(e: varargs[untyped]): untyped

  generates the HTML `bdi` element. Source Edit

    macro bdo(e: varargs[untyped]): untyped

  generates the HTML `bdo` element. Source Edit

    macro big(e: varargs[untyped]): untyped

  generates the HTML `big` element. Source Edit

    macro blockquote(e: varargs[untyped]): untyped

  generates the HTML `blockquote` element. Source Edit

    macro body(e: varargs[untyped]): untyped

  generates the HTML `body` element. Source Edit

    macro br(e: varargs[untyped]): untyped

  generates the HTML `br` element. Source Edit

    macro button(e: varargs[untyped]): untyped

  generates the HTML `button` element. Source Edit

    macro canvas(e: varargs[untyped]): untyped

  generates the HTML `canvas` element. Source Edit

    macro caption(e: varargs[untyped]): untyped

  generates the HTML `caption` element. Source Edit

    macro center(e: varargs[untyped]): untyped

  Generates the HTML `center` element. Source Edit

    macro cite(e: varargs[untyped]): untyped

  generates the HTML `cite` element. Source Edit

    macro code(e: varargs[untyped]): untyped

  generates the HTML `code` element. Source Edit

    macro col(e: varargs[untyped]): untyped

  generates the HTML `col` element. Source Edit

    macro colgroup(e: varargs[untyped]): untyped

  generates the HTML `colgroup` element. Source Edit

    macro data(e: varargs[untyped]): untyped

  generates the HTML `data` element. Source Edit

    macro datalist(e: varargs[untyped]): untyped

  generates the HTML `datalist` element. Source Edit

    macro dd(e: varargs[untyped]): untyped

  generates the HTML `dd` element. Source Edit

    macro del(e: varargs[untyped]): untyped

  generates the HTML `del` element. Source Edit

    macro details(e: varargs[untyped]): untyped

  Generates the HTML `details` element. Source Edit

    macro dfn(e: varargs[untyped]): untyped

  generates the HTML `dfn` element. Source Edit

    macro dialog(e: varargs[untyped]): untyped

  Generates the HTML `dialog` element. Source Edit

    macro `div`(e: varargs[untyped]): untyped

  generates the HTML `div` element. Source Edit

    macro dl(e: varargs[untyped]): untyped

  generates the HTML `dl` element. Source Edit

    macro dt(e: varargs[untyped]): untyped

  generates the HTML `dt` element. Source Edit

    macro em(e: varargs[untyped]): untyped

  generates the HTML `em` element. Source Edit

    macro embed(e: varargs[untyped]): untyped

  generates the HTML `embed` element. Source Edit

    macro fieldset(e: varargs[untyped]): untyped

  generates the HTML `fieldset` element. Source Edit

    macro figure(e: varargs[untyped]): untyped

  generates the HTML `figure` element. Source Edit

    macro figcaption(e: varargs[untyped]): untyped

  generates the HTML `figcaption` element. Source Edit

    macro footer(e: varargs[untyped]): untyped

  generates the HTML `footer` element. Source Edit

    macro form(e: varargs[untyped]): untyped

  generates the HTML `form` element. Source Edit

    macro h1(e: varargs[untyped]): untyped

  generates the HTML `h1` element. Source Edit

    macro h2(e: varargs[untyped]): untyped

  generates the HTML `h2` element. Source Edit

    macro h3(e: varargs[untyped]): untyped

  generates the HTML `h3` element. Source Edit

    macro h4(e: varargs[untyped]): untyped

  generates the HTML `h4` element. Source Edit

    macro h5(e: varargs[untyped]): untyped

  generates the HTML `h5` element. Source Edit

    macro h6(e: varargs[untyped]): untyped

  generates the HTML `h6` element. Source Edit

    macro head(e: varargs[untyped]): untyped

  generates the HTML `head` element. Source Edit

    macro header(e: varargs[untyped]): untyped

  generates the HTML `header` element. Source Edit

    macro html(e: varargs[untyped]): untyped

  generates the HTML `html` element. Source Edit

    macro hr(): untyped

  generates the HTML `hr` element. Source Edit

    macro i(e: varargs[untyped]): untyped

  generates the HTML `i` element. Source Edit

    macro iframe(e: varargs[untyped]): untyped

  generates the HTML `iframe` element. Source Edit

    macro img(e: varargs[untyped]): untyped

  generates the HTML `img` element. Source Edit

    macro input(e: varargs[untyped]): untyped

  generates the HTML `input` element. Source Edit

    macro ins(e: varargs[untyped]): untyped

  generates the HTML `ins` element. Source Edit

    macro kbd(e: varargs[untyped]): untyped

  generates the HTML `kbd` element. Source Edit

    macro keygen(e: varargs[untyped]): untyped

  generates the HTML `keygen` element. Source Edit

    macro label(e: varargs[untyped]): untyped

  generates the HTML `label` element. Source Edit

    macro legend(e: varargs[untyped]): untyped

  generates the HTML `legend` element. Source Edit

    macro li(e: varargs[untyped]): untyped

  generates the HTML `li` element. Source Edit

    macro link(e: varargs[untyped]): untyped

  generates the HTML `link` element. Source Edit

    macro main(e: varargs[untyped]): untyped

  generates the HTML `main` element. Source Edit

    macro map(e: varargs[untyped]): untyped

  generates the HTML `map` element. Source Edit

    macro mark(e: varargs[untyped]): untyped

  generates the HTML `mark` element. Source Edit

    macro marquee(e: varargs[untyped]): untyped

  Generates the HTML `marquee` element. Source Edit

    macro meta(e: varargs[untyped]): untyped

  generates the HTML `meta` element. Source Edit

    macro meter(e: varargs[untyped]): untyped

  generates the HTML `meter` element. Source Edit

    macro nav(e: varargs[untyped]): untyped

  generates the HTML `nav` element. Source Edit

    macro noscript(e: varargs[untyped]): untyped

  generates the HTML `noscript` element. Source Edit

    macro `object`(e: varargs[untyped]): untyped

  generates the HTML `object` element. Source Edit

    macro ol(e: varargs[untyped]): untyped

  generates the HTML `ol` element. Source Edit

    macro optgroup(e: varargs[untyped]): untyped

  generates the HTML `optgroup` element. Source Edit

    macro option(e: varargs[untyped]): untyped

  generates the HTML `option` element. Source Edit

    macro output(e: varargs[untyped]): untyped

  generates the HTML `output` element. Source Edit

    macro p(e: varargs[untyped]): untyped

  generates the HTML `p` element. Source Edit

    macro param(e: varargs[untyped]): untyped

  generates the HTML `param` element. Source Edit

    macro picture(e: varargs[untyped]): untyped

  Generates the HTML `picture` element. Source Edit

    macro pre(e: varargs[untyped]): untyped

  generates the HTML `pre` element. Source Edit

    macro progress(e: varargs[untyped]): untyped

  generates the HTML `progress` element. Source Edit

    macro q(e: varargs[untyped]): untyped

  generates the HTML `q` element. Source Edit

    macro rb(e: varargs[untyped]): untyped

  generates the HTML `rb` element. Source Edit

    macro rp(e: varargs[untyped]): untyped

  generates the HTML `rp` element. Source Edit

    macro rt(e: varargs[untyped]): untyped

  generates the HTML `rt` element. Source Edit

    macro rtc(e: varargs[untyped]): untyped

  generates the HTML `rtc` element. Source Edit

    macro ruby(e: varargs[untyped]): untyped

  generates the HTML `ruby` element. Source Edit

    macro s(e: varargs[untyped]): untyped

  generates the HTML `s` element. Source Edit

    macro samp(e: varargs[untyped]): untyped

  generates the HTML `samp` element. Source Edit

    macro script(e: varargs[untyped]): untyped

  generates the HTML `script` element. Source Edit

    macro section(e: varargs[untyped]): untyped

  generates the HTML `section` element. Source Edit

    macro select(e: varargs[untyped]): untyped

  generates the HTML `select` element. Source Edit

    macro slot(e: varargs[untyped]): untyped

  Generates the HTML `slot` element. Source Edit

    macro small(e: varargs[untyped]): untyped

  generates the HTML `small` element. Source Edit

    macro source(e: varargs[untyped]): untyped

  generates the HTML `source` element. Source Edit

    macro span(e: varargs[untyped]): untyped

  generates the HTML `span` element. Source Edit

    macro strong(e: varargs[untyped]): untyped

  generates the HTML `strong` element. Source Edit

    macro style(e: varargs[untyped]): untyped

  generates the HTML `style` element. Source Edit

    macro sub(e: varargs[untyped]): untyped

  generates the HTML `sub` element. Source Edit

    macro summary(e: varargs[untyped]): untyped

  Generates the HTML `summary` element. Source Edit

    macro sup(e: varargs[untyped]): untyped

  generates the HTML `sup` element. Source Edit

    macro table(e: varargs[untyped]): untyped

  generates the HTML `table` element. Source Edit

    macro tbody(e: varargs[untyped]): untyped

  generates the HTML `tbody` element. Source Edit

    macro td(e: varargs[untyped]): untyped

  generates the HTML `td` element. Source Edit

    macro `template`(e: varargs[untyped]): untyped

  generates the HTML `template` element. Source Edit

    macro textarea(e: varargs[untyped]): untyped

  generates the HTML `textarea` element. Source Edit

    macro tfoot(e: varargs[untyped]): untyped

  generates the HTML `tfoot` element. Source Edit

    macro th(e: varargs[untyped]): untyped

  generates the HTML `th` element. Source Edit

    macro thead(e: varargs[untyped]): untyped

  generates the HTML `thead` element. Source Edit

    macro time(e: varargs[untyped]): untyped

  generates the HTML `time` element. Source Edit

    macro title(e: varargs[untyped]): untyped

  generates the HTML `title` element. Source Edit

    macro tr(e: varargs[untyped]): untyped

  generates the HTML `tr` element. Source Edit

    macro track(e: varargs[untyped]): untyped

  generates the HTML `track` element. Source Edit

    macro tt(e: varargs[untyped]): untyped

  generates the HTML `tt` element. Source Edit

    macro u(e: varargs[untyped]): untyped

  generates the HTML `u` element. Source Edit

    macro ul(e: varargs[untyped]): untyped

  generates the HTML `ul` element. Source Edit

    macro `var`(e: varargs[untyped]): untyped

  generates the HTML `var` element. Source Edit

    macro video(e: varargs[untyped]): untyped

  generates the HTML `video` element. Source Edit

    macro wbr(e: varargs[untyped]): untyped

  generates the HTML `wbr` element. Source Edit