{{user.username}}@{{user.tag}}
diff --git a/src/messageFormatter.js b/src/messageFormatter.js
index 3194072..8f6ade9 100644
--- a/src/messageFormatter.js
+++ b/src/messageFormatter.js
@@ -1,83 +1,89 @@
import futoji from 'futoji'
+import twemoji from 'twemoji'
-export default (message) => {
- message = escapeHtml(message)
- futoji.addTransformer({
- name: 'bold-and-italic',
- symbol: '***',
- transformer: text => `
${text}`
- })
+export default (message) => {
+ message = twemoji.parse(escapeHtml(message),
+ function (icon, options, variant) {
+ console.log(icon)
+ return require("twemoji/2/svg/" + icon + ".svg")
+ })
- futoji.addTransformer({
- name: 'bold',
- symbol: '**',
- transformer: text => `
${text}`
- })
-
- futoji.addTransformer({
- name: 'italic',
- symbol: '*',
- transformer: text => `
${text}`
- })
+ futoji.addTransformer({
+ name: 'bold-and-italic',
+ symbol: '***',
+ transformer: text => `
${text}`
+ })
- futoji.addTransformer({
- name: 'underline',
- symbol: '__',
- transformer: text => `
${text}`
- })
- futoji.addTransformer({
- name: 'italic',
- symbol: '_',
- transformer: text => `
${text}`
- })
- futoji.addTransformer({
- name: 'srike',
- symbol: '~~',
- transformer: text => `
${text.trim()}`
- })
+ futoji.addTransformer({
+ name: 'bold',
+ symbol: '**',
+ transformer: text => `
${text}`
+ })
- futoji.addTransformer({
- name: 'code-block',
- symbol: '```',
- recursive: false,
- transformer: text => `
${formatCode(text.trim())}
`,
- })
-
- futoji.addTransformer({
- name: 'code',
- symbol: '`',
- recursive: false,
- transformer: text => `
${text}`,
- })
- return futoji.format(message);
+ futoji.addTransformer({
+ name: 'italic',
+ symbol: '*',
+ transformer: text => `
${text}`
+ })
+
+ futoji.addTransformer({
+ name: 'underline',
+ symbol: '__',
+ transformer: text => `
${text}`
+ })
+ futoji.addTransformer({
+ name: 'italic',
+ symbol: '_',
+ transformer: text => `
${text}`
+ })
+ futoji.addTransformer({
+ name: 'srike',
+ symbol: '~~',
+ transformer: text => `
${text.trim()}`
+ })
+
+ futoji.addTransformer({
+ name: 'code-block',
+ symbol: '```',
+ recursive: false,
+ transformer: text => `
${formatCode(text.trim())}
`,
+ })
+
+ futoji.addTransformer({
+ name: 'code',
+ symbol: '`',
+ recursive: false,
+ transformer: text => `
${text}`,
+ })
+ return futoji.format(message);
}
/**
* format code to add syntax highlighting
*/
function formatCode(text) {
- // matches if word until newline
- // if spaces then it won't match
- let nameRegex = new RegExp('^(\\w+)\\n')
+ // matches if word until newline
+ // if spaces then it won't match
+ let nameRegex = new RegExp('^(\\w+)\\n')
- if(nameRegex.test(text)) {
- let language = nameRegex.exec(text)[1]
- let newText = text.replace(nameRegex, '')
+ if (nameRegex.test(text)) {
+ let language = nameRegex.exec(text)[1]
+ let newText = text.replace(nameRegex, '')
- // TODO: format newText with language
+ // TODO: format newText with language
- return newText
- }
+ return newText
+ }
- return text
+ return text
}
function escapeHtml(unsafe) {
- return unsafe
- .replace(/&/g, "&")
- .replace(//g, ">")
- .replace(/"/g, """)
- .replace(/'/g, "'");
- }
\ No newline at end of file
+ return unsafe
+ .replace(/&/g, "&")
+ .replace(//g, ">")
+ .replace(/"/g, """)
+ .replace(/'/g, "'");
+}
\ No newline at end of file