diff options
Diffstat (limited to 'format.c')
| -rw-r--r-- | format.c | 32 |
1 files changed, 32 insertions, 0 deletions
| @@ -6,6 +6,30 @@ | |||
| 6 | 6 | ||
| 7 | #include "snac.h" | 7 | #include "snac.h" |
| 8 | 8 | ||
| 9 | /* emoticons, people laughing and such */ | ||
| 10 | |||
| 11 | struct { | ||
| 12 | const char *key; | ||
| 13 | const char *value; | ||
| 14 | } smileys[] = { | ||
| 15 | { ":-)", "🙂" }, | ||
| 16 | { ":-D", "😀" }, | ||
| 17 | { "X-D", "😆" }, | ||
| 18 | { ";-)", "😉" }, | ||
| 19 | { "B-)", "😎" }, | ||
| 20 | { ":-(", "😞" }, | ||
| 21 | { ":-*", "😘" }, | ||
| 22 | { ":-/", "😕" }, | ||
| 23 | { "8-o", "😲" }, | ||
| 24 | { "%-)", "🤪" }, | ||
| 25 | { ":_(", "😢" }, | ||
| 26 | { ":-|", "😐" }, | ||
| 27 | { ":facepalm:", "🤦" }, | ||
| 28 | { ":shrug:", "🤷" }, | ||
| 29 | { NULL, NULL } | ||
| 30 | }; | ||
| 31 | |||
| 32 | |||
| 9 | d_char *not_really_markdown(char *content, d_char **f_content) | 33 | d_char *not_really_markdown(char *content, d_char **f_content) |
| 10 | /* formats a content using some Markdown rules */ | 34 | /* formats a content using some Markdown rules */ |
| 11 | { | 35 | { |
| @@ -110,6 +134,14 @@ d_char *not_really_markdown(char *content, d_char **f_content) | |||
| 110 | /* some beauty fixes */ | 134 | /* some beauty fixes */ |
| 111 | s = xs_replace_i(s, "</blockquote><br>", "</blockquote>"); | 135 | s = xs_replace_i(s, "</blockquote><br>", "</blockquote>"); |
| 112 | 136 | ||
| 137 | { | ||
| 138 | /* traditional emoticons */ | ||
| 139 | int n; | ||
| 140 | |||
| 141 | for (n = 0; smileys[n].key; n++) | ||
| 142 | s = xs_replace_i(s, smileys[n].key, smileys[n].value); | ||
| 143 | } | ||
| 144 | |||
| 113 | *f_content = s; | 145 | *f_content = s; |
| 114 | 146 | ||
| 115 | return *f_content; | 147 | return *f_content; |