Fossil SCM

Added several new HTML5 block-level elements to the wiki whitelist, per ML discussion, treating them like DIVs. Alas, data-* attributes prove to be too problematic due to how the attribute propery list is stored/used.

stephan 2014-02-14 15:22 trunk
Commit 93dffb914729d3e84def3e0ded605514ea58eceb
1 file changed +82 -54
+82 -54
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -164,62 +164,68 @@
164164
** in aAllowedMarkup[].
165165
*/
166166
#define MARKUP_INVALID 0
167167
#define MARKUP_A 1
168168
#define MARKUP_ADDRESS 2
169
-#define MARKUP_B 3
170
-#define MARKUP_BIG 4
171
-#define MARKUP_BLOCKQUOTE 5
172
-#define MARKUP_BR 6
173
-#define MARKUP_CENTER 7
174
-#define MARKUP_CITE 8
175
-#define MARKUP_CODE 9
176
-#define MARKUP_COL 10
177
-#define MARKUP_COLGROUP 11
178
-#define MARKUP_DD 12
179
-#define MARKUP_DFN 13
180
-#define MARKUP_DIV 14
181
-#define MARKUP_DL 15
182
-#define MARKUP_DT 16
183
-#define MARKUP_EM 17
184
-#define MARKUP_FONT 18
185
-#define MARKUP_H1 19
186
-#define MARKUP_H2 20
187
-#define MARKUP_H3 21
188
-#define MARKUP_H4 22
189
-#define MARKUP_H5 23
190
-#define MARKUP_H6 24
191
-#define MARKUP_HR 25
192
-#define MARKUP_I 26
193
-#define MARKUP_IMG 27
194
-#define MARKUP_KBD 28
195
-#define MARKUP_LI 29
196
-#define MARKUP_NOBR 30
197
-#define MARKUP_NOWIKI 31
198
-#define MARKUP_OL 32
199
-#define MARKUP_P 33
200
-#define MARKUP_PRE 34
201
-#define MARKUP_S 35
202
-#define MARKUP_SAMP 36
203
-#define MARKUP_SMALL 37
204
-#define MARKUP_SPAN 38
205
-#define MARKUP_STRIKE 39
206
-#define MARKUP_STRONG 40
207
-#define MARKUP_SUB 41
208
-#define MARKUP_SUP 42
209
-#define MARKUP_TABLE 43
210
-#define MARKUP_TBODY 44
211
-#define MARKUP_TD 45
212
-#define MARKUP_TFOOT 46
213
-#define MARKUP_TH 47
214
-#define MARKUP_THEAD 48
215
-#define MARKUP_TR 49
216
-#define MARKUP_TT 50
217
-#define MARKUP_U 51
218
-#define MARKUP_UL 52
219
-#define MARKUP_VAR 53
220
-#define MARKUP_VERBATIM 54
169
+#define MARKUP_HTML5_ARTICLE 3
170
+#define MARKUP_HTML5_ASIDE 4
171
+#define MARKUP_B 5
172
+#define MARKUP_BIG 6
173
+#define MARKUP_BLOCKQUOTE 7
174
+#define MARKUP_BR 8
175
+#define MARKUP_CENTER 9
176
+#define MARKUP_CITE 10
177
+#define MARKUP_CODE 11
178
+#define MARKUP_COL 12
179
+#define MARKUP_COLGROUP 13
180
+#define MARKUP_DD 14
181
+#define MARKUP_DFN 15
182
+#define MARKUP_DIV 16
183
+#define MARKUP_DL 17
184
+#define MARKUP_DT 18
185
+#define MARKUP_EM 19
186
+#define MARKUP_FONT 20
187
+#define MARKUP_HTML5_FOOTER 21
188
+#define MARKUP_H1 22
189
+#define MARKUP_H2 23
190
+#define MARKUP_H3 24
191
+#define MARKUP_H4 25
192
+#define MARKUP_H5 26
193
+#define MARKUP_H6 27
194
+#define MARKUP_HTML5_HEADER 28
195
+#define MARKUP_HR 29
196
+#define MARKUP_I 30
197
+#define MARKUP_IMG 31
198
+#define MARKUP_KBD 32
199
+#define MARKUP_LI 33
200
+#define MARKUP_HTML5_NAV 34
201
+#define MARKUP_NOBR 35
202
+#define MARKUP_NOWIKI 36
203
+#define MARKUP_OL 37
204
+#define MARKUP_P 38
205
+#define MARKUP_PRE 39
206
+#define MARKUP_S 40
207
+#define MARKUP_SAMP 41
208
+#define MARKUP_HTML5_SECTION 42
209
+#define MARKUP_SMALL 43
210
+#define MARKUP_SPAN 44
211
+#define MARKUP_STRIKE 45
212
+#define MARKUP_STRONG 46
213
+#define MARKUP_SUB 47
214
+#define MARKUP_SUP 48
215
+#define MARKUP_TABLE 49
216
+#define MARKUP_TBODY 50
217
+#define MARKUP_TD 51
218
+#define MARKUP_TFOOT 52
219
+#define MARKUP_TH 53
220
+#define MARKUP_THEAD 54
221
+#define MARKUP_TR 55
222
+#define MARKUP_TT 56
223
+#define MARKUP_U 57
224
+#define MARKUP_UL 58
225
+#define MARKUP_VAR 59
226
+#define MARKUP_VERBATIM 60
221227
222228
/*
223229
** The various markup is divided into the following types:
224230
*/
225231
#define MUTYPE_SINGLE 0x0001 /* <img>, <br>, or <hr> */
@@ -251,10 +257,15 @@
251257
} aMarkup[] = {
252258
{ 0, MARKUP_INVALID, 0, 0 },
253259
{ "a", MARKUP_A, MUTYPE_HYPERLINK,
254260
AMSK_HREF|AMSK_NAME|AMSK_CLASS|AMSK_TARGET|AMSK_STYLE },
255261
{ "address", MARKUP_ADDRESS, MUTYPE_BLOCK, AMSK_STYLE },
262
+ { "article", MARKUP_HTML5_ARTICLE, MUTYPE_BLOCK,
263
+ AMSK_ID|AMSK_CLASS|AMSK_STYLE },
264
+ { "aside", MARKUP_HTML5_ASIDE, MUTYPE_BLOCK,
265
+ AMSK_ID|AMSK_CLASS|AMSK_STYLE },
266
+
256267
{ "b", MARKUP_B, MUTYPE_FONT, AMSK_STYLE },
257268
{ "big", MARKUP_BIG, MUTYPE_FONT, AMSK_STYLE },
258269
{ "blockquote", MARKUP_BLOCKQUOTE, MUTYPE_BLOCK, AMSK_STYLE },
259270
{ "br", MARKUP_BR, MUTYPE_SINGLE, AMSK_CLEAR },
260271
{ "center", MARKUP_CENTER, MUTYPE_BLOCK, AMSK_STYLE },
@@ -272,10 +283,13 @@
272283
AMSK_COMPACT|AMSK_STYLE },
273284
{ "dt", MARKUP_DT, MUTYPE_LI, AMSK_STYLE },
274285
{ "em", MARKUP_EM, MUTYPE_FONT, AMSK_STYLE },
275286
{ "font", MARKUP_FONT, MUTYPE_FONT,
276287
AMSK_COLOR|AMSK_FACE|AMSK_SIZE|AMSK_STYLE },
288
+ { "footer", MARKUP_HTML5_FOOTER, MUTYPE_BLOCK,
289
+ AMSK_ID|AMSK_CLASS|AMSK_STYLE },
290
+
277291
{ "h1", MARKUP_H1, MUTYPE_BLOCK,
278292
AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
279293
{ "h2", MARKUP_H2, MUTYPE_BLOCK,
280294
AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
281295
{ "h3", MARKUP_H3, MUTYPE_BLOCK,
@@ -284,10 +298,14 @@
284298
AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
285299
{ "h5", MARKUP_H5, MUTYPE_BLOCK,
286300
AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
287301
{ "h6", MARKUP_H6, MUTYPE_BLOCK,
288302
AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
303
+
304
+ { "header", MARKUP_HTML5_HEADER, MUTYPE_BLOCK,
305
+ AMSK_ID|AMSK_CLASS|AMSK_STYLE },
306
+
289307
{ "hr", MARKUP_HR, MUTYPE_SINGLE,
290308
AMSK_ALIGN|AMSK_COLOR|AMSK_SIZE|AMSK_WIDTH|
291309
AMSK_STYLE|AMSK_CLASS },
292310
{ "i", MARKUP_I, MUTYPE_FONT, AMSK_STYLE },
293311
{ "img", MARKUP_IMG, MUTYPE_SINGLE,
@@ -294,19 +312,23 @@
294312
AMSK_ALIGN|AMSK_ALT|AMSK_BORDER|AMSK_HEIGHT|
295313
AMSK_HSPACE|AMSK_SRC|AMSK_VSPACE|AMSK_WIDTH|AMSK_STYLE },
296314
{ "kbd", MARKUP_KBD, MUTYPE_FONT, AMSK_STYLE },
297315
{ "li", MARKUP_LI, MUTYPE_LI,
298316
AMSK_TYPE|AMSK_VALUE|AMSK_STYLE },
317
+ { "nav", MARKUP_HTML5_NAV, MUTYPE_BLOCK,
318
+ AMSK_ID|AMSK_CLASS|AMSK_STYLE },
299319
{ "nobr", MARKUP_NOBR, MUTYPE_FONT, 0 },
300320
{ "nowiki", MARKUP_NOWIKI, MUTYPE_SPECIAL, 0 },
301321
{ "ol", MARKUP_OL, MUTYPE_LIST,
302322
AMSK_START|AMSK_TYPE|AMSK_COMPACT|AMSK_STYLE },
303323
{ "p", MARKUP_P, MUTYPE_BLOCK,
304324
AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
305325
{ "pre", MARKUP_PRE, MUTYPE_BLOCK, AMSK_STYLE },
306326
{ "s", MARKUP_S, MUTYPE_FONT, AMSK_STYLE },
307327
{ "samp", MARKUP_SAMP, MUTYPE_FONT, AMSK_STYLE },
328
+ { "section", MARKUP_HTML5_SECTION, MUTYPE_BLOCK,
329
+ AMSK_ID|AMSK_CLASS|AMSK_STYLE },
308330
{ "small", MARKUP_SMALL, MUTYPE_FONT, AMSK_STYLE },
309331
{ "span", MARKUP_SPAN, MUTYPE_BLOCK,
310332
AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
311333
{ "strike", MARKUP_STRIKE, MUTYPE_FONT, AMSK_STYLE },
312334
{ "strong", MARKUP_STRONG, MUTYPE_FONT, AMSK_STYLE },
@@ -339,11 +361,10 @@
339361
AMSK_ID|AMSK_TYPE },
340362
};
341363
342364
void show_allowed_wiki_markup( void ){
343365
int i; /* loop over allowedAttr */
344
-
345366
for( i=1 ; i<=sizeof(aMarkup)/sizeof(aMarkup[0]) - 1 ; i++ ){
346367
@ &lt;%s(aMarkup[i].zName)&gt;
347368
}
348369
}
349370
@@ -1869,11 +1890,18 @@
18691890
popStackToTag(&renderer, markup.iCode);
18701891
}else
18711892
18721893
/* Push <div> markup onto the stack together with the id=ID attribute.
18731894
*/
1874
- if( markup.iCode==MARKUP_DIV ){
1895
+ if( markup.iCode==MARKUP_DIV
1896
+ || markup.iCode==MARKUP_HTML5_ARTICLE
1897
+ || markup.iCode==MARKUP_HTML5_ASIDE
1898
+ || markup.iCode==MARKUP_HTML5_FOOTER
1899
+ || markup.iCode==MARKUP_HTML5_HEADER
1900
+ || markup.iCode==MARKUP_HTML5_NAV
1901
+ || markup.iCode==MARKUP_HTML5_SECTION
1902
+ ){
18751903
pushStackWithId(&renderer, markup.iCode, markupId(&markup),
18761904
(renderer.state & ALLOW_WIKI)!=0);
18771905
}else
18781906
18791907
/* Enter <verbatim> processing. With verbatim enabled, all other
18801908
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -164,62 +164,68 @@
164 ** in aAllowedMarkup[].
165 */
166 #define MARKUP_INVALID 0
167 #define MARKUP_A 1
168 #define MARKUP_ADDRESS 2
169 #define MARKUP_B 3
170 #define MARKUP_BIG 4
171 #define MARKUP_BLOCKQUOTE 5
172 #define MARKUP_BR 6
173 #define MARKUP_CENTER 7
174 #define MARKUP_CITE 8
175 #define MARKUP_CODE 9
176 #define MARKUP_COL 10
177 #define MARKUP_COLGROUP 11
178 #define MARKUP_DD 12
179 #define MARKUP_DFN 13
180 #define MARKUP_DIV 14
181 #define MARKUP_DL 15
182 #define MARKUP_DT 16
183 #define MARKUP_EM 17
184 #define MARKUP_FONT 18
185 #define MARKUP_H1 19
186 #define MARKUP_H2 20
187 #define MARKUP_H3 21
188 #define MARKUP_H4 22
189 #define MARKUP_H5 23
190 #define MARKUP_H6 24
191 #define MARKUP_HR 25
192 #define MARKUP_I 26
193 #define MARKUP_IMG 27
194 #define MARKUP_KBD 28
195 #define MARKUP_LI 29
196 #define MARKUP_NOBR 30
197 #define MARKUP_NOWIKI 31
198 #define MARKUP_OL 32
199 #define MARKUP_P 33
200 #define MARKUP_PRE 34
201 #define MARKUP_S 35
202 #define MARKUP_SAMP 36
203 #define MARKUP_SMALL 37
204 #define MARKUP_SPAN 38
205 #define MARKUP_STRIKE 39
206 #define MARKUP_STRONG 40
207 #define MARKUP_SUB 41
208 #define MARKUP_SUP 42
209 #define MARKUP_TABLE 43
210 #define MARKUP_TBODY 44
211 #define MARKUP_TD 45
212 #define MARKUP_TFOOT 46
213 #define MARKUP_TH 47
214 #define MARKUP_THEAD 48
215 #define MARKUP_TR 49
216 #define MARKUP_TT 50
217 #define MARKUP_U 51
218 #define MARKUP_UL 52
219 #define MARKUP_VAR 53
220 #define MARKUP_VERBATIM 54
 
 
 
 
 
 
221
222 /*
223 ** The various markup is divided into the following types:
224 */
225 #define MUTYPE_SINGLE 0x0001 /* <img>, <br>, or <hr> */
@@ -251,10 +257,15 @@
251 } aMarkup[] = {
252 { 0, MARKUP_INVALID, 0, 0 },
253 { "a", MARKUP_A, MUTYPE_HYPERLINK,
254 AMSK_HREF|AMSK_NAME|AMSK_CLASS|AMSK_TARGET|AMSK_STYLE },
255 { "address", MARKUP_ADDRESS, MUTYPE_BLOCK, AMSK_STYLE },
 
 
 
 
 
256 { "b", MARKUP_B, MUTYPE_FONT, AMSK_STYLE },
257 { "big", MARKUP_BIG, MUTYPE_FONT, AMSK_STYLE },
258 { "blockquote", MARKUP_BLOCKQUOTE, MUTYPE_BLOCK, AMSK_STYLE },
259 { "br", MARKUP_BR, MUTYPE_SINGLE, AMSK_CLEAR },
260 { "center", MARKUP_CENTER, MUTYPE_BLOCK, AMSK_STYLE },
@@ -272,10 +283,13 @@
272 AMSK_COMPACT|AMSK_STYLE },
273 { "dt", MARKUP_DT, MUTYPE_LI, AMSK_STYLE },
274 { "em", MARKUP_EM, MUTYPE_FONT, AMSK_STYLE },
275 { "font", MARKUP_FONT, MUTYPE_FONT,
276 AMSK_COLOR|AMSK_FACE|AMSK_SIZE|AMSK_STYLE },
 
 
 
277 { "h1", MARKUP_H1, MUTYPE_BLOCK,
278 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
279 { "h2", MARKUP_H2, MUTYPE_BLOCK,
280 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
281 { "h3", MARKUP_H3, MUTYPE_BLOCK,
@@ -284,10 +298,14 @@
284 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
285 { "h5", MARKUP_H5, MUTYPE_BLOCK,
286 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
287 { "h6", MARKUP_H6, MUTYPE_BLOCK,
288 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
 
 
 
 
289 { "hr", MARKUP_HR, MUTYPE_SINGLE,
290 AMSK_ALIGN|AMSK_COLOR|AMSK_SIZE|AMSK_WIDTH|
291 AMSK_STYLE|AMSK_CLASS },
292 { "i", MARKUP_I, MUTYPE_FONT, AMSK_STYLE },
293 { "img", MARKUP_IMG, MUTYPE_SINGLE,
@@ -294,19 +312,23 @@
294 AMSK_ALIGN|AMSK_ALT|AMSK_BORDER|AMSK_HEIGHT|
295 AMSK_HSPACE|AMSK_SRC|AMSK_VSPACE|AMSK_WIDTH|AMSK_STYLE },
296 { "kbd", MARKUP_KBD, MUTYPE_FONT, AMSK_STYLE },
297 { "li", MARKUP_LI, MUTYPE_LI,
298 AMSK_TYPE|AMSK_VALUE|AMSK_STYLE },
 
 
299 { "nobr", MARKUP_NOBR, MUTYPE_FONT, 0 },
300 { "nowiki", MARKUP_NOWIKI, MUTYPE_SPECIAL, 0 },
301 { "ol", MARKUP_OL, MUTYPE_LIST,
302 AMSK_START|AMSK_TYPE|AMSK_COMPACT|AMSK_STYLE },
303 { "p", MARKUP_P, MUTYPE_BLOCK,
304 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
305 { "pre", MARKUP_PRE, MUTYPE_BLOCK, AMSK_STYLE },
306 { "s", MARKUP_S, MUTYPE_FONT, AMSK_STYLE },
307 { "samp", MARKUP_SAMP, MUTYPE_FONT, AMSK_STYLE },
 
 
308 { "small", MARKUP_SMALL, MUTYPE_FONT, AMSK_STYLE },
309 { "span", MARKUP_SPAN, MUTYPE_BLOCK,
310 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
311 { "strike", MARKUP_STRIKE, MUTYPE_FONT, AMSK_STYLE },
312 { "strong", MARKUP_STRONG, MUTYPE_FONT, AMSK_STYLE },
@@ -339,11 +361,10 @@
339 AMSK_ID|AMSK_TYPE },
340 };
341
342 void show_allowed_wiki_markup( void ){
343 int i; /* loop over allowedAttr */
344
345 for( i=1 ; i<=sizeof(aMarkup)/sizeof(aMarkup[0]) - 1 ; i++ ){
346 @ &lt;%s(aMarkup[i].zName)&gt;
347 }
348 }
349
@@ -1869,11 +1890,18 @@
1869 popStackToTag(&renderer, markup.iCode);
1870 }else
1871
1872 /* Push <div> markup onto the stack together with the id=ID attribute.
1873 */
1874 if( markup.iCode==MARKUP_DIV ){
 
 
 
 
 
 
 
1875 pushStackWithId(&renderer, markup.iCode, markupId(&markup),
1876 (renderer.state & ALLOW_WIKI)!=0);
1877 }else
1878
1879 /* Enter <verbatim> processing. With verbatim enabled, all other
1880
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -164,62 +164,68 @@
164 ** in aAllowedMarkup[].
165 */
166 #define MARKUP_INVALID 0
167 #define MARKUP_A 1
168 #define MARKUP_ADDRESS 2
169 #define MARKUP_HTML5_ARTICLE 3
170 #define MARKUP_HTML5_ASIDE 4
171 #define MARKUP_B 5
172 #define MARKUP_BIG 6
173 #define MARKUP_BLOCKQUOTE 7
174 #define MARKUP_BR 8
175 #define MARKUP_CENTER 9
176 #define MARKUP_CITE 10
177 #define MARKUP_CODE 11
178 #define MARKUP_COL 12
179 #define MARKUP_COLGROUP 13
180 #define MARKUP_DD 14
181 #define MARKUP_DFN 15
182 #define MARKUP_DIV 16
183 #define MARKUP_DL 17
184 #define MARKUP_DT 18
185 #define MARKUP_EM 19
186 #define MARKUP_FONT 20
187 #define MARKUP_HTML5_FOOTER 21
188 #define MARKUP_H1 22
189 #define MARKUP_H2 23
190 #define MARKUP_H3 24
191 #define MARKUP_H4 25
192 #define MARKUP_H5 26
193 #define MARKUP_H6 27
194 #define MARKUP_HTML5_HEADER 28
195 #define MARKUP_HR 29
196 #define MARKUP_I 30
197 #define MARKUP_IMG 31
198 #define MARKUP_KBD 32
199 #define MARKUP_LI 33
200 #define MARKUP_HTML5_NAV 34
201 #define MARKUP_NOBR 35
202 #define MARKUP_NOWIKI 36
203 #define MARKUP_OL 37
204 #define MARKUP_P 38
205 #define MARKUP_PRE 39
206 #define MARKUP_S 40
207 #define MARKUP_SAMP 41
208 #define MARKUP_HTML5_SECTION 42
209 #define MARKUP_SMALL 43
210 #define MARKUP_SPAN 44
211 #define MARKUP_STRIKE 45
212 #define MARKUP_STRONG 46
213 #define MARKUP_SUB 47
214 #define MARKUP_SUP 48
215 #define MARKUP_TABLE 49
216 #define MARKUP_TBODY 50
217 #define MARKUP_TD 51
218 #define MARKUP_TFOOT 52
219 #define MARKUP_TH 53
220 #define MARKUP_THEAD 54
221 #define MARKUP_TR 55
222 #define MARKUP_TT 56
223 #define MARKUP_U 57
224 #define MARKUP_UL 58
225 #define MARKUP_VAR 59
226 #define MARKUP_VERBATIM 60
227
228 /*
229 ** The various markup is divided into the following types:
230 */
231 #define MUTYPE_SINGLE 0x0001 /* <img>, <br>, or <hr> */
@@ -251,10 +257,15 @@
257 } aMarkup[] = {
258 { 0, MARKUP_INVALID, 0, 0 },
259 { "a", MARKUP_A, MUTYPE_HYPERLINK,
260 AMSK_HREF|AMSK_NAME|AMSK_CLASS|AMSK_TARGET|AMSK_STYLE },
261 { "address", MARKUP_ADDRESS, MUTYPE_BLOCK, AMSK_STYLE },
262 { "article", MARKUP_HTML5_ARTICLE, MUTYPE_BLOCK,
263 AMSK_ID|AMSK_CLASS|AMSK_STYLE },
264 { "aside", MARKUP_HTML5_ASIDE, MUTYPE_BLOCK,
265 AMSK_ID|AMSK_CLASS|AMSK_STYLE },
266
267 { "b", MARKUP_B, MUTYPE_FONT, AMSK_STYLE },
268 { "big", MARKUP_BIG, MUTYPE_FONT, AMSK_STYLE },
269 { "blockquote", MARKUP_BLOCKQUOTE, MUTYPE_BLOCK, AMSK_STYLE },
270 { "br", MARKUP_BR, MUTYPE_SINGLE, AMSK_CLEAR },
271 { "center", MARKUP_CENTER, MUTYPE_BLOCK, AMSK_STYLE },
@@ -272,10 +283,13 @@
283 AMSK_COMPACT|AMSK_STYLE },
284 { "dt", MARKUP_DT, MUTYPE_LI, AMSK_STYLE },
285 { "em", MARKUP_EM, MUTYPE_FONT, AMSK_STYLE },
286 { "font", MARKUP_FONT, MUTYPE_FONT,
287 AMSK_COLOR|AMSK_FACE|AMSK_SIZE|AMSK_STYLE },
288 { "footer", MARKUP_HTML5_FOOTER, MUTYPE_BLOCK,
289 AMSK_ID|AMSK_CLASS|AMSK_STYLE },
290
291 { "h1", MARKUP_H1, MUTYPE_BLOCK,
292 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
293 { "h2", MARKUP_H2, MUTYPE_BLOCK,
294 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
295 { "h3", MARKUP_H3, MUTYPE_BLOCK,
@@ -284,10 +298,14 @@
298 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
299 { "h5", MARKUP_H5, MUTYPE_BLOCK,
300 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
301 { "h6", MARKUP_H6, MUTYPE_BLOCK,
302 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
303
304 { "header", MARKUP_HTML5_HEADER, MUTYPE_BLOCK,
305 AMSK_ID|AMSK_CLASS|AMSK_STYLE },
306
307 { "hr", MARKUP_HR, MUTYPE_SINGLE,
308 AMSK_ALIGN|AMSK_COLOR|AMSK_SIZE|AMSK_WIDTH|
309 AMSK_STYLE|AMSK_CLASS },
310 { "i", MARKUP_I, MUTYPE_FONT, AMSK_STYLE },
311 { "img", MARKUP_IMG, MUTYPE_SINGLE,
@@ -294,19 +312,23 @@
312 AMSK_ALIGN|AMSK_ALT|AMSK_BORDER|AMSK_HEIGHT|
313 AMSK_HSPACE|AMSK_SRC|AMSK_VSPACE|AMSK_WIDTH|AMSK_STYLE },
314 { "kbd", MARKUP_KBD, MUTYPE_FONT, AMSK_STYLE },
315 { "li", MARKUP_LI, MUTYPE_LI,
316 AMSK_TYPE|AMSK_VALUE|AMSK_STYLE },
317 { "nav", MARKUP_HTML5_NAV, MUTYPE_BLOCK,
318 AMSK_ID|AMSK_CLASS|AMSK_STYLE },
319 { "nobr", MARKUP_NOBR, MUTYPE_FONT, 0 },
320 { "nowiki", MARKUP_NOWIKI, MUTYPE_SPECIAL, 0 },
321 { "ol", MARKUP_OL, MUTYPE_LIST,
322 AMSK_START|AMSK_TYPE|AMSK_COMPACT|AMSK_STYLE },
323 { "p", MARKUP_P, MUTYPE_BLOCK,
324 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
325 { "pre", MARKUP_PRE, MUTYPE_BLOCK, AMSK_STYLE },
326 { "s", MARKUP_S, MUTYPE_FONT, AMSK_STYLE },
327 { "samp", MARKUP_SAMP, MUTYPE_FONT, AMSK_STYLE },
328 { "section", MARKUP_HTML5_SECTION, MUTYPE_BLOCK,
329 AMSK_ID|AMSK_CLASS|AMSK_STYLE },
330 { "small", MARKUP_SMALL, MUTYPE_FONT, AMSK_STYLE },
331 { "span", MARKUP_SPAN, MUTYPE_BLOCK,
332 AMSK_ALIGN|AMSK_CLASS|AMSK_STYLE },
333 { "strike", MARKUP_STRIKE, MUTYPE_FONT, AMSK_STYLE },
334 { "strong", MARKUP_STRONG, MUTYPE_FONT, AMSK_STYLE },
@@ -339,11 +361,10 @@
361 AMSK_ID|AMSK_TYPE },
362 };
363
364 void show_allowed_wiki_markup( void ){
365 int i; /* loop over allowedAttr */
 
366 for( i=1 ; i<=sizeof(aMarkup)/sizeof(aMarkup[0]) - 1 ; i++ ){
367 @ &lt;%s(aMarkup[i].zName)&gt;
368 }
369 }
370
@@ -1869,11 +1890,18 @@
1890 popStackToTag(&renderer, markup.iCode);
1891 }else
1892
1893 /* Push <div> markup onto the stack together with the id=ID attribute.
1894 */
1895 if( markup.iCode==MARKUP_DIV
1896 || markup.iCode==MARKUP_HTML5_ARTICLE
1897 || markup.iCode==MARKUP_HTML5_ASIDE
1898 || markup.iCode==MARKUP_HTML5_FOOTER
1899 || markup.iCode==MARKUP_HTML5_HEADER
1900 || markup.iCode==MARKUP_HTML5_NAV
1901 || markup.iCode==MARKUP_HTML5_SECTION
1902 ){
1903 pushStackWithId(&renderer, markup.iCode, markupId(&markup),
1904 (renderer.state & ALLOW_WIKI)!=0);
1905 }else
1906
1907 /* Enter <verbatim> processing. With verbatim enabled, all other
1908

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button