Browse Source

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

default 8 months ago
parent
commit
f3b392e06a
2 changed files with 10 additions and 4 deletions
  1. 9 3
      format.c
  2. 1 1
      html.c

+ 9 - 3
format.c

@@ -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);

+ 1 - 1
html.c

@@ -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"))));
 }