diff options
author | default <nobody@localhost> | 2024-07-18 17:19:14 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2024-07-18 17:19:14 +0200 |
commit | f3b392e06a72cc1461ab2c9587c96991a2731e9c (patch) | |
tree | a14437db2e4b4563fc54ea9de579cc7f2ce8a156 | |
parent | cd967285935c6a2a22e97a61cc4ed3f8074f2889 (diff) |
Show bold+italic (text between ***) correctly.
-rw-r--r-- | format.c | 12 | ||||
-rw-r--r-- | html.c | 2 |
2 files changed, 10 insertions, 4 deletions
@@ -88,9 +88,9 @@ static xs_str *format_line(const char *line, xs_list **attach) /* split by markup */ xs *sm = xs_regex_split(line, "(" - "`[^`]+`" "|" - "\\*\\*?[^\\*]+\\*?\\*" "|" - "\\[[^]]+\\]\\([^\\)]+\\)" "|" + "`[^`]+`" "|" + "\\*\\*?\\*?[^\\*]+\\*?\\*?\\*" "|" + "\\[[^]]+\\]\\([^\\)]+\\)" "|" "https?:/" "/[^[:space:]]+" ")"); int n = 0; @@ -106,6 +106,12 @@ static xs_str *format_line(const char *line, xs_list **attach) s = xs_str_cat(s, s2); } 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, "**")) { xs *s1 = xs_crop_i(xs_dup(v), 2, -2); xs *s2 = xs_fmt("<b>%s</b>", s1); @@ -2090,7 +2090,7 @@ xs_html *html_footer(void) xs_html_tag("a", xs_html_attr("href", WHAT_IS_SNAC_URL), xs_html_tag("abbr", - xs_html_attr("title", "Social Network Are Crap"), + xs_html_attr("title", "Social Networks Are Crap"), xs_html_text("snac")))); } |