Added Inline Style Support
This commit is contained in:
parent
0910a7bdb4
commit
2a6607ed9d
1 changed files with 30 additions and 18 deletions
32
index.js
32
index.js
|
@ -88,28 +88,40 @@ if (options.enable !== false) {
|
||||||
})
|
})
|
||||||
|
|
||||||
hexo.extend.helper.register('github_emoji', function (name) {
|
hexo.extend.helper.register('github_emoji', function (name) {
|
||||||
return getRender(name);
|
return getRender(name)
|
||||||
});
|
})
|
||||||
|
|
||||||
function getRender (emojiName) {
|
function getRender (emojiName) {
|
||||||
if (emojis[emojiName]) {
|
emojiName = String(emojiName)
|
||||||
|
if (!emojis[emojiName]) { 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
|
var codepoints = emojis[emojiName].codepoints
|
||||||
if (options.unicode && codepoints) {
|
if (options.unicode && codepoints) {
|
||||||
codepoints = codepoints.map(function (code) {
|
codepoints = codepoints.map(function (code) {
|
||||||
return '&#x' + code + ';'
|
return '&#x' + code + ';'
|
||||||
}).join('')
|
}).join('')
|
||||||
|
|
||||||
return '<span class="' + options.className +
|
return '<span class="' + options.className + '" ' +
|
||||||
'" title="' + emojiName +
|
styles +
|
||||||
|
' title="' + emojiName +
|
||||||
'" data-src="' + emojis[emojiName].src +
|
'" data-src="' + emojis[emojiName].src +
|
||||||
'">' + codepoints + '</span>'
|
'">' + codepoints + '</span>'
|
||||||
} else {
|
} else {
|
||||||
return '<img class="' + options.className +
|
return '<img class="' + options.className + '" ' +
|
||||||
'" title="' + emojiName + '" alt="' + emojiName + '" src="' +
|
styles +
|
||||||
|
' title="' + emojiName + '" alt="' + emojiName + '" src="' +
|
||||||
emojis[emojiName].src + '" height="20" width="20" />'
|
emojis[emojiName].src + '" height="20" width="20" />'
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
return emojiName;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue