diff options
author | default <nobody@localhost> | 2024-05-05 11:27:24 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2024-05-05 11:27:24 +0200 |
commit | c31a4ae73e9759cebda2a9cf8a34b352dc246314 (patch) | |
tree | 2d1c2c0c59523c50d7814b583946165b580f6aa2 /html.c | |
parent | ddd2af73bd2b61b13e3b7d3928184d34d4729abd (diff) |
Minor RSS title beautifying.
Diffstat (limited to 'html.c')
-rw-r--r-- | html.c | 15 |
1 files changed, 11 insertions, 4 deletions
@@ -3330,12 +3330,19 @@ xs_str *timeline_to_rss(snac *user, const xs_list *timeline, char *title, char * continue; /* create a title with the first line of the content */ - xs *es_title = xs_replace(content, "<br>", "\n"); - xs *title = xs_str_new(NULL); + xs *title = xs_replace(content, "<br>", "\n"); + title = xs_regex_replace_i(title, "<[^>]+>", " "); + title = xs_regex_replace_i(title, "&[^;]+;", " "); int i; - for (i = 0; es_title[i] && es_title[i] != '\n' && es_title[i] != '&' && i < 50; i++) - title = xs_append_m(title, &es_title[i], 1); + for (i = 0; title[i] && title[i] != '\n' && i < 50; i++); + + if (title[i] != '\0') { + title[i] = '\0'; + title = xs_str_cat(title, "..."); + } + + title = xs_strip_i(title); xs_html_add(channel, xs_html_tag("item", |