summaryrefslogtreecommitdiff
path: root/format.c
diff options
context:
space:
mode:
authordefault <nobody@localhost>2024-05-27 05:49:29 +0200
committerdefault <nobody@localhost>2024-05-27 05:49:29 +0200
commit36764b8ade5ee4686b04acb251f586eec4dacfad (patch)
tree573e5b170842522b6e79f21e61a5aa2a53e538b3 /format.c
parent36969bcf6f4ed85a76ee3216051e9acb181d60dc (diff)
Minor tweak to markdown-like links.
Diffstat (limited to 'format.c')
-rw-r--r--format.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/format.c b/format.c
index 0a8b72c..1020ddd 100644
--- a/format.c
+++ b/format.c
@@ -144,11 +144,16 @@ static xs_str *format_line(const char *line, xs_list **attach)
if (*v == '[') {
/* markdown-like links [label](url) */
xs *w = xs_strip_chars_i(xs_dup(v), "[)");
- xs *l = xs_split(w, "](");
- xs *link = xs_fmt("<a href=\"%s\">%s</a>",
+ xs *l = xs_split_n(w, "](", 1);
+
+ if (xs_list_len(l) == 2) {
+ xs *link = xs_fmt("<a href=\"%s\">%s</a>",
xs_list_get(l, 1), xs_list_get(l, 0));
- s = xs_str_cat(s, link);
+ s = xs_str_cat(s, link);
+ }
+ else
+ s = xs_str_cat(s, v);
}
else
s = xs_str_cat(s, v);