diff --git a/.eslintrc.yml b/.eslintrc.yml index 3420248..cb9511d 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -7,7 +7,9 @@ ignorePatterns: - coverage/ - dist/ - rollup.config.js - + - lib/data/full.js + - lib/data/light.js + rules: accessor-pairs: 2 array-bracket-spacing: [ 2, "always", { "singleValue": true, "objectsInArrays": true, "arraysInArrays": true } ] diff --git a/README.md b/README.md index e467b1d..7dccc9c 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,8 @@ __v1.+ requires `markdown-it` v4.+, see changelog.__ Three versions: - __Full__ (default), with all github supported emojis. -- [Light](https://github.com/markdown-it/markdown-it-emoji/blob/master/lib/data/light.json), with only well-supported unicode emojis and reduced size. -- Bare, without included emojis or shortcuts. This requires defining your own definitions and shortcuts. +- [Light](https://github.com/markdown-it/markdown-it-emoji/blob/master/lib/data/light.js), with only well-supported unicode emojis and reduced size. +- Bare, without included emojis or shortcuts. This requires defining your own definitions and shortcuts. Also supports emoticons [shortcuts](https://github.com/markdown-it/markdown-it-emoji/blob/master/lib/data/shortcuts.js) like `:)`, `:-(`, and others. See the full list in the link above. diff --git a/index.js b/index.js index f07b71f..89cbd39 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,7 @@ 'use strict'; -var emojies_defs = require('./lib/data/full.json'); +var emojies_defs = require('./lib/data/full'); var emojies_shortcuts = require('./lib/data/shortcuts'); var bare_emoji_plugin = require('./bare'); diff --git a/lib/data/full.json b/lib/data/full.js similarity index 99% rename from lib/data/full.json rename to lib/data/full.js index c42e1a4..f8644b4 100644 --- a/lib/data/full.json +++ b/lib/data/full.js @@ -1,4 +1,5 @@ -{ +// Generated, don't edit +module.exports = { "100": "💯", "1234": "🔢", "grinning": "😀", @@ -1902,4 +1903,4 @@ "england": "🏴󠁧󠁢󠁥󠁮󠁧󠁿", "scotland": "🏴󠁧󠁢󠁳󠁣󠁴󠁿", "wales": "🏴󠁧󠁢󠁷󠁬󠁳󠁿" -} \ No newline at end of file +} diff --git a/lib/data/light.json b/lib/data/light.js similarity index 98% rename from lib/data/light.json rename to lib/data/light.js index 93992eb..e2c0116 100644 --- a/lib/data/light.json +++ b/lib/data/light.js @@ -1,4 +1,5 @@ -{ +// Generated, don't edit +module.exports = { "grinning": "😀", "smiley": "😃", "smile": "😄", @@ -149,4 +150,4 @@ "white_medium_small_square": "◽", "black_small_square": "▪️", "white_small_square": "▫️" -} \ No newline at end of file +} diff --git a/light.js b/light.js index b32ebe6..9529d91 100644 --- a/light.js +++ b/light.js @@ -1,7 +1,7 @@ 'use strict'; -var emojies_defs = require('./lib/data/light.json'); +var emojies_defs = require('./lib/data/light'); var emojies_shortcuts = require('./lib/data/shortcuts'); var bare_emoji_plugin = require('./bare'); diff --git a/support/update.js b/support/update.js index 406824a..ec74fd0 100755 --- a/support/update.js +++ b/support/update.js @@ -27,6 +27,12 @@ function download(url) { }); } +function obj2js(obj) { + return `// Generated, don't edit +module.exports = ${JSON.stringify(obj, null, 2)} +`; +} + download(emojiSrc).then(data => { let defs = JSON.parse(data.toString()); @@ -54,7 +60,10 @@ download(emojiSrc).then(data => { }); }); - fs.writeFileSync(join(__dirname, '../lib/data/full.json'), JSON.stringify(emojies, null, 2), 'utf8'); + + + + fs.writeFileSync(join(__dirname, '../lib/data/full.js'), obj2js(emojies), 'utf8'); // // Write light set @@ -72,6 +81,6 @@ download(emojiSrc).then(data => { }); }); - fs.writeFileSync(join(__dirname, '../lib/data/light.json'), JSON.stringify(emoji_light, null, 2), 'utf8'); + fs.writeFileSync(join(__dirname, '../lib/data/light.js'), obj2js(emoji_light), 'utf8'); }).catch(err => console.error(err)); diff --git a/test/test.js b/test/test.js index 205e41e..4e4a2b3 100644 --- a/test/test.js +++ b/test/test.js @@ -94,8 +94,8 @@ describe('markdown-it-emoji-bare', function () { var emojies_shortcuts = require('../lib/data/shortcuts'); -var emojies_defs = require('../lib/data/full.json'); -var emojies_defs_light = require('../lib/data/light.json'); +var emojies_defs = require('../lib/data/full'); +var emojies_defs_light = require('../lib/data/light'); describe('integrity', function () {