From 9aec7c9fa8fe5396451aae608f8b9c58346f4b4e Mon Sep 17 00:00:00 2001 From: default Date: Fri, 7 Oct 2022 18:30:54 +0200 Subject: Moved message formatting to format.c. --- html.c | 110 ----------------------------------------------------------------- 1 file changed, 110 deletions(-) (limited to 'html.c') diff --git a/html.c b/html.c index 02556d8..6882729 100644 --- a/html.c +++ b/html.c @@ -12,116 +12,6 @@ #include "snac.h" -d_char *not_really_markdown(char *content, d_char **f_content) -/* formats a content using some Markdown rules */ -{ - d_char *s = NULL; - int in_pre = 0; - int in_blq = 0; - xs *list; - char *p, *v; - xs *wrk = xs_str_new(NULL); - - { - /* split by special markup */ - xs *sm = xs_regex_split(content, - "(`[^`]+`|\\*\\*?[^\\*]+\\*?\\*|https?:/" "/[^[:space:]]+)"); - int n = 0; - - p = sm; - while (xs_list_iter(&p, &v)) { - if ((n & 0x1)) { - /* markup */ - if (xs_startswith(v, "`")) { - xs *s1 = xs_crop(xs_dup(v), 1, -1); - xs *s2 = xs_fmt("%s", s1); - wrk = xs_str_cat(wrk, s2); - } - else - if (xs_startswith(v, "**")) { - xs *s1 = xs_crop(xs_dup(v), 2, -2); - xs *s2 = xs_fmt("%s", s1); - wrk = xs_str_cat(wrk, s2); - } - else - if (xs_startswith(v, "*")) { - xs *s1 = xs_crop(xs_dup(v), 1, -1); - xs *s2 = xs_fmt("%s", s1); - wrk = xs_str_cat(wrk, s2); - } - else - if (xs_startswith(v, "http")) { - xs *s1 = xs_fmt("%s", v, v); - wrk = xs_str_cat(wrk, s1); - } - else - /* what the hell is this */ - wrk = xs_str_cat(wrk, v); - } - else - /* surrounded text, copy directly */ - wrk = xs_str_cat(wrk, v); - - n++; - } - } - - /* now work by lines */ - p = list = xs_split(wrk, "\n"); - - s = xs_str_new(NULL); - - while (xs_list_iter(&p, &v)) { - xs *ss = xs_strip(xs_dup(v)); - - if (xs_startswith(ss, "```")) { - if (!in_pre) - s = xs_str_cat(s, "
");
-            else
-                s = xs_str_cat(s, "
"); - - in_pre = !in_pre; - continue; - } - - if (xs_startswith(ss, ">")) { - /* delete the > and subsequent spaces */ - ss = xs_strip(xs_crop(ss, 1, 0)); - - if (!in_blq) { - s = xs_str_cat(s, "
"); - in_blq = 1; - } - - s = xs_str_cat(s, ss); - s = xs_str_cat(s, "
"); - - continue; - } - - if (in_blq) { - s = xs_str_cat(s, "
"); - in_blq = 0; - } - - s = xs_str_cat(s, ss); - s = xs_str_cat(s, "
"); - } - - if (in_blq) - s = xs_str_cat(s, ""); - if (in_pre) - s = xs_str_cat(s, ""); - - /* some beauty fixes */ - s = xs_replace_i(s, "
", ""); - - *f_content = s; - - return *f_content; -} - - int login(snac *snac, char *headers) /* tries a login */ { -- cgit v1.2.3