htmlgen
Сделайте себе одолжение и импортируйте модуль как from htmlgen import nil, а затем полностью квалифицируйте макросы.
Примечание: Проект Karax (nimble install karax) имеет лучший способ достижения того же результата, см. https://github.com/pragmagic/karax/blob/master/tests/nativehtmlgen.nim для примера.
Этот модуль реализует простой генератор кода XML и HTML. Каждый часто используемый тег HTML имеет соответствующий макрос, который генерирует строку с его HTML-представлением.
MathML
MathML поддерживается, MathML является частью HTML5. MathML — это стандарт ISO/IEC 40314 от 2015 года. MathML позволяет вам выводить сложные математические выражения в веб-документе, визуально похожие на математические выражения в Latex.
Примеры
var nim = "Nim" echo h1(a(href="https://nim-lang.org", nim))
Записывает строку:
<h1><a href="https://nim-lang.org">Nim</a></h1>
Пример:
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>""" Импорты
- macros, strutils
Константы
coreAttr = " accesskey class contenteditable dir hidden id lang spellcheck style tabindex title translate "
- Атрибуты ядра HTML DOM Исходный код Редактировать
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 Исходный код Редактировать
ariaAttr = " role "
- Атрибуты Aria HTML DOM Исходный код Редактировать
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 Исходный код Редактировать
Процедуры
proc xmlCheckedTag(argsList: NimNode; tag: string; optAttr = ""; reqAttr = ""; isLeaf = false): NimNode {...}{.compileTime, raises: [], tags: [].}- Используйте эту процедуру для определения нового тега XML Исходный код Редактировать
Макросы
macro a(e: varargs[untyped]): untyped
- Generates the HTML
aelement. Source Edit macro abbr(e: varargs[untyped]): untyped
- Generates the HTML
abbrelement. Source Edit macro address(e: varargs[untyped]): untyped
- Generates the HTML
addresselement. Source Edit macro area(e: varargs[untyped]): untyped
- Generates the HTML
areaelement. Source Edit macro article(e: varargs[untyped]): untyped
- Generates the HTML
articleelement. Source Edit macro aside(e: varargs[untyped]): untyped
- Generates the HTML
asideelement. Source Edit macro audio(e: varargs[untyped]): untyped
- Generates the HTML
audioelement. Source Edit macro b(e: varargs[untyped]): untyped
- Generates the HTML
belement. Source Edit macro base(e: varargs[untyped]): untyped
- Generates the HTML
baseelement. Source Edit macro bdi(e: varargs[untyped]): untyped
- Generates the HTML
bdielement. Source Edit macro bdo(e: varargs[untyped]): untyped
- Generates the HTML
bdoelement. Source Edit macro big(e: varargs[untyped]): untyped
- Generates the HTML
bigelement. Source Edit macro blockquote(e: varargs[untyped]): untyped
- Generates the HTML
blockquoteelement. Source Edit macro body(e: varargs[untyped]): untyped
- Generates the HTML
bodyelement. Source Edit macro br(e: varargs[untyped]): untyped
- Generates the HTML
brelement. Source Edit macro button(e: varargs[untyped]): untyped
- Generates the HTML
buttonelement. Source Edit macro canvas(e: varargs[untyped]): untyped
- Generates the HTML
canvaselement. Source Edit macro caption(e: varargs[untyped]): untyped
- Generates the HTML
captionelement. Source Edit macro center(e: varargs[untyped]): untyped
- Generates the HTML
centerelement. Source Edit macro cite(e: varargs[untyped]): untyped
- Generates the HTML
citeelement. Source Edit macro code(e: varargs[untyped]): untyped
- Generates the HTML
codeelement. Source Edit macro col(e: varargs[untyped]): untyped
- Generates the HTML
colelement. Source Edit macro colgroup(e: varargs[untyped]): untyped
- Generates the HTML
colgroupelement. Source Edit macro data(e: varargs[untyped]): untyped
- Generates the HTML
dataelement. Source Edit macro datalist(e: varargs[untyped]): untyped
- Generates the HTML
datalistelement. Source Edit macro dd(e: varargs[untyped]): untyped
- Generates the HTML
ddelement. Source Edit macro del(e: varargs[untyped]): untyped
- Generates the HTML
delelement. Source Edit macro details(e: varargs[untyped]): untyped
- Generates the HTML
detailselement. Source Edit macro dfn(e: varargs[untyped]): untyped
- Generates the HTML
dfnelement. Source Edit macro dialog(e: varargs[untyped]): untyped
- Generates the HTML
dialogelement. Source Edit macro `div`(e: varargs[untyped]): untyped
- Generates the HTML
divelement. Source Edit macro dl(e: varargs[untyped]): untyped
- Generates the HTML
dlelement. Source Edit macro dt(e: varargs[untyped]): untyped
- Generates the HTML
dtelement. Source Edit macro em(e: varargs[untyped]): untyped
- Generates the HTML
emelement. Source Edit macro embed(e: varargs[untyped]): untyped
- Generates the HTML
embedelement. Source Edit macro fieldset(e: varargs[untyped]): untyped
- Generates the HTML
fieldsetelement. Source Edit macro figure(e: varargs[untyped]): untyped
- Generates the HTML
figureelement. Source Edit macro figcaption(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
figcaption. Исходный код Редактировать macro footer(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
footer. Исходный код Редактировать macro form(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
form. Исходный код Редактировать macro h1(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
h1. Исходный код Редактировать macro h2(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
h2. Исходный код Редактировать macro h3(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
h3. Исходный код Редактировать macro h4(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
h4. Исходный код Редактировать macro h5(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
h5. Исходный код Редактировать macro h6(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
h6. Исходный код Редактировать macro head(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
head. Исходный код Редактировать macro header(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
header. Исходный код Редактировать macro html(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
html. Исходный код Редактировать macro hr(): untyped
- Генерирует HTML-элемент
hr. Исходный код Редактировать macro i(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
i. Исходный код Редактировать macro iframe(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
iframe. Исходный код Редактировать macro img(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
img. Исходный код Редактировать macro input(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
input. Исходный код Редактировать macro ins(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
ins. Исходный код Редактировать macro kbd(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
kbd. Исходный код Редактировать macro keygen(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
keygen. Исходный код Редактировать macro label(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
label. Исходный код Редактировать macro legend(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
legend. Исходный код Редактировать macro li(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
li. Исходный код Редактировать macro link(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
link. Исходный код Редактировать macro main(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
main. Исходный код Редактировать macro map(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
map. Исходный код Редактировать macro mark(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mark. Исходный код Редактировать macro marquee(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
marquee. Исходный код Редактировать macro meta(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
meta. Исходный код Редактировать macro meter(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
meter. Исходный код Редактировать macro nav(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
nav. Исходный код Редактировать macro noscript(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
noscript. Исходный код Редактировать macro `object`(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
object. Исходный код Редактировать macro ol(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
ol. Исходный код Редактировать macro optgroup(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
optgroup. Исходный код Редактировать macro option(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
option. Исходный код Редактировать macro output(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
output. Исходный код Редактировать macro p(e: varargs[untyped]): untyped
- Generates the HTML
pelement. Source Edit macro param(e: varargs[untyped]): untyped
- Generates the HTML
paramelement. Source Edit macro picture(e: varargs[untyped]): untyped
- Generates the HTML
pictureelement. Source Edit macro pre(e: varargs[untyped]): untyped
- Generates the HTML
preelement. Source Edit macro progress(e: varargs[untyped]): untyped
- Generates the HTML
progresselement. Source Edit macro q(e: varargs[untyped]): untyped
- Generates the HTML
qelement. Source Edit macro rb(e: varargs[untyped]): untyped
- Generates the HTML
rbelement. Source Edit macro rp(e: varargs[untyped]): untyped
- Generates the HTML
rpelement. Source Edit macro rt(e: varargs[untyped]): untyped
- Generates the HTML
rtelement. Source Edit macro rtc(e: varargs[untyped]): untyped
- Generates the HTML
rtcelement. Source Edit macro ruby(e: varargs[untyped]): untyped
- Generates the HTML
rubyelement. Source Edit macro s(e: varargs[untyped]): untyped
- Generates the HTML
selement. Source Edit macro samp(e: varargs[untyped]): untyped
- Generates the HTML
sampelement. Source Edit macro script(e: varargs[untyped]): untyped
- Generates the HTML
scriptelement. Source Edit macro section(e: varargs[untyped]): untyped
- Generates the HTML
sectionelement. Source Edit macro select(e: varargs[untyped]): untyped
- Generates the HTML
selectelement. Source Edit macro slot(e: varargs[untyped]): untyped
- Generates the HTML
slotelement. Source Edit macro small(e: varargs[untyped]): untyped
- Generates the HTML
smallelement. Source Edit macro source(e: varargs[untyped]): untyped
- Generates the HTML
sourceelement. Source Edit macro span(e: varargs[untyped]): untyped
- Generates the HTML
spanelement. Source Edit macro strong(e: varargs[untyped]): untyped
- Generates the HTML
strongelement. Source Edit macro style(e: varargs[untyped]): untyped
- Generates the HTML
styleelement. Source Edit macro sub(e: varargs[untyped]): untyped
- Generates the HTML
subelement. Source Edit macro summary(e: varargs[untyped]): untyped
- Generates the HTML
summaryelement. Source Edit macro sup(e: varargs[untyped]): untyped
- Generates the HTML
supelement. Source Edit macro table(e: varargs[untyped]): untyped
- Generates the HTML
tableelement. Source Edit macro tbody(e: varargs[untyped]): untyped
- Generates the HTML
tbodyelement. Source Edit macro td(e: varargs[untyped]): untyped
- Generates the HTML
tdelement. Source Edit macro `template`(e: varargs[untyped]): untyped
- Generates the HTML
templateelement. Source Edit macro textarea(e: varargs[untyped]): untyped
- Generates the HTML
textareaelement. Source Edit macro tfoot(e: varargs[untyped]): untyped
- Generates the HTML
tfootelement. Source Edit macro th(e: varargs[untyped]): untyped
- Generates the HTML
thelement. Source Edit macro thead(e: varargs[untyped]): untyped
- Generates the HTML
theadelement. Source Edit macro time(e: varargs[untyped]): untyped
- Generates the HTML
timeelement. Source Edit macro title(e: varargs[untyped]): untyped
- Generates the HTML
titleelement. Source Edit macro tr(e: varargs[untyped]): untyped
- Generates the HTML
trelement. Source Edit macro track(e: varargs[untyped]): untyped
- Generates the HTML
trackelement. Source Edit macro tt(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
tt. Исходный код Редактировать macro u(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
u. Исходный код Редактировать macro ul(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
ul. Исходный код Редактировать macro `var`(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
var. Исходный код Редактировать macro video(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
video. Исходный код Редактировать macro wbr(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
wbr. Исходный код Редактировать macro math(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
math. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/math#Examples Исходный код Редактировать macro maction(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
maction. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction Исходный код Редактировать macro menclose(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
menclose. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/menclose Исходный код Редактировать macro merror(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
merror. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/merror Исходный код Редактировать macro mfenced(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mfenced. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfenced Исходный код Редактировать macro mfrac(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mfrac. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac Исходный код Редактировать macro mglyph(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mglyph. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mglyph Исходный код Редактировать macro mi(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mi. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mi Исходный код Редактировать macro mlabeledtr(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mlabeledtr. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mlabeledtr Исходный код Редактировать macro mmultiscripts(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mmultiscripts. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts Исходный код Редактировать macro mn(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mn. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mn Исходный код Редактировать macro mo(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mo. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo Исходный код Редактировать macro mover(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mover. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mover Исходный код Редактировать macro mpadded(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mpadded. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mpadded Исходный код Редактировать macro mphantom(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mphantom. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mphantom Исходный код Редактировать macro mroot(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mroot. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mroot Исходный код Редактировать macro mrow(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
mrow. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mrow Исходный код Редактировать macro ms(e: varargs[untyped]): untyped
- Генерирует HTML-элемент
ms. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms Исходный код Редактировать macro mspace(e: varargs[untyped]): untyped
- Генерирует элемент HTML
mspace. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mspace Исходный код Изменить macro msqrt(e: varargs[untyped]): untyped
- Генерирует элемент HTML
msqrt. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msqrt Исходный код Изменить macro mstyle(e: varargs[untyped]): untyped
- Генерирует элемент HTML
mstyle. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle Исходный код Изменить macro msub(e: varargs[untyped]): untyped
- Генерирует элемент HTML
msub. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msub Исходный код Изменить macro msubsup(e: varargs[untyped]): untyped
- Генерирует элемент HTML
msubsup. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup Исходный код Изменить macro msup(e: varargs[untyped]): untyped
- Генерирует элемент HTML
msup. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msup Исходный код Изменить macro mtable(e: varargs[untyped]): untyped
- Генерирует элемент HTML
mtable. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable Исходный код Изменить macro mtd(e: varargs[untyped]): untyped
- Генерирует элемент HTML
mtd. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd Исходный код Изменить macro mtext(e: varargs[untyped]): untyped
- Генерирует элемент HTML
mtext. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtext Исходный код Изменить macro munder(e: varargs[untyped]): untyped
- Генерирует элемент HTML
munder. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/munder Исходный код Изменить macro munderover(e: varargs[untyped]): untyped
- Генерирует элемент HTML
munderover. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/munderover Исходный код Изменить macro semantics(e: varargs[untyped]): untyped
- Генерирует элемент HTML
semantics. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics Исходный код Изменить macro annotation(e: varargs[untyped]): untyped
- Генерирует элемент HTML
annotation. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics Исходный код Изменить macro annotation-xml(e: varargs[untyped]): untyped
- Генерирует элемент HTML
annotation-xml. MathML https://wikipedia.org/wiki/MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics Исходный код Изменить
© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/htmlgen.html