Fossil SCM
Wrap markdown content in an HTML 'div' block of the 'markdown' class.
Commit
e061a675e69cf8eb35872f46ca4ae31e5f19bb7e
Parent
4bba5e1ca4a0d34…
1 file changed
+13
-1
+13
-1
| --- src/markdown_html.c | ||
| +++ src/markdown_html.c | ||
| @@ -82,10 +82,20 @@ | ||
| 82 | 82 | } |
| 83 | 83 | } |
| 84 | 84 | |
| 85 | 85 | |
| 86 | 86 | /* HTML block tags */ |
| 87 | + | |
| 88 | +static void html_prolog(struct Blob *ob, void *opaque){ | |
| 89 | + INTER_BLOCK(ob); | |
| 90 | + BLOB_APPEND_LITTERAL(ob, "<div class=\"markdown\">\n"); | |
| 91 | +} | |
| 92 | + | |
| 93 | +static void html_epilog(struct Blob *ob, void *opaque){ | |
| 94 | + INTER_BLOCK(ob); | |
| 95 | + BLOB_APPEND_LITTERAL(ob, "</div>\n"); | |
| 96 | +} | |
| 87 | 97 | |
| 88 | 98 | static void html_raw_block(struct Blob *ob, struct Blob *text, void *opaque){ |
| 89 | 99 | char *data = blob_buffer(text); |
| 90 | 100 | size_t first = 0, size = blob_size(text); |
| 91 | 101 | INTER_BLOCK(ob); |
| @@ -364,11 +374,13 @@ | ||
| 364 | 374 | struct Blob *input_markdown, |
| 365 | 375 | struct Blob *output_title, |
| 366 | 376 | struct Blob *output_body |
| 367 | 377 | ){ |
| 368 | 378 | struct mkd_renderer html_renderer = { |
| 369 | - 0, 0, /* no prolog or epilog */ | |
| 379 | + /* prolog and epilog */ | |
| 380 | + html_prolog, | |
| 381 | + html_epilog, | |
| 370 | 382 | |
| 371 | 383 | /* block level elements */ |
| 372 | 384 | html_blockcode, |
| 373 | 385 | html_blockquote, |
| 374 | 386 | html_raw_block, |
| 375 | 387 |
| --- src/markdown_html.c | |
| +++ src/markdown_html.c | |
| @@ -82,10 +82,20 @@ | |
| 82 | } |
| 83 | } |
| 84 | |
| 85 | |
| 86 | /* HTML block tags */ |
| 87 | |
| 88 | static void html_raw_block(struct Blob *ob, struct Blob *text, void *opaque){ |
| 89 | char *data = blob_buffer(text); |
| 90 | size_t first = 0, size = blob_size(text); |
| 91 | INTER_BLOCK(ob); |
| @@ -364,11 +374,13 @@ | |
| 364 | struct Blob *input_markdown, |
| 365 | struct Blob *output_title, |
| 366 | struct Blob *output_body |
| 367 | ){ |
| 368 | struct mkd_renderer html_renderer = { |
| 369 | 0, 0, /* no prolog or epilog */ |
| 370 | |
| 371 | /* block level elements */ |
| 372 | html_blockcode, |
| 373 | html_blockquote, |
| 374 | html_raw_block, |
| 375 |
| --- src/markdown_html.c | |
| +++ src/markdown_html.c | |
| @@ -82,10 +82,20 @@ | |
| 82 | } |
| 83 | } |
| 84 | |
| 85 | |
| 86 | /* HTML block tags */ |
| 87 | |
| 88 | static void html_prolog(struct Blob *ob, void *opaque){ |
| 89 | INTER_BLOCK(ob); |
| 90 | BLOB_APPEND_LITTERAL(ob, "<div class=\"markdown\">\n"); |
| 91 | } |
| 92 | |
| 93 | static void html_epilog(struct Blob *ob, void *opaque){ |
| 94 | INTER_BLOCK(ob); |
| 95 | BLOB_APPEND_LITTERAL(ob, "</div>\n"); |
| 96 | } |
| 97 | |
| 98 | static void html_raw_block(struct Blob *ob, struct Blob *text, void *opaque){ |
| 99 | char *data = blob_buffer(text); |
| 100 | size_t first = 0, size = blob_size(text); |
| 101 | INTER_BLOCK(ob); |
| @@ -364,11 +374,13 @@ | |
| 374 | struct Blob *input_markdown, |
| 375 | struct Blob *output_title, |
| 376 | struct Blob *output_body |
| 377 | ){ |
| 378 | struct mkd_renderer html_renderer = { |
| 379 | /* prolog and epilog */ |
| 380 | html_prolog, |
| 381 | html_epilog, |
| 382 | |
| 383 | /* block level elements */ |
| 384 | html_blockcode, |
| 385 | html_blockquote, |
| 386 | html_raw_block, |
| 387 |