diff --git a/index.js b/index.js index 31f8a3d..721f425 100644 --- a/index.js +++ b/index.js @@ -88,28 +88,40 @@ if (options.enable !== false) { }) hexo.extend.helper.register('github_emoji', function (name) { - return getRender(name); - }); + return getRender(name) + }) function getRender (emojiName) { - if (emojis[emojiName]) { - var codepoints = emojis[emojiName].codepoints - if (options.unicode && codepoints) { - codepoints = codepoints.map(function (code) { - return '&#x' + code + ';' - }).join('') + emojiName = String(emojiName) + if (!emojis[emojiName]) { return emojiName } - return '' + codepoints + '' - } else { - return '' + emojiName + '' - } + var styles = '' + if (_.isObject(options.styles)) { + // inline styles + styles = 'style="' + + Object.keys(options.styles) + .filter(function (k) { return _.isString(options.styles[k]) }) + .map(function (k) { return k + ':' + options.styles[k] }) + .join(';') + + '"' + } + + var codepoints = emojis[emojiName].codepoints + if (options.unicode && codepoints) { + codepoints = codepoints.map(function (code) { + return '&#x' + code + ';' + }).join('') + + return '' + codepoints + '' } else { - return emojiName; + return '' + emojiName + '' } } }