From 6009f676281f15f3fdfc3b0e0777b146d447d8e7 Mon Sep 17 00:00:00 2001 From: Bastian Baumeister Date: Fri, 8 Mar 2024 19:28:04 +0100 Subject: [PATCH 1/4] replace emojis (to_markdown only) --- index.js | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/index.js b/index.js index 3b89620..a88d14f 100755 --- a/index.js +++ b/index.js @@ -35,6 +35,35 @@ class J2M { static to_markdown(str) { return ( str + // jira emoticons https://confluence.atlassian.com/doc/files/136870/947169184/1/1521512577368/Emoticons.png + .replace(/:\)/g, '😊') + .replace(/:\(/g, 'â˜šī¸') + .replace(/:p/g, '😛') + .replace(/:P/g, '😛') + .replace(/:D/g, '😀') + .replace(/;\)/g, '😉') + + .replace(/\(y\)/g, '👍') + .replace(/\(n\)/g, '👎') + .replace(/\(on\)/g, '(ON)') + .replace(/\(off\)/g, '(OFF)') + .replace(/\(!\)/g, 'âš ī¸') + + .replace(/\(\*\)/g, '⭐') + .replace(/\(\*r\)/g, '⭐(red)') + .replace(/\(\*g\)/g, '⭐(green)') + .replace(/\(\*b\)/g, '⭐(blue)') + .replace(/\(\*y\)/g, '⭐(yellow)') + + .replace(/\(\/\)/g, '✅') + .replace(/\(x\)/g, '❌') + .replace(/\(i\)/g, 'â„šī¸') + .replace(/\(\+\)/g, '➕') + .replace(/\(-\)/g, '➖') + + .replace(/\(\?\)/g, '❓') + .replace(/<3/g, 'â¤ī¸') + .replace(/<\/3/g, '💔') // Un-Ordered Lists .replace(/^[ \t]*(\*+)\s+/gm, (match, stars) => { return `${Array(stars.length).join(' ')}* `; @@ -195,6 +224,36 @@ class J2M { .replace(/<([^>]+)>/g, '[$1]') // Single Paragraph Blockquote .replace(/^>/gm, 'bq.') + // Jira emoticons https://confluence.atlassian.com/doc/files/136870/947169184/1/1521512577368/Emoticons.png + // TODO: + // .replace(/:\)/g, '😊') + // .replace(/:\(/g, 'â˜šī¸') + // .replace(/:p/g, '😛') + // .replace(/:P/g, '😛') + // .replace(/:D/g, '😀') + // .replace(/;\)/g, '😉') + + // .replace(/\(y\)/g, '👍') + // .replace(/\(n\)/g, '👎') + // .replace(/\(on\)/g, '(ON)') + // .replace(/\(off\)/g, '(OFF)') + // .replace(/\(!\)/g, 'âš ī¸') + + // .replace(/\(\*\)/g, '⭐') + // .replace(/\(\*r\)/g, '⭐(red)') + // .replace(/\(\*g\)/g, '⭐(green)') + // .replace(/\(\*b\)/g, '⭐(blue)') + // .replace(/\(\*y\)/g, '⭐(yellow)') + + // .replace(/\(\/\)/g, '✅') + // .replace(/\(x\)/g, '❌') + // .replace(/\(i\)/g, 'â„šī¸') + // .replace(/\(\+\)/g, '➕') + // .replace(/\(-\)/g, '➖') + + // .replace(/\(\?\)/g, '❓') + // .replace(/<3/g, 'â¤ī¸') + // .replace(/<\/3/g, '💔') ); } } From 48d25e25bee8a12af35f3443acece521d0f36eb2 Mon Sep 17 00:00:00 2001 From: Bastian Baumeister Date: Fri, 8 Mar 2024 19:42:22 +0100 Subject: [PATCH 2/4] replace emojis --- index.js | 57 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/index.js b/index.js index a88d14f..89e6b18 100755 --- a/index.js +++ b/index.js @@ -64,6 +64,9 @@ class J2M { .replace(/\(\?\)/g, '❓') .replace(/<3/g, 'â¤ī¸') .replace(/<\/3/g, '💔') + + .replace(/\(flag\)/g, '🚩') + .replace(/\(flagoff\)/g, 'đŸŗī¸') // Un-Ordered Lists .replace(/^[ \t]*(\*+)\s+/gm, (match, stars) => { return `${Array(stars.length).join(' ')}* `; @@ -224,36 +227,38 @@ class J2M { .replace(/<([^>]+)>/g, '[$1]') // Single Paragraph Blockquote .replace(/^>/gm, 'bq.') - // Jira emoticons https://confluence.atlassian.com/doc/files/136870/947169184/1/1521512577368/Emoticons.png - // TODO: - // .replace(/:\)/g, '😊') - // .replace(/:\(/g, 'â˜šī¸') - // .replace(/:p/g, '😛') - // .replace(/:P/g, '😛') - // .replace(/:D/g, '😀') - // .replace(/;\)/g, '😉') + // Jira emoticons https://confluence.atlassian.com/doc/files/136870/947169184/1/1521512577368/Emoticons.png + // TODO: test the following + .replace('😊', ':') + .replace('â˜šī¸', ':') + .replace('😛', ':p') + .replace('😀', ':D') + .replace('😉', ';)') + + .replace('👍', '(y)') + .replace('👎', '(n)') + .replace('(ON)', '(on)') + .replace('(OFF)', '(off)') + .replace('âš ī¸', '(!)') - // .replace(/\(y\)/g, '👍') - // .replace(/\(n\)/g, '👎') - // .replace(/\(on\)/g, '(ON)') - // .replace(/\(off\)/g, '(OFF)') - // .replace(/\(!\)/g, 'âš ī¸') + .replace('⭐', '(*)') + .replace('⭐(red)', '(*r)') + .replace('⭐(green)', '(*)') + .replace('⭐(blue)', '(*b)') + .replace('⭐(yellow)', '(*y)') - // .replace(/\(\*\)/g, '⭐') - // .replace(/\(\*r\)/g, '⭐(red)') - // .replace(/\(\*g\)/g, '⭐(green)') - // .replace(/\(\*b\)/g, '⭐(blue)') - // .replace(/\(\*y\)/g, '⭐(yellow)') + .replace('✅', '(/)') + .replace('❌', '(x)') + .replace('â„šī¸', '(i)') + .replace('➕', '(+)') + .replace('➖', '(-)') - // .replace(/\(\/\)/g, '✅') - // .replace(/\(x\)/g, '❌') - // .replace(/\(i\)/g, 'â„šī¸') - // .replace(/\(\+\)/g, '➕') - // .replace(/\(-\)/g, '➖') + .replace('❓', '(?)') + .replace('â¤ī¸', '<3') + .replace('💔', '<3') - // .replace(/\(\?\)/g, '❓') - // .replace(/<3/g, 'â¤ī¸') - // .replace(/<\/3/g, '💔') + .replace('🚩', '(flag)') + .replace('đŸŗī¸', '(flagoff)') ); } } From 6309da10131d36b0ea9e9b003695a37370887a0b Mon Sep 17 00:00:00 2001 From: Bastian Baumeister Date: Mon, 18 Mar 2024 16:13:57 +0100 Subject: [PATCH 3/4] include size-information with images --- index.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 89e6b18..323c70b 100755 --- a/index.js +++ b/index.js @@ -105,7 +105,16 @@ class J2M { // Un-named Links .replace(/\[([^|]+?)\]/g, '<$1>') // Images - .replace(/!(.+)!/g, '![]($1)') + // .replace(/!(.+)!/g, '![]($1)') + .replace(/!([^|!]+)\|?(.*)!/g, ($1, $2, $3) => { + let size = ''; + if ($3 === 'thumbnail') { + size = '|200'; + } else if ($3.includes('width=') && $3.includes('height=')) { + size = $3.replace(/width=(\d+),height=(\d+)/g, '|$1x$2'); + } + return `![${size}](${$2})`; + }) // Named Links .replace(/\[(.+?)\|(.+?)\]/g, '[$1]($2)') // Single Paragraph Blockquote @@ -221,6 +230,16 @@ class J2M { .replace(/`([^`]+)`/g, '{{$1}}') // Images .replace(/!\[[^\]]*\]\(([^)]+)\)/g, '!$1!') + // TODO: enable transformation of size-information + // .replace(/!([^|!]+)\|?(.*)!/g, ($1, $2, $3) => { + // let size = ''; + // if ($3 === 'thumbnail') { + // size = '|200'; + // } else if ($3.includes('width=') && $3.includes('height=')) { + // size = $3.replace(/width=(\d+),height=(\d+)/g, '|$1x$2'); + // } + // return `![${size}](${$2})`; + // }) // Named Link .replace(/\[([^\]]+)\]\(([^)]+)\)/g, '[$1|$2]') // Un-Named Link From 8439c0ab1eb8a924f694b92d8f8b0cdd578a27a4 Mon Sep 17 00:00:00 2001 From: Bastian Baumeister Date: Mon, 18 Mar 2024 16:14:42 +0100 Subject: [PATCH 4/4] add VSCode settings --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 6dfeca7..a6de6a8 100755 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ build/Release node_modules .DS_Store +.vscode/settings.json