1
2
3
4
5
6
7
8
9
10
11
12
13
14\startmodule[html]
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32\unprotect
33
34\definehighlight[b] [\c!command=\v!no,\c!style=\v!bold]
35\definehighlight[i] [\c!command=\v!no,\c!style=\v!italic]
36\definehighlight[bi] [\c!command=\v!no,\c!style=\v!bolditalic]
37\definehighlight[em] [\c!command=\v!no,\c!style=\em]
38\definehighlight[tt] [\c!command=\v!no,\c!style=\v!mono]
39\definehighlight[strong][\c!command=\v!no,\c!style=\v!bold]
40\definehighlight[u] [\c!command=\v!no,\c!style=\directsetbar{\v!underbar}]
41\definehighlight[code] [\c!command=\v!no,\c!style=\v!mono]
42\definehighlight[pre] [\c!command=\v!no]
43
44\protect
45
46
47
48\startxmlsetups xml:html:basics
49 \xmlsetsetup{#1}{pbrbiuemttstrongulollitabletheadtbodytfoottrtdthspanimg}{xml:html:*}
50 \xmlsetsetup{#1}{bi}{xml:html:bi}
51 \xmlsetsetup{#1}{ib}{xml:html:bi}
52 \xmlstripanywhere{#1}{!pre}
53\stopxmlsetups
54
55\startxmlsetups xml:html:tables
56 \xmlsetsetup{#1}{tabletheadtbodytfoottrtdth}{xml:html:*}
57\stopxmlsetups
58
59\startxmlsetups xml:html:p
60 \xmldoifnotselfempty {#1} {
61 \dontleavehmode
62 \ignorespaces
63 \xmlflush{#1}
64 \removeunwantedspaces
65 }
66 \par
67\stopxmlsetups
68
69\startxmlsetups xml:html:br
70 \crlf
71\stopxmlsetups
72
73\startxmlsetups xml:html:b
74 \directhighlight{b}{\xmlflush{#1}}
75\stopxmlsetups
76
77\startxmlsetups xml:html:i
78 \directhighlight{i}{\xmlflush{#1}}
79\stopxmlsetups
80
81\startxmlsetups xml:html:bi
82 \directhighlight{bi}{\xmlflush{#1}}
83\stopxmlsetups
84
85\startxmlsetups xml:html:em
86 \directhighlight{em}{\xmlflush{#1}}
87\stopxmlsetups
88
89\startxmlsetups xml:html:tt
90 \directhighlight{tt}{\xmlflush{#1}}
91\stopxmlsetups
92
93\startxmlsetups xml:html:strong
94 \directhighlight{strong}{\xmlflush{#1}}
95\stopxmlsetups
96
97\startxmlsetups xml:html:u
98 \directhighlight{u}{\xmlflush{#1}}
99\stopxmlsetups
100
101\startxmlsetups xml:html:ul
102 \startitemize[packed]
103 \xmlflush{#1}
104 \stopitemize
105\stopxmlsetups
106
107\startxmlsetups xml:html:ol
108 \startitemize[packed,n]
109 \xmlflush{#1}
110 \stopitemize
111\stopxmlsetups
112
113\startxmlsetups xml:html:li
114 \startitem
115 \xmlflush{#1}
116 \stopitem
117\stopxmlsetups
118
119\startxmlsetups xml:html:code
120 \directhighlight{code}{\xmlflushspacewise{#1}}
121\stopxmlsetups
122
123\startxmlsetups xml:html:pre
124 \directhighlight{pre}{\xmlflushspacewise{#1}}
125\stopxmlsetups
126
127\startxmlsetups xml:html:span
128 \xmlflush{#1}
129\stopxmlsetups
130
131\startxmlsetups xml:html:img
132 \ifhmode
133 \dontleavehmode
134 \externalfigure[\xmlatt{#1}{src}]
135 \else
136 \startlinecorrection
137 \externalfigure[\xmlatt{#1}{src}]
138 \stoplinecorrection
139 \fi
140\stopxmlsetups
141
142
143
144
145
146
147
148
149
150
151
152
153\starttexdefinition cssgetsinglepadding #1
154 \ctxlua {
155 context((xml.css.padding(
156 "#1",
157 \number\dimexpr0.1ex,
158 \number\dimexpr0.01\hsize,
159 \number\dimexpr1ex,
160 \number\dimexpr1em
161 )))
162 }sp
163\stoptexdefinition
164
165\startxmlsetups xml:html:table
166 \edef\CellPadding{\xmlatt{#1}{cellpadding}}
167 \ifx\CellPadding\empty
168 \edef\CellPadding{.25ex}
169 \else
170 \edef\CellPadding{\cssgetsinglepadding\CellPadding}
171 \fi
172 \startlinecorrection[blank]
173 \doifelse {\xmlatt{#1}{border}} {0} {
174 \bTABLE[frame=off,offset=\CellPadding]
175 \xmlflush{#1}
176 \eTABLE
177 } {
178 \bTABLE[offset=\CellPadding]
179 \xmlflush{#1}
180 \eTABLE
181 }
182 \stoplinecorrection
183\stopxmlsetups
184
185\startxmlsetups xml:html:thead
186 \bTABLEhead
187 \xmlflush{#1}
188 \eTABLEhead
189\stopxmlsetups
190
191\startxmlsetups xml:html:tbody
192 \bTABLEbody
193 \xmlflush{#1}
194 \eTABLEbody
195\stopxmlsetups
196
197\startxmlsetups xml:html:tfoot
198 \bTABLEfoot
199 \xmlflush{#1}
200 \eTABLEfoot
201\stopxmlsetups
202
203\startxmlsetups xml:html:tr
204 \bTR[ny=\xmlattdef{#1}{rowspan}{1}]
205 \xmlflush{#1}
206 \eTR
207\stopxmlsetups
208
209\startxmlsetups xml:html:td
210 \bTD[nx=\xmlattdef{#1}{colspan}{1}]
211 \xmlflush{#1}
212 \eTD
213\stopxmlsetups
214
215\startxmlsetups xml:html:th
216 \bTH[nx=\xmlattdef{#1}{colspan}{1}]
217 \xmlflush{#1}
218 \eTH
219\stopxmlsetups
220
221
222
223
224
225\startxmlsetups xml:setups:common
226 \xmlsetup{#1}{xml:html:basics}
227 \xmlsetup{#1}{xml:html:tables}
228
229
230
231
232
233
234
235
236\stopxmlsetups
237
238\stopmodule
239
240\continueifinputfile{xhtml.mkiv}
241
242\xmlregistersetup{xml:html:basics}
243\xmlregistersetup{xml:html:tables}
244
245\startxmlsetups xml:whatever
246 \xmlsetsetup {#1} {
247 htmlbody
248 } {xml:html:*}
249\stopxmlsetups
250
251\xmlregisterdocumentsetup{main}{xml:whatever}
252
253\startxmlsetups xml:html:html
254 \xmlflush{#1}
255\stopxmlsetups
256
257\startxmlsetups xml:html:body
258 \xmlflush{#1}
259\stopxmlsetups
260
261\setuphead[subject][page=yes,style=\bfa]
262
263\starttexdefinition ShowExample#1
264 \startsubject[title=#1]
265 \typebuffer[#1]
266 \starttextrule{result}
267 \xmlprocessbuffer{main}{#1}{}
268 \stoptextrule
269 \stopsubject
270\stoptexdefinition
271
272\starttext
273
274\startbuffer[test 1]
275<html><body>
276<p>test<p>
277<p>
278<p>test<p>
279<body><html>
280\stopbuffer
281
282\startbuffer[test 2]
283<html><body>
284<p>test (hierna een lf)
285test<p>
286<body><html>
287\stopbuffer
288
289\startbuffer[test 3]
290<html><body>
291<p>test (hierna een lf met lege regel)
292
293test<p>
294<body><html>
295\stopbuffer
296
297\startbuffer[test 4]
298<html><body>
299<p>test (hierna een lf met twee lege regels)
300
301
302test<p>
303<body><html>
304\stopbuffer
305
306\startbuffer[test 5]
307<html><body>
308<p>test (hierna br geen lf)<br> test<p>
309<body><html>
310\stopbuffer
311
312\startbuffer[test 6]
313<html><body>
314<p>test (hierna br met lf)<br>
315test<p>
316<body><html>
317\stopbuffer
318
319\startbuffer[test 7]
320<html><body>
321<p>test (hierna br met lf en lege regel)<br>
322
323test<p>
324<body><html>
325\stopbuffer
326
327\startbuffer[test 8]
328<html><body>
329<p>test (hierna br met lf en twee lege regels)<br>
330
331
332test<p>
333<body><html>
334\stopbuffer
335
336\startbuffer[test 9]
337<html><body>
338<p>test (hierna bold) <b>bold<b> test<p>
339<body><html>
340\stopbuffer
341
342\startbuffer[test 10]
343<html><body>
344<p>test (hierna lf met bold)
345<b>bold <u>underlined<u><b> test<p>
346<body><html>
347\stopbuffer
348
349\startbuffer[test 11]
350<html><body>
351<p>test (hierna lf met lege regel en bold)
352
353<b>bold<b> test<p>
354<body><html>
355\stopbuffer
356
357\startbuffer[test 12]
358<html><body>
359<p>test (hierna lf met lege regel en lf in bold)
360
361<b>
362bold
363<b> test<p>
364<body><html>
365\stopbuffer
366
367\startbuffer[test 13]
368<html><body>
369<p>test (hierna lf met lege regel en lf en lege regel in bold)
370
371<b>
372
373bold
374
375<b> test<p>
376<body><html>
377\stopbuffer
378
379\dorecurse{13}{\ShowExample{test #1}}
380
381\stoptext
382 |