std/htmlgen

    Dark Mode
Search:
  Source   Edit

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.

MathML

MathML is supported, MathML is part of HTML5. MathML is an Standard ISO/IEC 40314 from year 2015. MathML allows you to draw advanced math on the web, visually similar to Latex math.

Examples

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

Writes the string:

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

Example:

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


assert math(
  semantics(
    mrow(
      msup(
        mi("x"),
        mn("42")
      )
    )
  )
) == "<math><semantics><mrow><msup><mi>x</mi><mn>42</mn></msup></mrow></semantics></math>"

assert math(
  semantics(
    annotation(encoding = "application/x-tex", title = "Latex on Web", r"x^{2} + y")
  )
) == """<math><semantics><annotation encoding="application/x-tex" title="Latex on Web">x^{2} + y</annotation></semantics></math>"""

Consts

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
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

Procs

proc xmlCheckedTag(argsList: NimNode; tag: string; optAttr = ""; reqAttr = "";
                   isLeaf = false): NimNode {....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 figcaption(e: varargs[untyped]): untyped
Generates the HTML figcaption element.   Source   Edit
macro figure(e: varargs[untyped]): untyped
Generates the HTML figure 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 hr(): untyped
Generates the HTML hr element.   Source   Edit
macro html(e: varargs[untyped]): untyped
Generates the HTML html 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 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 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 portal(e: varargs[untyped]): untyped
Generates the HTML portal 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