You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.0 KiB

4 years ago
'use strict';
function postBtn(args) {
args = args.join(' ').split(',')
4 years ago
let cls = ''
4 years ago
let text = ''
let url = ''
4 years ago
let icon = ''
4 years ago
if (args.length > 3) {
cls = args[0]
4 years ago
text = args[1]
url = args[2]
icon = args[3]
4 years ago
} else if (args.length > 2) {
4 years ago
if (args[2].indexOf(' fa-') > -1) {
// text, url, icon
text = args[0]
url = args[1]
icon = args[2]
4 years ago
} else {
cls = args[0]
4 years ago
text = args[1]
url = args[2]
4 years ago
}
} else if (args.length > 1) {
text = args[0]
url = args[1]
} else if (args.length > 0) {
text = args[0]
4 years ago
}
4 years ago
cls = cls.trim()
icon = icon.trim()
text = text.trim()
4 years ago
url = url.trim()
if (url.length > 0) {
url = "href='" + url + "'"
}
if (cls.length > 0) {
cls = ' ' + cls
}
if (icon.length > 0) {
return `<span class='btn${cls}'><a ${url} title='${text}'><i class='${icon}'></i>${text}</a></span>`;
} else {
return `<span class='btn${cls}'><a ${url} title='${text}'>${text}</a></span>`;
}
}
hexo.extend.tag.register('btn', postBtn);