summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar default2022-10-17 12:11:58 +0200
committerGravatar default2022-10-17 12:11:58 +0200
commit326122de22b1c775d55bf0d02841f83d37aaa8c8 (patch)
tree35a06c370807959061af14680e42f84a152a6f68
parentEmoji must be img, not urls. (diff)
downloadsnac2-326122de22b1c775d55bf0d02841f83d37aaa8c8.tar.gz
snac2-326122de22b1c775d55bf0d02841f83d37aaa8c8.tar.xz
snac2-326122de22b1c775d55bf0d02841f83d37aaa8c8.zip
Also process Emojis in the post content.
-rw-r--r--html.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/html.c b/html.c
index 581feb2..84a8140 100644
--- a/html.c
+++ b/html.c
@@ -559,6 +559,7 @@ d_char *html_entry(snac *snac, d_char *os, char *msg, xs_set *seen, int local, i
559 559
560 { 560 {
561 xs *c = xs_dup(xs_dict_get(msg, "content")); 561 xs *c = xs_dup(xs_dict_get(msg, "content"));
562 char *p, *v;
562 563
563 /* do some tweaks to the content */ 564 /* do some tweaks to the content */
564 c = xs_replace_i(c, "\r", ""); 565 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
573 c = xs_fmt("<p>%s</p>", s1); 574 c = xs_fmt("<p>%s</p>", s1);
574 } 575 }
575 576
577 /* replace the :shortnames: */
578 if (!xs_is_null(p = xs_dict_get(msg, "tag"))) {
579 /* iterate the tags */
580 while (xs_list_iter(&p, &v)) {
581 char *t = xs_dict_get(v, "type");
582
583 if (t && strcmp(t, "Emoji") == 0) {
584 char *n = xs_dict_get(v, "name");
585 char *i = xs_dict_get(v, "icon");
586
587 if (n && i) {
588 char *u = xs_dict_get(i, "url");
589 xs *img = xs_fmt("<img src=\"%s\" style=\"height: 1em\"/>", u);
590
591 c = xs_replace_i(c, n, img);
592 }
593 }
594 }
595 }
596
597
576 s = xs_str_cat(s, c); 598 s = xs_str_cat(s, c);
577 } 599 }
578 600