diff --git a/layout/_partial/widgets/toc.ejs b/layout/_partial/widgets/toc.ejs
index 9b1de3e..559f1ef 100644
--- a/layout/_partial/widgets/toc.ejs
+++ b/layout/_partial/widgets/toc.ejs
@@ -1,7 +1,7 @@
<%
let proj = theme.wiki.tree[page.wiki];
-var hasTOC = false
-function layoutToc() {
+var hasTOC = true
+function layoutTocBody() {
if (toc(page.content).length > 0) {
hasTOC = true
return toc(page.content, {
@@ -15,96 +15,102 @@ function layoutToc() {
}
function layoutTocHeader(title) {
- var el = '';
- el += '
';
- return el;
+ var el = ''
+ el += ``
+ return el
}
function layoutDocTree(pages) {
- var el = '';
+ var el = ''
for (let p of pages) {
if (p.title == null || p.title.length == 0) {
- continue;
+ continue
}
- let isActive = '';
+ let isActive = ''
if (p.path === page.path) {
- isActive += ' active';
+ isActive += ' active'
}
- el += '`
}
- return hasTOC ? el : ''
+ return el
}
function layoutDiv(fallback) {
- var type = '';
+ var type = ''
if (proj && proj.pages) {
if (proj.pages.length > 1) {
- type = 'multi';
+ type = 'multi'
} else {
- type = 'single';
+ type = 'single'
}
} else {
- let toc_content = toc(page.content);
+ let toc_content = toc(page.content)
if (toc_content && toc_content.length > 0) {
- type = 'single';
+ type = 'single'
}
}
- var el = '';
+ var el = ''
if (type.length > 0) {
- el += ``;
+ el += ``
if (page.layout !== 'wiki') {
// post 布局
- el += layoutTocHeader(page.toc_title);
- el += '';
- el += '
';
- el += layoutToc();
- el += '
';
- el += '
';
+ el += layoutTocHeader(page.toc_title)
+ el += ``
+ el += `
`
+ el += layoutTocBody()
+ el += `
`
+ el += `
`
+ if (hasTOC == false) {
+ return ''
+ }
} else if (proj) {
// wiki 布局
if (proj.sections && proj.sections.length > 0 && proj.pages.length > 1) { // 多 pages
for (let sec of proj.sections) {
if (sec.pages.length == 0) {
- continue;
+ continue
}
if (sec.title?.length > 0) {
- el += layoutTocHeader(sec.title);
+ el += layoutTocHeader(sec.title)
}
- el += '';
- el += layoutDocTree(sec.pages);
- el += '
';
+ el += ``
+ el += layoutDocTree(sec.pages)
+ el += `
`
}
} else { // 单 page
if (proj.pages.length == 1) {
- el += layoutTocHeader(page.toc_title);
+ el += layoutTocHeader(page.toc_title)
+ }
+ el += ``
+ el += layoutDocTree(proj.pages)
+ el += `
`
+ if (hasTOC == false) {
+ return ''
}
- el += '';
- el += layoutDocTree(proj.pages);
- el += '
';
}
}
- el += '';
+ el += ``
} else if (item.fallback) {
- el += partial(item.fallback, {item: theme.data.widgets[item.fallback]});
+ el += partial(item.fallback, {item: theme.data.widgets[item.fallback]})
}
- return hasTOC ? el : ''
+ return el
}
%>