Merge pull request #5187 from krux02/new-htmlgen

get rid of immediate macros in htmlgen module
This commit is contained in:
Andreas Rumpf 2017-01-07 00:24:04 +01:00 • committed by GitHub
commit 7c8563b8dd

View file

@ -95,389 +95,389 @@ proc xmlCheckedTag*(e: NimNode, tag: string, optAttr = "", reqAttr = "",
result = nestList(!"&", result) result = nestList(!"&", result)
macro a*(e: expr): expr {.immediate.} = macro a*(e: varargs[untyped]): untyped =
## generates the HTML ``a`` element. ## generates the HTML ``a`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "a", "href charset type hreflang rel rev " & result = xmlCheckedTag(e, "a", "href charset type hreflang rel rev " &
"accesskey tabindex" & commonAttr) "accesskey tabindex" & commonAttr)
macro acronym*(e: expr): expr {.immediate.} = macro acronym*(e: varargs[untyped]): untyped =
## generates the HTML ``acronym`` element. ## generates the HTML ``acronym`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "acronym", commonAttr) result = xmlCheckedTag(e, "acronym", commonAttr)
macro address*(e: expr): expr {.immediate.} = macro address*(e: varargs[untyped]): untyped =
## generates the HTML ``address`` element. ## generates the HTML ``address`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "address", commonAttr) result = xmlCheckedTag(e, "address", commonAttr)
macro area*(e: expr): expr {.immediate.} = macro area*(e: varargs[untyped]): untyped =
## generates the HTML ``area`` element. ## generates the HTML ``area`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "area", "shape coords href nohref" & result = xmlCheckedTag(e, "area", "shape coords href nohref" &
" accesskey tabindex" & commonAttr, "alt", true) " accesskey tabindex" & commonAttr, "alt", true)
macro b*(e: expr): expr {.immediate.} = macro b*(e: varargs[untyped]): untyped =
## generates the HTML ``b`` element. ## generates the HTML ``b`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "b", commonAttr) result = xmlCheckedTag(e, "b", commonAttr)
macro base*(e: expr): expr {.immediate.} = macro base*(e: varargs[untyped]): untyped =
## generates the HTML ``base`` element. ## generates the HTML ``base`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "base", "", "href", true) result = xmlCheckedTag(e, "base", "", "href", true)
macro big*(e: expr): expr {.immediate.} = macro big*(e: varargs[untyped]): untyped =
## generates the HTML ``big`` element. ## generates the HTML ``big`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "big", commonAttr) result = xmlCheckedTag(e, "big", commonAttr)
macro blockquote*(e: expr): expr {.immediate.} = macro blockquote*(e: varargs[untyped]): untyped =
## generates the HTML ``blockquote`` element. ## generates the HTML ``blockquote`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "blockquote", " cite" & commonAttr) result = xmlCheckedTag(e, "blockquote", " cite" & commonAttr)
macro body*(e: expr): expr {.immediate.} = macro body*(e: varargs[untyped]): untyped =
## generates the HTML ``body`` element. ## generates the HTML ``body`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "body", commonAttr) result = xmlCheckedTag(e, "body", commonAttr)
macro br*(e: expr): expr {.immediate.} = macro br*(e: varargs[untyped]): untyped =
## generates the HTML ``br`` element. ## generates the HTML ``br`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "br", "", "", true) result = xmlCheckedTag(e, "br", "", "", true)
macro button*(e: expr): expr {.immediate.} = macro button*(e: varargs[untyped]): untyped =
## generates the HTML ``button`` element. ## generates the HTML ``button`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "button", "accesskey tabindex " & result = xmlCheckedTag(e, "button", "accesskey tabindex " &
"disabled name type value" & commonAttr) "disabled name type value" & commonAttr)
macro caption*(e: expr): expr {.immediate.} = macro caption*(e: varargs[untyped]): untyped =
## generates the HTML ``caption`` element. ## generates the HTML ``caption`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "caption", commonAttr) result = xmlCheckedTag(e, "caption", commonAttr)
macro cite*(e: expr): expr {.immediate.} = macro cite*(e: varargs[untyped]): untyped =
## generates the HTML ``cite`` element. ## generates the HTML ``cite`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "cite", commonAttr) result = xmlCheckedTag(e, "cite", commonAttr)
macro code*(e: expr): expr {.immediate.} = macro code*(e: varargs[untyped]): untyped =
## generates the HTML ``code`` element. ## generates the HTML ``code`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "code", commonAttr) result = xmlCheckedTag(e, "code", commonAttr)
macro col*(e: expr): expr {.immediate.} = macro col*(e: varargs[untyped]): untyped =
## generates the HTML ``col`` element. ## generates the HTML ``col`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "col", "span align valign" & commonAttr, "", true) result = xmlCheckedTag(e, "col", "span align valign" & commonAttr, "", true)
macro colgroup*(e: expr): expr {.immediate.} = macro colgroup*(e: varargs[untyped]): untyped =
## generates the HTML ``colgroup`` element. ## generates the HTML ``colgroup`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "colgroup", "span align valign" & commonAttr) result = xmlCheckedTag(e, "colgroup", "span align valign" & commonAttr)
macro dd*(e: expr): expr {.immediate.} = macro dd*(e: varargs[untyped]): untyped =
## generates the HTML ``dd`` element. ## generates the HTML ``dd`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "dd", commonAttr) result = xmlCheckedTag(e, "dd", commonAttr)
macro del*(e: expr): expr {.immediate.} = macro del*(e: varargs[untyped]): untyped =
## generates the HTML ``del`` element. ## generates the HTML ``del`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "del", "cite datetime" & commonAttr) result = xmlCheckedTag(e, "del", "cite datetime" & commonAttr)
macro dfn*(e: expr): expr {.immediate.} = macro dfn*(e: varargs[untyped]): untyped =
## generates the HTML ``dfn`` element. ## generates the HTML ``dfn`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "dfn", commonAttr) result = xmlCheckedTag(e, "dfn", commonAttr)
macro `div`*(e: expr): expr {.immediate.} = macro `div`*(e: varargs[untyped]): untyped =
## generates the HTML ``div`` element. ## generates the HTML ``div`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "div", commonAttr) result = xmlCheckedTag(e, "div", commonAttr)
macro dl*(e: expr): expr {.immediate.} = macro dl*(e: varargs[untyped]): untyped =
## generates the HTML ``dl`` element. ## generates the HTML ``dl`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "dl", commonAttr) result = xmlCheckedTag(e, "dl", commonAttr)
macro dt*(e: expr): expr {.immediate.} = macro dt*(e: varargs[untyped]): untyped =
## generates the HTML ``dt`` element. ## generates the HTML ``dt`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "dt", commonAttr) result = xmlCheckedTag(e, "dt", commonAttr)
macro em*(e: expr): expr {.immediate.} = macro em*(e: varargs[untyped]): untyped =
## generates the HTML ``em`` element. ## generates the HTML ``em`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "em", commonAttr) result = xmlCheckedTag(e, "em", commonAttr)
macro fieldset*(e: expr): expr {.immediate.} = macro fieldset*(e: varargs[untyped]): untyped =
## generates the HTML ``fieldset`` element. ## generates the HTML ``fieldset`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "fieldset", commonAttr) result = xmlCheckedTag(e, "fieldset", commonAttr)
macro form*(e: expr): expr {.immediate.} = macro form*(e: varargs[untyped]): untyped =
## generates the HTML ``form`` element. ## generates the HTML ``form`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "form", "method encype accept accept-charset" & result = xmlCheckedTag(e, "form", "method encype accept accept-charset" &
commonAttr, "action") commonAttr, "action")
macro h1*(e: expr): expr {.immediate.} = macro h1*(e: varargs[untyped]): untyped =
## generates the HTML ``h1`` element. ## generates the HTML ``h1`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "h1", commonAttr) result = xmlCheckedTag(e, "h1", commonAttr)
macro h2*(e: expr): expr {.immediate.} = macro h2*(e: varargs[untyped]): untyped =
## generates the HTML ``h2`` element. ## generates the HTML ``h2`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "h2", commonAttr) result = xmlCheckedTag(e, "h2", commonAttr)
macro h3*(e: expr): expr {.immediate.} = macro h3*(e: varargs[untyped]): untyped =
## generates the HTML ``h3`` element. ## generates the HTML ``h3`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "h3", commonAttr) result = xmlCheckedTag(e, "h3", commonAttr)
macro h4*(e: expr): expr {.immediate.} = macro h4*(e: varargs[untyped]): untyped =
## generates the HTML ``h4`` element. ## generates the HTML ``h4`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "h4", commonAttr) result = xmlCheckedTag(e, "h4", commonAttr)
macro h5*(e: expr): expr {.immediate.} = macro h5*(e: varargs[untyped]): untyped =
## generates the HTML ``h5`` element. ## generates the HTML ``h5`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "h5", commonAttr) result = xmlCheckedTag(e, "h5", commonAttr)
macro h6*(e: expr): expr {.immediate.} = macro h6*(e: varargs[untyped]): untyped =
## generates the HTML ``h6`` element. ## generates the HTML ``h6`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "h6", commonAttr) result = xmlCheckedTag(e, "h6", commonAttr)
macro head*(e: expr): expr {.immediate.} = macro head*(e: varargs[untyped]): untyped =
## generates the HTML ``head`` element. ## generates the HTML ``head`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "head", "profile") result = xmlCheckedTag(e, "head", "profile")
macro html*(e: expr): expr {.immediate.} = macro html*(e: varargs[untyped]): untyped =
## generates the HTML ``html`` element. ## generates the HTML ``html`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "html", "xmlns", "") result = xmlCheckedTag(e, "html", "xmlns", "")
macro hr*(): expr {.immediate.} = macro hr*(): untyped =
## generates the HTML ``hr`` element. ## generates the HTML ``hr`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "hr", commonAttr, "", true) result = xmlCheckedTag(e, "hr", commonAttr, "", true)
macro i*(e: expr): expr {.immediate.} = macro i*(e: varargs[untyped]): untyped =
## generates the HTML ``i`` element. ## generates the HTML ``i`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "i", commonAttr) result = xmlCheckedTag(e, "i", commonAttr)
macro img*(e: expr): expr {.immediate.} = macro img*(e: varargs[untyped]): untyped =
## generates the HTML ``img`` element. ## generates the HTML ``img`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "img", "longdesc height width", "src alt", true) result = xmlCheckedTag(e, "img", "longdesc height width", "src alt", true)
macro input*(e: expr): expr {.immediate.} = macro input*(e: varargs[untyped]): untyped =
## generates the HTML ``input`` element. ## generates the HTML ``input`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "input", "name type value checked maxlength src" & result = xmlCheckedTag(e, "input", "name type value checked maxlength src" &
" alt accept disabled readonly accesskey tabindex" & commonAttr, "", true) " alt accept disabled readonly accesskey tabindex" & commonAttr, "", true)
macro ins*(e: expr): expr {.immediate.} = macro ins*(e: varargs[untyped]): untyped =
## generates the HTML ``ins`` element. ## generates the HTML ``ins`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "ins", "cite datetime" & commonAttr) result = xmlCheckedTag(e, "ins", "cite datetime" & commonAttr)
macro kbd*(e: expr): expr {.immediate.} = macro kbd*(e: varargs[untyped]): untyped =
## generates the HTML ``kbd`` element. ## generates the HTML ``kbd`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "kbd", commonAttr) result = xmlCheckedTag(e, "kbd", commonAttr)
macro label*(e: expr): expr {.immediate.} = macro label*(e: varargs[untyped]): untyped =
## generates the HTML ``label`` element. ## generates the HTML ``label`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "label", "for accesskey" & commonAttr) result = xmlCheckedTag(e, "label", "for accesskey" & commonAttr)
macro legend*(e: expr): expr {.immediate.} = macro legend*(e: varargs[untyped]): untyped =
## generates the HTML ``legend`` element. ## generates the HTML ``legend`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "legend", "accesskey" & commonAttr) result = xmlCheckedTag(e, "legend", "accesskey" & commonAttr)
macro li*(e: expr): expr {.immediate.} = macro li*(e: varargs[untyped]): untyped =
## generates the HTML ``li`` element. ## generates the HTML ``li`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "li", commonAttr) result = xmlCheckedTag(e, "li", commonAttr)
macro link*(e: expr): expr {.immediate.} = macro link*(e: varargs[untyped]): untyped =
## generates the HTML ``link`` element. ## generates the HTML ``link`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "link", "href charset hreflang type rel rev media" & result = xmlCheckedTag(e, "link", "href charset hreflang type rel rev media" &
commonAttr, "", true) commonAttr, "", true)
macro map*(e: expr): expr {.immediate.} = macro map*(e: varargs[untyped]): untyped =
## generates the HTML ``map`` element. ## generates the HTML ``map`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "map", "class title" & eventAttr, "id", false) result = xmlCheckedTag(e, "map", "class title" & eventAttr, "id", false)
macro meta*(e: expr): expr {.immediate.} = macro meta*(e: varargs[untyped]): untyped =
## generates the HTML ``meta`` element. ## generates the HTML ``meta`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "meta", "name http-equiv scheme", "content", true) result = xmlCheckedTag(e, "meta", "name http-equiv scheme", "content", true)
macro noscript*(e: expr): expr {.immediate.} = macro noscript*(e: varargs[untyped]): untyped =
## generates the HTML ``noscript`` element. ## generates the HTML ``noscript`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "noscript", commonAttr) result = xmlCheckedTag(e, "noscript", commonAttr)
macro `object`*(e: expr): expr {.immediate.} = macro `object`*(e: varargs[untyped]): untyped =
## generates the HTML ``object`` element. ## generates the HTML ``object`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "object", "classid data codebase declare type " & result = xmlCheckedTag(e, "object", "classid data codebase declare type " &
"codetype archive standby width height name tabindex" & commonAttr) "codetype archive standby width height name tabindex" & commonAttr)
macro ol*(e: expr): expr {.immediate.} = macro ol*(e: varargs[untyped]): untyped =
## generates the HTML ``ol`` element. ## generates the HTML ``ol`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "ol", commonAttr) result = xmlCheckedTag(e, "ol", commonAttr)
macro optgroup*(e: expr): expr {.immediate.} = macro optgroup*(e: varargs[untyped]): untyped =
## generates the HTML ``optgroup`` element. ## generates the HTML ``optgroup`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "optgroup", "disabled" & commonAttr, "label", false) result = xmlCheckedTag(e, "optgroup", "disabled" & commonAttr, "label", false)
macro option*(e: expr): expr {.immediate.} = macro option*(e: varargs[untyped]): untyped =
## generates the HTML ``option`` element. ## generates the HTML ``option`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "option", "selected value" & commonAttr) result = xmlCheckedTag(e, "option", "selected value" & commonAttr)
macro p*(e: expr): expr {.immediate.} = macro p*(e: varargs[untyped]): untyped =
## generates the HTML ``p`` element. ## generates the HTML ``p`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "p", commonAttr) result = xmlCheckedTag(e, "p", commonAttr)
macro param*(e: expr): expr {.immediate.} = macro param*(e: varargs[untyped]): untyped =
## generates the HTML ``param`` element. ## generates the HTML ``param`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "param", "value id type valuetype", "name", true) result = xmlCheckedTag(e, "param", "value id type valuetype", "name", true)
macro pre*(e: expr): expr {.immediate.} = macro pre*(e: varargs[untyped]): untyped =
## generates the HTML ``pre`` element. ## generates the HTML ``pre`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "pre", commonAttr) result = xmlCheckedTag(e, "pre", commonAttr)
macro q*(e: expr): expr {.immediate.} = macro q*(e: varargs[untyped]): untyped =
## generates the HTML ``q`` element. ## generates the HTML ``q`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "q", "cite" & commonAttr) result = xmlCheckedTag(e, "q", "cite" & commonAttr)
macro samp*(e: expr): expr {.immediate.} = macro samp*(e: varargs[untyped]): untyped =
## generates the HTML ``samp`` element. ## generates the HTML ``samp`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "samp", commonAttr) result = xmlCheckedTag(e, "samp", commonAttr)
macro script*(e: expr): expr {.immediate.} = macro script*(e: varargs[untyped]): untyped =
## generates the HTML ``script`` element. ## generates the HTML ``script`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "script", "src charset defer", "type", false) result = xmlCheckedTag(e, "script", "src charset defer", "type", false)
macro select*(e: expr): expr {.immediate.} = macro select*(e: varargs[untyped]): untyped =
## generates the HTML ``select`` element. ## generates the HTML ``select`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "select", "name size multiple disabled tabindex" & result = xmlCheckedTag(e, "select", "name size multiple disabled tabindex" &
commonAttr) commonAttr)
macro small*(e: expr): expr {.immediate.} = macro small*(e: varargs[untyped]): untyped =
## generates the HTML ``small`` element. ## generates the HTML ``small`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "small", commonAttr) result = xmlCheckedTag(e, "small", commonAttr)
macro span*(e: expr): expr {.immediate.} = macro span*(e: varargs[untyped]): untyped =
## generates the HTML ``span`` element. ## generates the HTML ``span`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "span", commonAttr) result = xmlCheckedTag(e, "span", commonAttr)
macro strong*(e: expr): expr {.immediate.} = macro strong*(e: varargs[untyped]): untyped =
## generates the HTML ``strong`` element. ## generates the HTML ``strong`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "strong", commonAttr) result = xmlCheckedTag(e, "strong", commonAttr)
macro style*(e: expr): expr {.immediate.} = macro style*(e: varargs[untyped]): untyped =
## generates the HTML ``style`` element. ## generates the HTML ``style`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "style", "media title", "type") result = xmlCheckedTag(e, "style", "media title", "type")
macro sub*(e: expr): expr {.immediate.} = macro sub*(e: varargs[untyped]): untyped =
## generates the HTML ``sub`` element. ## generates the HTML ``sub`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "sub", commonAttr) result = xmlCheckedTag(e, "sub", commonAttr)
macro sup*(e: expr): expr {.immediate.} = macro sup*(e: varargs[untyped]): untyped =
## generates the HTML ``sup`` element. ## generates the HTML ``sup`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "sup", commonAttr) result = xmlCheckedTag(e, "sup", commonAttr)
macro table*(e: expr): expr {.immediate.} = macro table*(e: varargs[untyped]): untyped =
## generates the HTML ``table`` element. ## generates the HTML ``table`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "table", "summary border cellpadding cellspacing" & result = xmlCheckedTag(e, "table", "summary border cellpadding cellspacing" &
" frame rules width" & commonAttr) " frame rules width" & commonAttr)
macro tbody*(e: expr): expr {.immediate.} = macro tbody*(e: varargs[untyped]): untyped =
## generates the HTML ``tbody`` element. ## generates the HTML ``tbody`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "tbody", "align valign" & commonAttr) result = xmlCheckedTag(e, "tbody", "align valign" & commonAttr)
macro td*(e: expr): expr {.immediate.} = macro td*(e: varargs[untyped]): untyped =
## generates the HTML ``td`` element. ## generates the HTML ``td`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "td", "colspan rowspan abbr axis headers scope" & result = xmlCheckedTag(e, "td", "colspan rowspan abbr axis headers scope" &
" align valign" & commonAttr) " align valign" & commonAttr)
macro textarea*(e: expr): expr {.immediate.} = macro textarea*(e: varargs[untyped]): untyped =
## generates the HTML ``textarea`` element. ## generates the HTML ``textarea`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "textarea", " name disabled readonly accesskey" & result = xmlCheckedTag(e, "textarea", " name disabled readonly accesskey" &
" tabindex" & commonAttr, "rows cols", false) " tabindex" & commonAttr, "rows cols", false)
macro tfoot*(e: expr): expr {.immediate.} = macro tfoot*(e: varargs[untyped]): untyped =
## generates the HTML ``tfoot`` element. ## generates the HTML ``tfoot`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "tfoot", "align valign" & commonAttr) result = xmlCheckedTag(e, "tfoot", "align valign" & commonAttr)
macro th*(e: expr): expr {.immediate.} = macro th*(e: varargs[untyped]): untyped =
## generates the HTML ``th`` element. ## generates the HTML ``th`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "th", "colspan rowspan abbr axis headers scope" & result = xmlCheckedTag(e, "th", "colspan rowspan abbr axis headers scope" &
" align valign" & commonAttr) " align valign" & commonAttr)
macro thead*(e: expr): expr {.immediate.} = macro thead*(e: varargs[untyped]): untyped =
## generates the HTML ``thead`` element. ## generates the HTML ``thead`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "thead", "align valign" & commonAttr) result = xmlCheckedTag(e, "thead", "align valign" & commonAttr)
macro title*(e: expr): expr {.immediate.} = macro title*(e: varargs[untyped]): untyped =
## generates the HTML ``title`` element. ## generates the HTML ``title`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "title") result = xmlCheckedTag(e, "title")
macro tr*(e: expr): expr {.immediate.} = macro tr*(e: varargs[untyped]): untyped =
## generates the HTML ``tr`` element. ## generates the HTML ``tr`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "tr", "align valign" & commonAttr) result = xmlCheckedTag(e, "tr", "align valign" & commonAttr)
macro tt*(e: expr): expr {.immediate.} = macro tt*(e: varargs[untyped]): untyped =
## generates the HTML ``tt`` element. ## generates the HTML ``tt`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "tt", commonAttr) result = xmlCheckedTag(e, "tt", commonAttr)
macro ul*(e: expr): expr {.immediate.} = macro ul*(e: varargs[untyped]): untyped =
## generates the HTML ``ul`` element. ## generates the HTML ``ul`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "ul", commonAttr) result = xmlCheckedTag(e, "ul", commonAttr)
macro `var`*(e: expr): expr {.immediate.} = macro `var`*(e: varargs[untyped]): untyped =
## generates the HTML ``var`` element. ## generates the HTML ``var`` element.
let e = callsite() let e = callsite()
result = xmlCheckedTag(e, "var", commonAttr) result = xmlCheckedTag(e, "var", commonAttr)