Show bold+italic (text between ***) correctly.

This commit is contained in:
default 2024-07-18 17:19:14 +02:00
parent cd96728593
commit f3b392e06a
2 changed files with 10 additions and 4 deletions

View file

@ -88,9 +88,9 @@ static xs_str *format_line(const char *line, xs_list **attach)
/* split by markup */ /* split by markup */
xs *sm = xs_regex_split(line, xs *sm = xs_regex_split(line,
"(" "("
"`[^`]+`" "|" "`[^`]+`" "|"
"\\*\\*?[^\\*]+\\*?\\*" "|" "\\*\\*?\\*?[^\\*]+\\*?\\*?\\*" "|"
"\\[[^]]+\\]\\([^\\)]+\\)" "|" "\\[[^]]+\\]\\([^\\)]+\\)" "|"
"https?:/" "/[^[:space:]]+" "https?:/" "/[^[:space:]]+"
")"); ")");
int n = 0; int n = 0;
@ -106,6 +106,12 @@ static xs_str *format_line(const char *line, xs_list **attach)
s = xs_str_cat(s, s2); s = xs_str_cat(s, s2);
} }
else else
if (xs_startswith(v, "***")) {
xs *s1 = xs_crop_i(xs_dup(v), 3, -3);
xs *s2 = xs_fmt("<b><i>%s</i></b>", s1);
s = xs_str_cat(s, s2);
}
else
if (xs_startswith(v, "**")) { if (xs_startswith(v, "**")) {
xs *s1 = xs_crop_i(xs_dup(v), 2, -2); xs *s1 = xs_crop_i(xs_dup(v), 2, -2);
xs *s2 = xs_fmt("<b>%s</b>", s1); xs *s2 = xs_fmt("<b>%s</b>", s1);

2
html.c
View file

@ -2090,7 +2090,7 @@ xs_html *html_footer(void)
xs_html_tag("a", xs_html_tag("a",
xs_html_attr("href", WHAT_IS_SNAC_URL), xs_html_attr("href", WHAT_IS_SNAC_URL),
xs_html_tag("abbr", xs_html_tag("abbr",
xs_html_attr("title", "Social Network Are Crap"), xs_html_attr("title", "Social Networks Are Crap"),
xs_html_text("snac")))); xs_html_text("snac"))));
} }