summaryrefslogtreecommitdiff
path: root/tex/context/modules/mkiv/x-lmx-html.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/modules/mkiv/x-lmx-html.mkiv')
-rw-r--r--tex/context/modules/mkiv/x-lmx-html.mkiv122
1 files changed, 122 insertions, 0 deletions
diff --git a/tex/context/modules/mkiv/x-lmx-html.mkiv b/tex/context/modules/mkiv/x-lmx-html.mkiv
new file mode 100644
index 000000000..3195ef40e
--- /dev/null
+++ b/tex/context/modules/mkiv/x-lmx-html.mkiv
@@ -0,0 +1,122 @@
+%D \module
+%D [ file=x-lmx-html,
+%D version=2018.03.10,
+%D title=\CONTEXT\ Modules,
+%D subtitle=Simple LMX HTML rendering (from text fields),
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D This is old code that we used in several places so it qualifies as a
+%D proper module. It is means for generating simple \HTML\ from filled
+%D in forms. It's not a general purpose \HTML\ rendering.
+
+\startmodule[lmx-html]
+
+\startxmlsetups lmx:html:setup
+ \xmlsetsetup{#1}{*}{lmx:html:*}
+ \xmlflush{#1}
+\stopxmlsetups
+
+\startxmlsetups lmx:html:ul
+ \startitemize[packed]
+ \xmlflush{#1}
+ \stopitemize
+\stopxmlsetups
+
+\startxmlsetups lmx:html:ol
+ \startitemize[packed,n]
+ \xmlflush{#1}
+ \stopitemize
+\stopxmlsetups
+
+\startxmlsetups lmx:html:li
+ \startitem
+ \xmlflush{#1}
+ \stopitem
+\stopxmlsetups
+
+\startxmlsetups lmx:html:p
+ \xmlflush{#1}\par
+\stopxmlsetups
+
+\startxmlsetups lmx:html:br
+ \par
+\stopxmlsetups
+
+\startxmlsetups lmx:html:a
+ \dontleavehmode
+ \begingroup
+ \tttf
+ \xmldoifelsetext {#1} {.} {
+ \goto{\hyphenatedurl{\xmlflush{#1}}}[url(\xmlatt{#1}{href})]
+ } {
+ \goto{\hyphenatedurl{\xmlatt{#1}{href}}}[url(\xmlatt{#1}{href})]
+ }
+ \endgroup
+\stopxmlsetups
+
+\startxmlsetups lmx:html:em
+ \dontleavehmode
+ \begingroup\em\xmlflush{#1}\endgroup
+\stopxmlsetups
+
+\startxmlsetups lmx:html:b
+ \dontleavehmode
+ \begingroup\bf\xmlflush{#1}\endgroup
+\stopxmlsetups
+
+\startxmlsetups lmx:html:i
+ \dontleavehmode
+ \begingroup\it\xmlflush{#1}\endgroup
+\stopxmlsetups
+
+\startxmlsetups lmx:html:strong
+ \dontleavehmode
+ \begingroup\bf\xmlflush{#1}\endgroup
+\stopxmlsetups
+
+\startxmlsetups lmx:html:tt
+ \dontleavehmode
+ \begingroup\tt\xmlflush{#1}\endgroup
+\stopxmlsetups
+
+% \startxmlsetups lmx:html:span
+% \dontleavehmode
+% \ctxcommand{doifelse(string.find([[ \xmlatt{#1}{style} ]],"underline"))} {
+% \underbar{\xmlflush{#1}}
+% } {
+% \xmlflush{#1}
+% }
+% \stopxmlsetups
+
+\xmlmapvalue{text-decoration}{underline}{\directsetbar{underbar}}
+\xmlmapvalue{text-decoration}{overline} {\directsetbar{overbar}}
+
+\startxmlsetups lmx:html:span
+ \dontleavehmode
+ \begingroup
+ \xmlcssmappedstylevalue{#1}{text-decoration}{text-decoration}
+ \xmlflush{#1}
+ \endgroup
+\stopxmlsetups
+
+\startxmlsetups lmx:html:html
+ \xmlflush{#1}% should not be needed but we self tag .. needs checking
+\stopxmlsetups
+
+\startluacode
+ local texfinalizers = xml.finalizers.tex
+
+ function texfinalizers.html(collected,setup)
+ texfinalizers.xml(collected,"html",setup)
+ end
+\stopluacode
+
+% \xmlfilter{...}{/.../html()}
+
+\stopmodule