summaryrefslogtreecommitdiff
path: root/format.c
diff options
context:
space:
mode:
Diffstat (limited to 'format.c')
-rw-r--r--format.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/format.c b/format.c
index b5d4cf7..abf9b03 100644
--- a/format.c
+++ b/format.c
@@ -6,6 +6,30 @@
#include "snac.h"
+/* emoticons, people laughing and such */
+
+struct {
+ const char *key;
+ const char *value;
+} smileys[] = {
+ { ":-)", "🙂" },
+ { ":-D", "😀" },
+ { "X-D", "😆" },
+ { ";-)", "😉" },
+ { "B-)", "😎" },
+ { ":-(", "😞" },
+ { ":-*", "😘" },
+ { ":-/", "😕" },
+ { "8-o", "😲" },
+ { "%-)", "🤪" },
+ { ":_(", "😢" },
+ { ":-|", "😐" },
+ { ":facepalm:", "🤦" },
+ { ":shrug:", "🤷" },
+ { NULL, NULL }
+};
+
+
d_char *not_really_markdown(char *content, d_char **f_content)
/* formats a content using some Markdown rules */
{
@@ -110,6 +134,14 @@ d_char *not_really_markdown(char *content, d_char **f_content)
/* some beauty fixes */
s = xs_replace_i(s, "</blockquote><br>", "</blockquote>");
+ {
+ /* traditional emoticons */
+ int n;
+
+ for (n = 0; smileys[n].key; n++)
+ s = xs_replace_i(s, smileys[n].key, smileys[n].value);
+ }
+
*f_content = s;
return *f_content;