Fossil SCM

Add markdown paragraphs special styling. See [forum:/forumpost/6e7e2f68b6|forum thread 6e7e2f68b6].

juef 2024-04-27 11:46 trunk
Commit ebf6e79e421fd52e02a9d37fd8d741263e0a9eb8f8c08258aec43bf7e1edaf42
--- skins/default/css.txt
+++ skins/default/css.txt
@@ -211,10 +211,65 @@
211211
margin: 0.5em 0;
212212
}
213213
214214
215215
/* Markdown and Wiki-formatted pages: /wiki, /doc, /file... */
216
+
217
+.markdown p.admonition-note:before {
218
+ content: "ℹ️ NOTE";
219
+ display: block;
220
+ font-weight: bold;
221
+}
222
+.markdown p.admonition-note {
223
+ background-color: #32b1b121;
224
+ border-left: 3px solid #40bbc2;
225
+ padding: 0.1em 1em;
226
+}
227
+
228
+.markdown p.admonition-tip:before {
229
+ content: "💡 TIP";
230
+ display: block;
231
+ font-weight: bold;
232
+}
233
+.markdown p.admonition-tip {
234
+ background-color: #28df2b42;
235
+ border-left: 3px solid #2eac5f;
236
+ padding: 0.1em 1em;
237
+}
238
+
239
+.markdown p.admonition-important:before {
240
+ content: "❗ IMPORTANT";
241
+ display: block;
242
+ font-weight: bold;
243
+}
244
+.markdown p.admonition-important {
245
+ background-color: #f0504085;
246
+ border-left: 3px solid #f91818;
247
+ padding: 0.1em 1em;
248
+}
249
+
250
+.markdown p.admonition-caution:before {
251
+ content: "🔥 CAUTION";
252
+ display: block;
253
+ font-weight: bold;
254
+}
255
+.markdown p.admonition-caution {
256
+ background-color: #9215e829;
257
+ border-left: 3px solid #d547e1;
258
+ padding: 0.1em 1em;
259
+}
260
+
261
+.markdown p.admonition-warning:before {
262
+ content: "⚠️ WARNING";
263
+ display: block;
264
+ font-weight: bold;
265
+}
266
+.markdown p.admonition-warning {
267
+ background-color: #f97e256b;
268
+ border-left: 3px solid #ff6a21;
269
+ padding: 0.1em 1em;
270
+}
216271
217272
.markdown blockquote, p.blockquote, .sidebar {
218273
/* Override default.css version with our accent colors. Background is
219274
* the solid version of rgba(65, 131, 196, 0.1) on white, needed to
220275
* avoid tinting pre block backgrounds going "under" them. */
@@ -511,10 +566,31 @@
511566
}
512567
tr.timelineCurrent td:last-child {
513568
border-right: 1px dashed #446979;
514569
}
515570
571
+details {
572
+ border: 1px solid #aaa;
573
+ border-radius: 4px;
574
+ padding: 0.5em 0.5em 0;
575
+}
576
+
577
+summary {
578
+ font-weight: bold;
579
+ margin: -0.5em -0.5em 0;
580
+ padding: 0.5em;
581
+}
582
+
583
+details[open] {
584
+ padding: 0.5em;
585
+}
586
+
587
+details[open] summary {
588
+ border-bottom: 1px solid #aaa;
589
+ margin-bottom: 0.5em;
590
+}
591
+
516592
517593
/* Miscellaneous UI elements */
518594
519595
.fossil-tooltip.help-buttonlet-content {
520596
background-color: lightyellow;
@@ -601,56 +677,72 @@
601677
* through sassc gives substantially identical output, modulo the
602678
* hand-polishing we've done here. */
603679
.artifact > .content > p,
604680
.artifact > .content > .markdown > p,
605681
.artifact > .content > .fossil-doc > p,
682
+ .artifact > .content > details,
683
+ .artifact > .content > .markdown > details,
684
+ .artifact > .content > .fossil-doc > details,
606685
.artifact > .content > ol, .artifact > .content > ul,
607686
.artifact > .content > .markdown > ol, .artifact > .content > .markdown > ul,
608687
.artifact > .content > .fossil-doc > ol, .artifact > .content > .fossil-doc > ul,
609688
.artifact > .content > table,
610689
.artifact > .content > .markdown > table,
611690
.artifact > .content > .fossil-doc > table,
612691
.dir > .content > p,
613692
.dir > .content > .markdown > p,
614693
.dir > .content > .fossil-doc > p,
694
+ .dir > .content > details,
695
+ .dir > .content > .markdown > details,
696
+ .dir > .content > .fossil-doc > details,
615697
.dir > .content > ol, .dir > .content > ul,
616698
.dir > .content > .markdown > ol, .dir > .content > .markdown > ul,
617699
.dir > .content > .fossil-doc > ol, .dir > .content > .fossil-doc > ul,
618700
.dir > .content > table,
619701
.dir > .content > .markdown > table,
620702
.dir > .content > .fossil-doc > table,
621703
.doc > .content > p,
622704
.doc > .content > .markdown > p,
623705
.doc > .content > .fossil-doc > p,
706
+ .doc > .content > details,
707
+ .doc > .content > .markdown > details,
708
+ .doc > .content > .fossil-doc > details,
624709
.doc > .content > ol, .doc > .content > ul,
625710
.doc > .content > .markdown > ol, .doc > .content > .markdown > ul,
626711
.doc > .content > .fossil-doc > ol, .doc > .content > .fossil-doc > ul,
627712
.doc > .content > table,
628713
.doc > .content > .markdown > table,
629714
.doc > .content > .fossil-doc > table,
630715
.wiki > .content > p,
631716
.wiki > .content > .markdown > p,
632717
.wiki > .content > .fossil-doc > p,
718
+ .wiki > .content > details,
719
+ .wiki > .content > .markdown > details,
720
+ .wiki > .content > .fossil-doc > details,
633721
.wiki > .content > ol, .wiki > .content > ul,
634722
.wiki > .content > .markdown > ol, .wiki > .content > .markdown > ul,
635723
.wiki > .content > .fossil-doc > ol, .wiki > .content > .fossil-doc > ul,
636724
.wiki > .content > table,
637725
.wiki > .content > .markdown > table,
638726
.wiki > .content > .fossil-doc > table,
639727
#fileedit-tab-preview-wrapper > p,
728
+ #fileedit-tab-preview-wrapper > details,
640729
#fileedit-tab-preview-wrapper > ol,
641730
#fileedit-tab-preview-wrapper > ul,
642731
#fileedit-tab-preview-wrapper > table,
643732
#fileedit-tab-preview-wrapper > .markdown > p,
733
+ #fileedit-tab-preview-wrapper > .markdown > details,
644734
#fileedit-tab-preview-wrapper > .markdown > ol,
645735
#fileedit-tab-preview-wrapper > .markdown > ul,
646736
#fileedit-tab-preview-wrapper > .markdown > table,
647737
#wikiedit-tab-preview-wrapper > p,
738
+ #wikiedit-tab-preview-wrapper > details,
648739
#wikiedit-tab-preview-wrapper > ol,
649740
#wikiedit-tab-preview-wrapper > ul,
650741
#wikiedit-tab-preview-wrapper > table,
651742
#wikiedit-tab-preview-wrapper > .markdown > p,
743
+ #wikiedit-tab-preview-wrapper > .markdown > details,
652744
#wikiedit-tab-preview-wrapper > .markdown > ol,
653745
#wikiedit-tab-preview-wrapper > .markdown > ul,
654746
#wikiedit-tab-preview-wrapper > .markdown > table {
655747
margin-left: 50pt;
656748
margin-right: 50pt;
657749
--- skins/default/css.txt
+++ skins/default/css.txt
@@ -211,10 +211,65 @@
211 margin: 0.5em 0;
212 }
213
214
215 /* Markdown and Wiki-formatted pages: /wiki, /doc, /file... */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
216
217 .markdown blockquote, p.blockquote, .sidebar {
218 /* Override default.css version with our accent colors. Background is
219 * the solid version of rgba(65, 131, 196, 0.1) on white, needed to
220 * avoid tinting pre block backgrounds going "under" them. */
@@ -511,10 +566,31 @@
511 }
512 tr.timelineCurrent td:last-child {
513 border-right: 1px dashed #446979;
514 }
515
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
516
517 /* Miscellaneous UI elements */
518
519 .fossil-tooltip.help-buttonlet-content {
520 background-color: lightyellow;
@@ -601,56 +677,72 @@
601 * through sassc gives substantially identical output, modulo the
602 * hand-polishing we've done here. */
603 .artifact > .content > p,
604 .artifact > .content > .markdown > p,
605 .artifact > .content > .fossil-doc > p,
 
 
 
606 .artifact > .content > ol, .artifact > .content > ul,
607 .artifact > .content > .markdown > ol, .artifact > .content > .markdown > ul,
608 .artifact > .content > .fossil-doc > ol, .artifact > .content > .fossil-doc > ul,
609 .artifact > .content > table,
610 .artifact > .content > .markdown > table,
611 .artifact > .content > .fossil-doc > table,
612 .dir > .content > p,
613 .dir > .content > .markdown > p,
614 .dir > .content > .fossil-doc > p,
 
 
 
615 .dir > .content > ol, .dir > .content > ul,
616 .dir > .content > .markdown > ol, .dir > .content > .markdown > ul,
617 .dir > .content > .fossil-doc > ol, .dir > .content > .fossil-doc > ul,
618 .dir > .content > table,
619 .dir > .content > .markdown > table,
620 .dir > .content > .fossil-doc > table,
621 .doc > .content > p,
622 .doc > .content > .markdown > p,
623 .doc > .content > .fossil-doc > p,
 
 
 
624 .doc > .content > ol, .doc > .content > ul,
625 .doc > .content > .markdown > ol, .doc > .content > .markdown > ul,
626 .doc > .content > .fossil-doc > ol, .doc > .content > .fossil-doc > ul,
627 .doc > .content > table,
628 .doc > .content > .markdown > table,
629 .doc > .content > .fossil-doc > table,
630 .wiki > .content > p,
631 .wiki > .content > .markdown > p,
632 .wiki > .content > .fossil-doc > p,
 
 
 
633 .wiki > .content > ol, .wiki > .content > ul,
634 .wiki > .content > .markdown > ol, .wiki > .content > .markdown > ul,
635 .wiki > .content > .fossil-doc > ol, .wiki > .content > .fossil-doc > ul,
636 .wiki > .content > table,
637 .wiki > .content > .markdown > table,
638 .wiki > .content > .fossil-doc > table,
639 #fileedit-tab-preview-wrapper > p,
 
640 #fileedit-tab-preview-wrapper > ol,
641 #fileedit-tab-preview-wrapper > ul,
642 #fileedit-tab-preview-wrapper > table,
643 #fileedit-tab-preview-wrapper > .markdown > p,
 
644 #fileedit-tab-preview-wrapper > .markdown > ol,
645 #fileedit-tab-preview-wrapper > .markdown > ul,
646 #fileedit-tab-preview-wrapper > .markdown > table,
647 #wikiedit-tab-preview-wrapper > p,
 
648 #wikiedit-tab-preview-wrapper > ol,
649 #wikiedit-tab-preview-wrapper > ul,
650 #wikiedit-tab-preview-wrapper > table,
651 #wikiedit-tab-preview-wrapper > .markdown > p,
 
652 #wikiedit-tab-preview-wrapper > .markdown > ol,
653 #wikiedit-tab-preview-wrapper > .markdown > ul,
654 #wikiedit-tab-preview-wrapper > .markdown > table {
655 margin-left: 50pt;
656 margin-right: 50pt;
657
--- skins/default/css.txt
+++ skins/default/css.txt
@@ -211,10 +211,65 @@
211 margin: 0.5em 0;
212 }
213
214
215 /* Markdown and Wiki-formatted pages: /wiki, /doc, /file... */
216
217 .markdown p.admonition-note:before {
218 content: "ℹ️ NOTE";
219 display: block;
220 font-weight: bold;
221 }
222 .markdown p.admonition-note {
223 background-color: #32b1b121;
224 border-left: 3px solid #40bbc2;
225 padding: 0.1em 1em;
226 }
227
228 .markdown p.admonition-tip:before {
229 content: "💡 TIP";
230 display: block;
231 font-weight: bold;
232 }
233 .markdown p.admonition-tip {
234 background-color: #28df2b42;
235 border-left: 3px solid #2eac5f;
236 padding: 0.1em 1em;
237 }
238
239 .markdown p.admonition-important:before {
240 content: "❗ IMPORTANT";
241 display: block;
242 font-weight: bold;
243 }
244 .markdown p.admonition-important {
245 background-color: #f0504085;
246 border-left: 3px solid #f91818;
247 padding: 0.1em 1em;
248 }
249
250 .markdown p.admonition-caution:before {
251 content: "🔥 CAUTION";
252 display: block;
253 font-weight: bold;
254 }
255 .markdown p.admonition-caution {
256 background-color: #9215e829;
257 border-left: 3px solid #d547e1;
258 padding: 0.1em 1em;
259 }
260
261 .markdown p.admonition-warning:before {
262 content: "⚠️ WARNING";
263 display: block;
264 font-weight: bold;
265 }
266 .markdown p.admonition-warning {
267 background-color: #f97e256b;
268 border-left: 3px solid #ff6a21;
269 padding: 0.1em 1em;
270 }
271
272 .markdown blockquote, p.blockquote, .sidebar {
273 /* Override default.css version with our accent colors. Background is
274 * the solid version of rgba(65, 131, 196, 0.1) on white, needed to
275 * avoid tinting pre block backgrounds going "under" them. */
@@ -511,10 +566,31 @@
566 }
567 tr.timelineCurrent td:last-child {
568 border-right: 1px dashed #446979;
569 }
570
571 details {
572 border: 1px solid #aaa;
573 border-radius: 4px;
574 padding: 0.5em 0.5em 0;
575 }
576
577 summary {
578 font-weight: bold;
579 margin: -0.5em -0.5em 0;
580 padding: 0.5em;
581 }
582
583 details[open] {
584 padding: 0.5em;
585 }
586
587 details[open] summary {
588 border-bottom: 1px solid #aaa;
589 margin-bottom: 0.5em;
590 }
591
592
593 /* Miscellaneous UI elements */
594
595 .fossil-tooltip.help-buttonlet-content {
596 background-color: lightyellow;
@@ -601,56 +677,72 @@
677 * through sassc gives substantially identical output, modulo the
678 * hand-polishing we've done here. */
679 .artifact > .content > p,
680 .artifact > .content > .markdown > p,
681 .artifact > .content > .fossil-doc > p,
682 .artifact > .content > details,
683 .artifact > .content > .markdown > details,
684 .artifact > .content > .fossil-doc > details,
685 .artifact > .content > ol, .artifact > .content > ul,
686 .artifact > .content > .markdown > ol, .artifact > .content > .markdown > ul,
687 .artifact > .content > .fossil-doc > ol, .artifact > .content > .fossil-doc > ul,
688 .artifact > .content > table,
689 .artifact > .content > .markdown > table,
690 .artifact > .content > .fossil-doc > table,
691 .dir > .content > p,
692 .dir > .content > .markdown > p,
693 .dir > .content > .fossil-doc > p,
694 .dir > .content > details,
695 .dir > .content > .markdown > details,
696 .dir > .content > .fossil-doc > details,
697 .dir > .content > ol, .dir > .content > ul,
698 .dir > .content > .markdown > ol, .dir > .content > .markdown > ul,
699 .dir > .content > .fossil-doc > ol, .dir > .content > .fossil-doc > ul,
700 .dir > .content > table,
701 .dir > .content > .markdown > table,
702 .dir > .content > .fossil-doc > table,
703 .doc > .content > p,
704 .doc > .content > .markdown > p,
705 .doc > .content > .fossil-doc > p,
706 .doc > .content > details,
707 .doc > .content > .markdown > details,
708 .doc > .content > .fossil-doc > details,
709 .doc > .content > ol, .doc > .content > ul,
710 .doc > .content > .markdown > ol, .doc > .content > .markdown > ul,
711 .doc > .content > .fossil-doc > ol, .doc > .content > .fossil-doc > ul,
712 .doc > .content > table,
713 .doc > .content > .markdown > table,
714 .doc > .content > .fossil-doc > table,
715 .wiki > .content > p,
716 .wiki > .content > .markdown > p,
717 .wiki > .content > .fossil-doc > p,
718 .wiki > .content > details,
719 .wiki > .content > .markdown > details,
720 .wiki > .content > .fossil-doc > details,
721 .wiki > .content > ol, .wiki > .content > ul,
722 .wiki > .content > .markdown > ol, .wiki > .content > .markdown > ul,
723 .wiki > .content > .fossil-doc > ol, .wiki > .content > .fossil-doc > ul,
724 .wiki > .content > table,
725 .wiki > .content > .markdown > table,
726 .wiki > .content > .fossil-doc > table,
727 #fileedit-tab-preview-wrapper > p,
728 #fileedit-tab-preview-wrapper > details,
729 #fileedit-tab-preview-wrapper > ol,
730 #fileedit-tab-preview-wrapper > ul,
731 #fileedit-tab-preview-wrapper > table,
732 #fileedit-tab-preview-wrapper > .markdown > p,
733 #fileedit-tab-preview-wrapper > .markdown > details,
734 #fileedit-tab-preview-wrapper > .markdown > ol,
735 #fileedit-tab-preview-wrapper > .markdown > ul,
736 #fileedit-tab-preview-wrapper > .markdown > table,
737 #wikiedit-tab-preview-wrapper > p,
738 #wikiedit-tab-preview-wrapper > details,
739 #wikiedit-tab-preview-wrapper > ol,
740 #wikiedit-tab-preview-wrapper > ul,
741 #wikiedit-tab-preview-wrapper > table,
742 #wikiedit-tab-preview-wrapper > .markdown > p,
743 #wikiedit-tab-preview-wrapper > .markdown > details,
744 #wikiedit-tab-preview-wrapper > .markdown > ol,
745 #wikiedit-tab-preview-wrapper > .markdown > ul,
746 #wikiedit-tab-preview-wrapper > .markdown > table {
747 margin-left: 50pt;
748 margin-right: 50pt;
749
--- src/markdown.md
+++ src/markdown.md
@@ -2,10 +2,61 @@
22
33
## Paragraphs ##
44
55
> Paragraphs are divided by blank lines.
66
> End a line with two or more spaces to force a mid-paragraph line break.
7
+
8
+### Admonitions ###
9
+There are special admonition types.
10
+
11
+> ~~~
12
+:: FOLD ::
13
+Folded text.
14
+~~~
15
+
16
+:: FOLD ::
17
+Folded text.
18
+
19
+> ~~~
20
+:: NOTE ::
21
+Note text.
22
+~~~
23
+
24
+:: NOTE ::
25
+Note text.
26
+
27
+> ~~~
28
+:: TIP ::
29
+Tip text.
30
+~~~
31
+
32
+:: TIP ::
33
+Tip text.
34
+
35
+> ~~~
36
+:: IMPORTANT ::
37
+Important text.
38
+~~~
39
+
40
+:: IMPORTANT ::
41
+Important text.
42
+
43
+> ~~~
44
+:: CAUTION ::
45
+Caution text.
46
+~~~
47
+
48
+:: CAUTION ::
49
+Caution text.
50
+
51
+> ~~~
52
+:: WARNING ::
53
+Warning text.
54
+~~~
55
+
56
+:: WARNING ::
57
+Warning text.
758
859
## Headings ##
960
1061
>
1162
# Top Level Heading Alternative Top Level Heading
1263
--- src/markdown.md
+++ src/markdown.md
@@ -2,10 +2,61 @@
2
3 ## Paragraphs ##
4
5 > Paragraphs are divided by blank lines.
6 > End a line with two or more spaces to force a mid-paragraph line break.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
8 ## Headings ##
9
10 >
11 # Top Level Heading Alternative Top Level Heading
12
--- src/markdown.md
+++ src/markdown.md
@@ -2,10 +2,61 @@
2
3 ## Paragraphs ##
4
5 > Paragraphs are divided by blank lines.
6 > End a line with two or more spaces to force a mid-paragraph line break.
7
8 ### Admonitions ###
9 There are special admonition types.
10
11 > ~~~
12 :: FOLD ::
13 Folded text.
14 ~~~
15
16 :: FOLD ::
17 Folded text.
18
19 > ~~~
20 :: NOTE ::
21 Note text.
22 ~~~
23
24 :: NOTE ::
25 Note text.
26
27 > ~~~
28 :: TIP ::
29 Tip text.
30 ~~~
31
32 :: TIP ::
33 Tip text.
34
35 > ~~~
36 :: IMPORTANT ::
37 Important text.
38 ~~~
39
40 :: IMPORTANT ::
41 Important text.
42
43 > ~~~
44 :: CAUTION ::
45 Caution text.
46 ~~~
47
48 :: CAUTION ::
49 Caution text.
50
51 > ~~~
52 :: WARNING ::
53 Warning text.
54 ~~~
55
56 :: WARNING ::
57 Warning text.
58
59 ## Headings ##
60
61 >
62 # Top Level Heading Alternative Top Level Heading
63
--- src/markdown_html.c
+++ src/markdown_html.c
@@ -264,14 +264,43 @@
264264
blob_append(ob, text_data, text_size);
265265
blob_append_literal(ob, "</li>\n");
266266
}
267267
268268
static void html_paragraph(struct Blob *ob, struct Blob *text, void *opaque){
269
+ char *text_data = blob_buffer(text);
270
+ size_t text_size = blob_size(text);
269271
INTER_BLOCK(ob);
270
- blob_append_literal(ob, "<p>");
271
- blob_appendb(ob, text);
272
- blob_append_literal(ob, "</p>\n");
272
+
273
+ if( strncmp(":: FOLD ::", text_data, 10)==0 ){
274
+ blob_append_literal(ob, "<details>\n<summary>Click to expand</summary>\n");
275
+ blob_append(ob, text_data+10, text_size-10);
276
+ blob_append_literal(ob, "</details>\n");
277
+ }else if( strncmp(":: NOTE ::", text_data, 10)==0 ){
278
+ blob_append_literal(ob, "<p class=\"admonition-note\">");
279
+ blob_append(ob, text_data+10, text_size-10);
280
+ blob_append_literal(ob, "</p>\n");
281
+ }else if( strncmp(":: TIP ::", text_data, 9)==0 ){
282
+ blob_append_literal(ob, "<p class=\"admonition-tip\">");
283
+ blob_append(ob, text_data+9, text_size-9);
284
+ blob_append_literal(ob, "</p>\n");
285
+ }else if( strncmp(":: IMPORTANT ::", text_data, 15)==0 ){
286
+ blob_append_literal(ob, "<p class=\"admonition-important\">");
287
+ blob_append(ob, text_data+15, text_size-15);
288
+ blob_append_literal(ob, "</p>\n");
289
+ }else if( strncmp(":: CAUTION ::", text_data, 13)==0 ){
290
+ blob_append_literal(ob, "<p class=\"admonition-caution\">");
291
+ blob_append(ob, text_data+13, text_size-13);
292
+ blob_append_literal(ob, "</p>\n");
293
+ }else if( strncmp(":: WARNING ::", text_data, 13)==0 ){
294
+ blob_append_literal(ob, "<p class=\"admonition-warning\">");
295
+ blob_append(ob, text_data+13, text_size-13);
296
+ blob_append_literal(ob, "</p>\n");
297
+ }else{
298
+ blob_append_literal(ob, "<p>");
299
+ blob_appendb(ob, text);
300
+ blob_append_literal(ob, "</p>\n");
301
+ }
273302
}
274303
275304
276305
static void html_table(
277306
struct Blob *ob,
278307
--- src/markdown_html.c
+++ src/markdown_html.c
@@ -264,14 +264,43 @@
264 blob_append(ob, text_data, text_size);
265 blob_append_literal(ob, "</li>\n");
266 }
267
268 static void html_paragraph(struct Blob *ob, struct Blob *text, void *opaque){
 
 
269 INTER_BLOCK(ob);
270 blob_append_literal(ob, "<p>");
271 blob_appendb(ob, text);
272 blob_append_literal(ob, "</p>\n");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
273 }
274
275
276 static void html_table(
277 struct Blob *ob,
278
--- src/markdown_html.c
+++ src/markdown_html.c
@@ -264,14 +264,43 @@
264 blob_append(ob, text_data, text_size);
265 blob_append_literal(ob, "</li>\n");
266 }
267
268 static void html_paragraph(struct Blob *ob, struct Blob *text, void *opaque){
269 char *text_data = blob_buffer(text);
270 size_t text_size = blob_size(text);
271 INTER_BLOCK(ob);
272
273 if( strncmp(":: FOLD ::", text_data, 10)==0 ){
274 blob_append_literal(ob, "<details>\n<summary>Click to expand</summary>\n");
275 blob_append(ob, text_data+10, text_size-10);
276 blob_append_literal(ob, "</details>\n");
277 }else if( strncmp(":: NOTE ::", text_data, 10)==0 ){
278 blob_append_literal(ob, "<p class=\"admonition-note\">");
279 blob_append(ob, text_data+10, text_size-10);
280 blob_append_literal(ob, "</p>\n");
281 }else if( strncmp(":: TIP ::", text_data, 9)==0 ){
282 blob_append_literal(ob, "<p class=\"admonition-tip\">");
283 blob_append(ob, text_data+9, text_size-9);
284 blob_append_literal(ob, "</p>\n");
285 }else if( strncmp(":: IMPORTANT ::", text_data, 15)==0 ){
286 blob_append_literal(ob, "<p class=\"admonition-important\">");
287 blob_append(ob, text_data+15, text_size-15);
288 blob_append_literal(ob, "</p>\n");
289 }else if( strncmp(":: CAUTION ::", text_data, 13)==0 ){
290 blob_append_literal(ob, "<p class=\"admonition-caution\">");
291 blob_append(ob, text_data+13, text_size-13);
292 blob_append_literal(ob, "</p>\n");
293 }else if( strncmp(":: WARNING ::", text_data, 13)==0 ){
294 blob_append_literal(ob, "<p class=\"admonition-warning\">");
295 blob_append(ob, text_data+13, text_size-13);
296 blob_append_literal(ob, "</p>\n");
297 }else{
298 blob_append_literal(ob, "<p>");
299 blob_appendb(ob, text);
300 blob_append_literal(ob, "</p>\n");
301 }
302 }
303
304
305 static void html_table(
306 struct Blob *ob,
307

Keyboard Shortcuts

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