[fix] fix md codeblock
This commit is contained in:
parent
80e6e749cc
commit
ea97f0f6cd
|
@ -19,13 +19,13 @@ hexo.extend.tag.register('folders', function(args, content) {
|
||||||
el += ' ' + hexo.args.joinTags(args, ['color']).join(' ');
|
el += ' ' + hexo.args.joinTags(args, ['color']).join(' ');
|
||||||
el += '>';
|
el += '>';
|
||||||
|
|
||||||
var arr = content.split(/<!--\s*(.*?)\s*-->/g).filter(item => item.trim().length > 0)
|
var arr = content.split(/<!--\s*folder (.*?)\s*-->/g).filter(item => item.trim().length > 0)
|
||||||
if (arr.length > 0) {
|
if (arr.length > 0) {
|
||||||
var nodes = [];
|
var nodes = [];
|
||||||
arr.forEach((item, i) => {
|
arr.forEach((item, i) => {
|
||||||
if (item.startsWith('folder ')) {
|
if (i % 2 == 0) {
|
||||||
nodes.push({
|
nodes.push({
|
||||||
header: item.substring(7)
|
header: item
|
||||||
});
|
});
|
||||||
} else if (nodes.length > 0) {
|
} else if (nodes.length > 0) {
|
||||||
var node = nodes[nodes.length-1];
|
var node = nodes[nodes.length-1];
|
||||||
|
@ -42,7 +42,7 @@ hexo.extend.tag.register('folders', function(args, content) {
|
||||||
el += '<summary><span>' + (node.header || '') + '</span></summary>';
|
el += '<summary><span>' + (node.header || '') + '</span></summary>';
|
||||||
// content
|
// content
|
||||||
el += '<div class="body">';
|
el += '<div class="body">';
|
||||||
el += hexo.render.renderSync({text: node.body, engine: 'markdown'}).split('\n').join('');
|
el += hexo.render.renderSync({text: (node.body || ''), engine: 'markdown'}).split('\n').join('');
|
||||||
el += '</div></details>';
|
el += '</div></details>';
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,15 +6,15 @@
|
||||||
|
|
||||||
var tab_index = 0;
|
var tab_index = 0;
|
||||||
|
|
||||||
module.exports = ctx => function(args, content) {
|
module.exports = ctx => function(args, content = '') {
|
||||||
var el = '';
|
var el = '';
|
||||||
var arr = content.split(/<!--\s*(.*?)\s*-->/g).filter(item => item.trim().length > 0)
|
var arr = content.split(/<!--\s*tab (.*?)\s*-->/g).filter(item => item.trim().length > 0)
|
||||||
if (arr.length < 1) {
|
if (arr.length < 1) {
|
||||||
return el;
|
return el;
|
||||||
}
|
}
|
||||||
var tabs = [];
|
var tabs = [];
|
||||||
arr.forEach((item, i) => {
|
arr.forEach((item, i) => {
|
||||||
if (item.startsWith('tab ')) {
|
if (i % 2 == 0) {
|
||||||
tabs.push({
|
tabs.push({
|
||||||
header: item
|
header: item
|
||||||
});
|
});
|
||||||
|
@ -35,14 +35,12 @@ module.exports = ctx => function(args, content) {
|
||||||
let tabId = 0;
|
let tabId = 0;
|
||||||
let tabNav = '';
|
let tabNav = '';
|
||||||
let tabContent = '';
|
let tabContent = '';
|
||||||
|
|
||||||
tabs.forEach((tab, i) => {
|
tabs.forEach((tab, i) => {
|
||||||
let caption = tab.header.substring(4);
|
let content = ctx.render.renderSync({ text: (tab.body || ''), engine: 'markdown' }).trim();
|
||||||
let content = ctx.render.renderSync({ text: tab.body, engine: 'markdown' }).trim();
|
|
||||||
const abbr = tabName + ' ' + ++tabId;
|
const abbr = tabName + ' ' + ++tabId;
|
||||||
const href = abbr.toLowerCase().split(' ').join('-');
|
const href = abbr.toLowerCase().split(' ').join('-');
|
||||||
const isActive = (tabActive > 0 && tabActive === tabId) || (tabActive === 0 && tabId === 1) ? ' active' : '';
|
const isActive = (tabActive > 0 && tabActive === tabId) || (tabActive === 0 && tabId === 1) ? ' active' : '';
|
||||||
tabNav += `<li class="tab${isActive}"><a href="#${href}">${caption || abbr}</a></li>`;
|
tabNav += `<li class="tab${isActive}"><a href="#${href}">${tab.header || abbr}</a></li>`;
|
||||||
tabContent += `<div class="tab-pane${isActive}" id="${href}">${content}</div>`;
|
tabContent += `<div class="tab-pane${isActive}" id="${href}">${content}</div>`;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
* 格式与官方标签插件一致使用空格分隔,中括号内的是可选参数(中括号不需要写出来)
|
* 格式与官方标签插件一致使用空格分隔,中括号内的是可选参数(中括号不需要写出来)
|
||||||
*
|
*
|
||||||
* {% split [style:block/card] %}
|
* {% split [style:block/card] %}
|
||||||
* <!-- cell -->
|
* <!-- cell left -->
|
||||||
* left body
|
* left body
|
||||||
* <!-- cell -->
|
* <!-- cell right -->
|
||||||
* right body
|
* right body
|
||||||
* {% endsplit %}
|
* {% endsplit %}
|
||||||
*/
|
*/
|
||||||
|
@ -19,13 +19,13 @@ hexo.extend.tag.register('split', function(args, content) {
|
||||||
el += ' ' + hexo.args.joinTags(args, ['bg']).join(' ');
|
el += ' ' + hexo.args.joinTags(args, ['bg']).join(' ');
|
||||||
el += '>';
|
el += '>';
|
||||||
|
|
||||||
var arr = content.split(/<!--\s*(.*?)\s*-->/g).filter(item => item.trim().length > 0)
|
var arr = content.split(/<!--\s*cell (.*?)\s*-->/g).filter(item => item.trim().length > 0)
|
||||||
if (arr.length > 0) {
|
if (arr.length > 0) {
|
||||||
var nodes = [];
|
var nodes = [];
|
||||||
arr.forEach((item, i) => {
|
arr.forEach((item, i) => {
|
||||||
if (item == 'cell') {
|
if (i % 2 == 0) {
|
||||||
nodes.push({
|
nodes.push({
|
||||||
header: ''
|
header: item
|
||||||
});
|
});
|
||||||
} else if (nodes.length > 0) {
|
} else if (nodes.length > 0) {
|
||||||
var node = nodes[nodes.length-1];
|
var node = nodes[nodes.length-1];
|
||||||
|
@ -38,7 +38,7 @@ hexo.extend.tag.register('split', function(args, content) {
|
||||||
});
|
});
|
||||||
nodes.forEach((node, i) => {
|
nodes.forEach((node, i) => {
|
||||||
el += '<div class="cell" index="' + (i) + '">';
|
el += '<div class="cell" index="' + (i) + '">';
|
||||||
el += hexo.render.renderSync({text: node.body, engine: 'markdown'}).split('\n').join('');
|
el += hexo.render.renderSync({text: (node.body || ''), engine: 'markdown'}).split('\n').join('');
|
||||||
el += '</div>';
|
el += '</div>';
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,11 +49,11 @@ function postTimeline(args, content) {
|
||||||
el += '<div class="tag-plugin timeline">';
|
el += '<div class="tag-plugin timeline">';
|
||||||
}
|
}
|
||||||
|
|
||||||
var arr = content.split(/<!--\s*(.*?)\s*-->/g).filter(item => item.trim().length > 0)
|
var arr = content.split(/<!--\s*node (.*?)\s*-->/g).filter(item => item.trim().length > 0)
|
||||||
if (arr.length > 0) {
|
if (arr.length > 0) {
|
||||||
var nodes = [];
|
var nodes = [];
|
||||||
arr.forEach((item, i) => {
|
arr.forEach((item, i) => {
|
||||||
if (item.startsWith('node ')) {
|
if (i % 2 == 0) {
|
||||||
nodes.push({
|
nodes.push({
|
||||||
header: item
|
header: item
|
||||||
});
|
});
|
||||||
|
@ -68,7 +68,7 @@ function postTimeline(args, content) {
|
||||||
});
|
});
|
||||||
nodes.forEach((node, i) => {
|
nodes.forEach((node, i) => {
|
||||||
el += '<div class="timenode" index="' + (i) + '">';
|
el += '<div class="timenode" index="' + (i) + '">';
|
||||||
el += layoutNodeTitle(node.header.substring(5));
|
el += layoutNodeTitle(node.header);
|
||||||
el += layoutNodeContent(node.body);
|
el += layoutNodeContent(node.body);
|
||||||
el += '</div>';
|
el += '</div>';
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue