diff options
-rw-r--r-- | html.c | 32 |
1 files changed, 18 insertions, 14 deletions
@@ -2124,28 +2124,32 @@ xs_str *html_timeline(snac *user, const xs_list *list, int local, s = xs_str_cat(s, "<!-- history disabled -->\n"); } else { - xs *s1 = xs_fmt( - "<div class=\"snac-history\">\n" - "<p class=\"snac-history-title\">%s</p><ul>\n", - L("History") - ); + xs_html *ul = xs_html_tag("ul", NULL); - s = xs_str_cat(s, s1); + xs_html *history = xs_html_tag("div", + xs_html_attr("class", "snac-history"), + xs_html_tag("p", + xs_html_attr("class", "snac-history-title"), + xs_html_text(L("History"))), + ul); xs *list = history_list(user); - char *p, *v; + xs_list *p = list; + char *v; - p = list; while (xs_list_iter(&p, &v)) { - xs *fn = xs_replace(v, ".html", ""); - xs *s1 = xs_fmt( - "<li><a href=\"%s/h/%s\">%s</a></li>\n", - user->actor, v, fn); + xs *fn = xs_replace(v, ".html", ""); + xs *url = xs_fmt("%s/h/%s", user->actor, v); - s = xs_str_cat(s, s1); + xs_html_add(ul, + xs_html_tag("li", + xs_html_tag("a", + xs_html_attr("href", url), + xs_html_text(fn)))); } - s = xs_str_cat(s, "</ul></div>\n"); + xs *s1 = xs_html_render(history); + s = xs_str_cat(s, s1); } } |