hexo-tag-plugins
Version:
A number of tag plugins for theme-butterfly
60 lines (52 loc) • 1.65 kB
JavaScript
;
function postSiteCardGroup(args, content) {
if (args.length > 0) {
return `<div class="site-card-group"><p class='p h2'>${args}</p>${content}</div>`;
} else {
return `<div class="site-card-group">${content}</div>`;
}
}
function postSiteCard(args) {
args = args.join(' ').split(', ')
// 所有支持的参数
let title = args[0].trim();
let url = '';
let screenshot = '';
let avatar = '';
let description = '';
// 解析
if (args.length > 1) {
for (let i = 1; i < args.length; i++) {
let tmp = args[i].trim();
if (tmp.includes('url=')) {
url = tmp.substring(4, tmp.length);
} else if (tmp.includes('screenshot=')) {
screenshot = tmp.substring(11, tmp.length);
} else if (tmp.includes('avatar=')) {
avatar = tmp.substring(7, tmp.length);
} else if (tmp.includes('description=')) {
description = tmp.substring(12, tmp.length);
}
}
}
// 布局
let result = '';
result += '<a class="site-card" href="' + url + '">';
result += '<div class="img"><img src="' + screenshot + '"/></div>';
result += '<div class="info">';
if (avatar.length > 0) {
result += '<img src="' + avatar + '"/>';
} else {
}
result += '<span class="title">' + title + '</span>';
if (description.length > 0) {
result += '<span class="desc">' + description + '</span>';
} else {
}
result += '</div></a>';
return result;
}
// {% site link, img, title %}
// {% site link, img, title, description %}
hexo.extend.tag.register('site', postSiteCard);
hexo.extend.tag.register('sitegroup', postSiteCardGroup, {ends: true});