#!/usr/bin/env node const http = require('https'); const url = require('url'); const emoji = require('emoji-datasource-twitter'); if (process.argv.length === 3) { console.log([ '/*', ' * Autogenerated by mkemoji script from jQuery Terminal', ' * Copyright (C) Jakub T. Jankiewicz ', ' * ship with version: ' + process.argv[2], ' * build: ' + new Date().toUTCString(), ' */'].join('\n')); function make_emoji(class_name, url) { var selector = [ '.terminal-output .emoji.' + class_name, '.cmd .emoji.' + class_name].join(','); return `${selector}{background-image:url(${url});}`; } var base = 'https://unpkg.com/emoji-datasource-twitter/img/twitter/64/'; emoji.map(function(emoji) { var url = base + emoji.image; // escape special characters in class name // https://mathiasbynens.be/notes/css-escapes var class_name = emoji.short_name.replace(/\+/g, '\\+') .replace(/^(\d)/i, '\\3$1 '); console.log(make_emoji(class_name, url)); if (emoji.skin_variations) { Object.values(emoji.skin_variations).forEach((emoji, i) => { var url = base + emoji.image; var var_class_name = `${class_name}-var-${i}`; console.log(make_emoji(var_class_name, url)); }); } }); }