<% let proj = theme.wiki.projects[page.wiki]; function layoutToc() { if (toc(page.content).length > 0) { return toc(page.content, { list_number: item.list_number, min_depth: item.min_depth, max_depth: item.max_depth }); } return ''; } function layoutTocHeader(title) { var el = ''; el += '
'; if (title) { el += '' + title + ''; } else { el += '' + __("meta.toc") + ''; } el += '
'; return el; } function layoutDocTree(pages) { var el = ''; pages.forEach((p, i) => { let isActive = ''; if (p.path === page.path) { isActive += ' active'; } el += '
'; if (proj.pages.length > 1) { el += ''; el += '' + (p.title || p.seo_title) + ''; el += ''; } if (p.path === page.path) { el += layoutToc(); } el += '
'; }); return el; } function layoutDiv(fallback) { var type = ''; if (proj && proj.pages) { if (proj.pages.length > 1) { type = 'multi'; } else { type = 'single'; } } else { let toc_content = toc(page.content); if (toc_content && toc_content.length > 0) { type = 'single'; } } var el = ''; if (type.length > 0) { el += '
'; if (page.layout !== 'wiki') { // post 布局 el += layoutTocHeader(page.toc_title); el += '
'; el += '
'; el += layoutToc(); el += '
'; el += '
'; } else if (proj) { // wiki 布局 if (proj.sections && proj.sections.length > 0) { proj.sections.forEach((sec, i) => { // 多 section el += layoutTocHeader(sec.title); el += '
'; el += layoutDocTree(sec.pages); el += '
'; }); } else { // 单 section el += layoutTocHeader(page.toc_title); el += '
'; el += layoutDocTree(proj.pages); el += '
'; } } el += '
'; } else if (item.fallback) { el += partial(item.fallback, {item: theme.data.widgets[item.fallback]}); } return el; } %> <%- layoutDiv() %>