diff options
| author | 2022-10-17 12:11:58 +0200 | |
|---|---|---|
| committer | 2022-10-17 12:11:58 +0200 | |
| commit | 326122de22b1c775d55bf0d02841f83d37aaa8c8 (patch) | |
| tree | 35a06c370807959061af14680e42f84a152a6f68 | |
| parent | Emoji must be img, not urls. (diff) | |
| download | penes-snac2-326122de22b1c775d55bf0d02841f83d37aaa8c8.tar.gz penes-snac2-326122de22b1c775d55bf0d02841f83d37aaa8c8.tar.xz penes-snac2-326122de22b1c775d55bf0d02841f83d37aaa8c8.zip | |
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 | |||
| 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 | ||