<% let proj = theme.wiki.tree[page.wiki]; var hasTOC = false function layoutToc() { if (toc(page.content).length > 0) { hasTOC = true return toc(page.content, { list_number: item.list_number, min_depth: item.min_depth, max_depth: item.max_depth }); } hasTOC = false return '' } function layoutTocHeader(title) { var el = ''; el += '
'; el += '' + (title || __("meta.toc")) + ''; el += '
'; return el; } function layoutDocTree(pages) { var el = ''; for (let p of pages) { if (p.title == null || p.title.length == 0) { continue; } let isActive = ''; if (p.path === page.path) { isActive += ' active'; } el += '
'; if (proj.pages.length > 1) { let href = url_for(p.path); if (p.is_homepage) { href += '#start' } el += ''; el += '' + p.title + ''; el += ''; } if (p.path === page.path) { el += layoutToc(); } el += '
'; } return hasTOC ? 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.pages.length > 1) { // 多 pages for (let sec of proj.sections) { if (sec.pages.length == 0) { continue; } if (sec.title?.length > 0) { el += layoutTocHeader(sec.title); } el += '
'; el += layoutDocTree(sec.pages); el += '
'; } } else { // 单 page if (proj.pages.length == 1) { 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 hasTOC ? el : '' } %> <%- layoutDiv() %>