diff options
author | default <nobody@localhost> | 2022-10-17 12:11:58 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2022-10-17 12:11:58 +0200 |
commit | 326122de22b1c775d55bf0d02841f83d37aaa8c8 (patch) | |
tree | 35a06c370807959061af14680e42f84a152a6f68 | |
parent | 6bcfd4e0ee1c4e602d6dc25b88134c7f39a9c418 (diff) |
Also process Emojis in the post content.
-rw-r--r-- | html.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -559,6 +559,7 @@ d_char *html_entry(snac *snac, d_char *os, char *msg, xs_set *seen, int local, i { xs *c = xs_dup(xs_dict_get(msg, "content")); + char *p, *v; /* do some tweaks to the content */ c = xs_replace_i(c, "\r", ""); @@ -573,6 +574,27 @@ d_char *html_entry(snac *snac, d_char *os, char *msg, xs_set *seen, int local, i c = xs_fmt("<p>%s</p>", s1); } + /* replace the :shortnames: */ + if (!xs_is_null(p = xs_dict_get(msg, "tag"))) { + /* iterate the tags */ + while (xs_list_iter(&p, &v)) { + char *t = xs_dict_get(v, "type"); + + if (t && strcmp(t, "Emoji") == 0) { + char *n = xs_dict_get(v, "name"); + char *i = xs_dict_get(v, "icon"); + + if (n && i) { + char *u = xs_dict_get(i, "url"); + xs *img = xs_fmt("<img src=\"%s\" style=\"height: 1em\"/>", u); + + c = xs_replace_i(c, n, img); + } + } + } + } + + s = xs_str_cat(s, c); } |