diff options
author | default <nobody@localhost> | 2023-11-28 10:35:57 +0100 |
---|---|---|
committer | default <nobody@localhost> | 2023-11-28 10:35:57 +0100 |
commit | 645a27d4eeb36041f4a0091307d8fdadbac97ea7 (patch) | |
tree | bff0107ba8a8efeff9a377cd21417f09a3046cd8 | |
parent | 179a7ae014bae0c995f34b446d3868dd42a2207c (diff) |
Converted public user into to xs_html.
-rw-r--r-- | html.c | 42 |
1 files changed, 29 insertions, 13 deletions
@@ -774,34 +774,50 @@ xs_str *html_user_header(snac *snac, xs_str *s, int local) xs *bio1 = not_really_markdown(es1, NULL); xs *tags = xs_list_new(); xs *bio2 = process_tags(snac, bio1, &tags); - xs *s1 = xs_fmt("<div class=\"p-note snac-top-user-bio\">%s</div>\n", bio2); - s = xs_str_cat(s, s1); + xs_html *top_user_bio = xs_html_tag("div", + xs_html_attr("class", "p-note snac-top-user-bio"), + xs_html_raw(bio2)); /* already sanitized */ + + { + xs *s1 = xs_html_render(top_user_bio); + s = xs_str_cat(s, s1); + } xs_dict *metadata = xs_dict_get(snac->config, "metadata"); if (xs_type(metadata) == XSTYPE_DICT) { xs_str *k; xs_str *v; - s = xs_str_cat(s, "<br><div class=\"snac-metadata\">\n"); + xs_html *snac_metadata = xs_html_tag("div", + xs_html_attr("class", "snac-metadata")); while (xs_dict_iter(&metadata, &k, &v)) { - xs *k2 = encode_html(k); - xs *v2 = encode_html(v); - xs *v3 = NULL; + xs_html *value; if (xs_startswith(v, "https:/" "/")) - v3 = xs_fmt("<a href=\"%s\">%s</a>", v2, v2); + value = xs_html_tag("a", + xs_html_attr("href", v), + xs_html_text(v)); else - v3 = xs_dup(v2); - - xs *s1 = xs_fmt("<span class=\"snac-property-name\">%s</span>:<br>" - "<span class=\"snac-property-value\">%s</span><br>\n", k2, v3); + value = xs_html_text(v); + + xs_html_add(snac_metadata, + xs_html_tag("span", + xs_html_attr("class", "snac-property-name"), + xs_html_text(k)), + xs_html_text(":"), + xs_html_sctag("br", NULL), + xs_html_tag("span", + xs_html_attr("class", "snac-property-value"), + value), + xs_html_sctag("br", NULL)); + } + { + xs *s1 = xs_html_render(snac_metadata); s = xs_str_cat(s, s1); } - - s = xs_str_cat(s, "</div>\n"); } } |