1
0
mirror of https://github.com/twitter/twemoji.git synced 2024-12-25 15:14:19 +00:00
twemoji/scripts/preview

63 lines
1.6 KiB
JavaScript
Executable File

#!/usr/bin/env node
/*! Copyright Twitter Inc. and other contributors. Licensed under MIT *//*
https://github.com/twitter/twemoji/blob/gh-pages/LICENSE
*/
// dependencies
var fs = require('fs');
var path = require('path');
var { parse } = require('twemoji-parser');
var Utils = require('./utils');
var { version } = require('../package.json');
function file(which) {
return path.join(__dirname, '..', which);
}
function distFile(...which) {
return path.join(__dirname, '..', 'dist', ...which);
}
fs.readdir(file('assets/svg'), function (err, files) {
var page = fs.readFileSync(file('src/templates/preview.html'))
.toString()
.replace(
'{{emoji-list}}',
'<li>' + files.map(function (filename) {
var codepoints = filename.replace('.svg', '').split('-');
var emoji = codepoints.map(function(codepoint) {
return Utils.fromCodePoint(codepoint);
}).join('');
if (parse(`${emoji}\ufe0f`).length === 1) {
codepoints.push('fe0f');
}
return codepoints.map(function (codepoint) {
return '&#x' + codepoint.toUpperCase() + ';';
}).join('');
}).join('</li>\n <li>')+ '</li>'
)
.replace('{{version}}', version)
.replace('{{integrityHash}}', Utils.getIntegrityHash(distFile('twemoji.min.js')));
fs.writeFileSync(
distFile('preview.html'),
page.replace(
'{{emoji-options}}',
JSON.stringify({
size: 72
})
)
);
fs.writeFileSync(
distFile('preview-svg.html'),
page.replace(
'{{emoji-options}}',
JSON.stringify({
folder: 'svg',
ext: '.svg',
base: ''
})
)
);
});