[opt] wiki reconstruction
This commit is contained in:
parent
2b17c47628
commit
761e9e6882
|
@ -1,7 +1,7 @@
|
||||||
<%
|
<%
|
||||||
function layoutWikiCover() {
|
function layoutWikiCover() {
|
||||||
var el = '';
|
var el = '';
|
||||||
let proj = theme.wiki.projects[page.wiki];
|
let proj = theme.wiki.tree[page.wiki];
|
||||||
if (proj == undefined) {
|
if (proj == undefined) {
|
||||||
return el;
|
return el;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ function generate_title() {
|
||||||
return page.seo_title;
|
return page.seo_title;
|
||||||
}
|
}
|
||||||
if (page.wiki) {
|
if (page.wiki) {
|
||||||
let proj = theme.wiki.projects[page.wiki];
|
let proj = theme.wiki.tree[page.wiki];
|
||||||
let wiki = (proj && proj.name) || page.wiki;
|
let wiki = (proj && proj.name) || page.wiki;
|
||||||
if (page.title) {
|
if (page.title) {
|
||||||
return wiki + __('symbol.colon') + page.title + ' - ' + config.title;
|
return wiki + __('symbol.colon') + page.title + ' - ' + config.title;
|
||||||
|
@ -27,7 +27,7 @@ function generate_description() {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
if (page.layout == 'wiki' && page.wiki) {
|
if (page.layout == 'wiki' && page.wiki) {
|
||||||
let proj = theme.wiki.projects[page.wiki];
|
let proj = theme.wiki.tree[page.wiki];
|
||||||
if (proj && proj.description) {
|
if (proj && proj.description) {
|
||||||
return '<meta name="description" content="' + proj.description + '">';
|
return '<meta name="description" content="' + proj.description + '">';
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ function layoutDiv() {
|
||||||
title_prev = __('meta.newer');
|
title_prev = __('meta.newer');
|
||||||
title_next = __('meta.older');
|
title_next = __('meta.older');
|
||||||
} else if (page.layout === 'wiki' && page.wiki && page.wiki.length > 0) {
|
} else if (page.layout === 'wiki' && page.wiki && page.wiki.length > 0) {
|
||||||
let proj = theme.wiki.projects[page.wiki];
|
let proj = theme.wiki.tree[page.wiki];
|
||||||
if (proj) {
|
if (proj) {
|
||||||
const current = page.order || 0;
|
const current = page.order || 0;
|
||||||
proj.pages.forEach((p, i) => {
|
proj.pages.forEach((p, i) => {
|
||||||
|
|
|
@ -58,12 +58,14 @@ function layoutDiv() {
|
||||||
el += '<a class="cap breadcrumb" id="menu" href="' + url + '">' + __("btn.wiki") + '</a>';
|
el += '<a class="cap breadcrumb" id="menu" href="' + url + '">' + __("btn.wiki") + '</a>';
|
||||||
}
|
}
|
||||||
// 项目名
|
// 项目名
|
||||||
let proj = theme.wiki.projects[page.wiki];
|
let proj = theme.wiki.tree[page.wiki];
|
||||||
|
if (proj != null) {
|
||||||
let url_proj = url_for(proj.homepage.path);
|
let url_proj = url_for(proj.homepage.path);
|
||||||
if (nodes.includes(url_proj) === false) {
|
if (nodes.includes(url_proj) === false) {
|
||||||
el += '<span class="sep"></span>';
|
el += '<span class="sep"></span>';
|
||||||
el += '<a class="cap breadcrumb" id="proj" href="' + url_proj + '">' + (proj.name || proj.title) + '</a>';
|
el += '<a class="cap breadcrumb" id="proj" href="' + url_proj + '">' + (proj.name || proj.title) + '</a>';
|
||||||
}
|
}
|
||||||
|
}
|
||||||
el += '</div>';
|
el += '</div>';
|
||||||
// 更新日期
|
// 更新日期
|
||||||
el += '<div id="post-meta">';
|
el += '<div id="post-meta">';
|
||||||
|
|
|
@ -12,8 +12,8 @@ if (theme.comments.service && theme.comments.service.length > 0) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 合并项目评论
|
// 合并项目评论
|
||||||
if (loadComment && page.layout == 'wiki' && page.wiki) {
|
let proj = theme.wiki.tree[page.wiki];
|
||||||
let proj = theme.wiki.projects[page.wiki];
|
if (loadComment && page.layout == 'wiki' && page.wiki && (proj != null)) {
|
||||||
if (proj.comment_title != undefined && page.comment_title == undefined) {
|
if (proj.comment_title != undefined && page.comment_title == undefined) {
|
||||||
if (['utterances', 'beaudar', 'giscus'].includes(theme.comments.service)) {
|
if (['utterances', 'beaudar', 'giscus'].includes(theme.comments.service)) {
|
||||||
page.comment_title = proj.comment_title;
|
page.comment_title = proj.comment_title;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<%
|
<%
|
||||||
var proj;
|
var proj;
|
||||||
if (page.layout === 'wiki' && page.wiki) {
|
if (page.layout === 'wiki' && page.wiki) {
|
||||||
proj = theme.wiki.projects[page.wiki];
|
proj = theme.wiki.tree[page.wiki];
|
||||||
}
|
}
|
||||||
function layoutTitle(main, url, sub) {
|
function layoutTitle(main, url, sub) {
|
||||||
var el = '';
|
var el = '';
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
<%
|
<%
|
||||||
var proj;
|
var proj;
|
||||||
if (page.layout === 'wiki' && page.wiki) {
|
if (page.layout === 'wiki' && page.wiki) {
|
||||||
proj = theme.wiki.projects[page.wiki];
|
proj = theme.wiki.tree[page.wiki];
|
||||||
}
|
}
|
||||||
// 默认组件
|
// 默认组件
|
||||||
if (page.sidebar == undefined) {
|
if (page.sidebar == undefined) {
|
||||||
if (page.layout == 'post' && page.content) {
|
if (page.layout == 'post' && page.content) {
|
||||||
page.sidebar = theme.sidebar.widgets.post;
|
page.sidebar = theme.sidebar.widgets.post;
|
||||||
} else if (page.layout == 'wiki' && page.content && page.wiki) {
|
} else if (page.layout == 'wiki' && page.content && page.wiki) {
|
||||||
let proj = theme.wiki.projects[page.wiki];
|
let proj = theme.wiki.tree[page.wiki];
|
||||||
if (proj.sidebar) {
|
if (proj?.sidebar) {
|
||||||
page.sidebar = proj.sidebar;
|
page.sidebar = proj.sidebar;
|
||||||
} else {
|
} else {
|
||||||
page.sidebar = theme.sidebar.widgets.wiki;
|
page.sidebar = theme.sidebar.widgets.wiki;
|
||||||
|
|
|
@ -6,7 +6,7 @@ function layoutDiv() {
|
||||||
if (page.repo) {
|
if (page.repo) {
|
||||||
repo = page.repo
|
repo = page.repo
|
||||||
} else if (page.layout === 'wiki' && page.wiki) {
|
} else if (page.layout === 'wiki' && page.wiki) {
|
||||||
let proj = theme.wiki.projects[page.wiki];
|
let proj = theme.wiki.tree[page.wiki];
|
||||||
if (proj && proj.repo) {
|
if (proj && proj.repo) {
|
||||||
repo = proj.repo;
|
repo = proj.repo;
|
||||||
if (proj.branch != undefined) {
|
if (proj.branch != undefined) {
|
||||||
|
|
|
@ -6,7 +6,7 @@ function layoutDiv() {
|
||||||
if (page.repo) {
|
if (page.repo) {
|
||||||
repo = page.repo
|
repo = page.repo
|
||||||
} else if (page.layout === 'wiki' && page.wiki) {
|
} else if (page.layout === 'wiki' && page.wiki) {
|
||||||
let proj = theme.wiki.projects[page.wiki];
|
let proj = theme.wiki.tree[page.wiki];
|
||||||
if (proj && proj.repo) {
|
if (proj && proj.repo) {
|
||||||
repo = proj.repo;
|
repo = proj.repo;
|
||||||
if (proj.branch != undefined) {
|
if (proj.branch != undefined) {
|
||||||
|
|
|
@ -15,8 +15,8 @@ function layoutDiv() {
|
||||||
if (page.menu_id == 'wiki') {
|
if (page.menu_id == 'wiki') {
|
||||||
arr = theme.wiki.all_pages.filter( p => {
|
arr = theme.wiki.all_pages.filter( p => {
|
||||||
if (p.wiki) {
|
if (p.wiki) {
|
||||||
let proj = theme.wiki.projects[p.wiki];
|
let proj = theme.wiki.tree[p.wiki];
|
||||||
return proj.index != false;
|
return proj?.index != false;
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
})
|
})
|
||||||
|
@ -32,7 +32,7 @@ function layoutDiv() {
|
||||||
el += '<a class="item title" href="' + url_for(post.link || post.path) + '">';
|
el += '<a class="item title" href="' + url_for(post.link || post.path) + '">';
|
||||||
el += '<span class="title">'
|
el += '<span class="title">'
|
||||||
if (post.layout == 'wiki') {
|
if (post.layout == 'wiki') {
|
||||||
let proj = theme.wiki.projects[post.wiki];
|
let proj = theme.wiki.tree[post.wiki];
|
||||||
let name = proj?.name || post?.wiki;
|
let name = proj?.name || post?.wiki;
|
||||||
if (name) {
|
if (name) {
|
||||||
el += '<strong>' + name + '</strong>' + '<span class="dot"></span>';
|
el += '<strong>' + name + '</strong>' + '<span class="dot"></span>';
|
||||||
|
|
|
@ -4,11 +4,11 @@ function layoutDiv() {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
var related = [];
|
var related = [];
|
||||||
let proj = theme.wiki.projects[page.wiki];
|
let proj = theme.wiki.tree[page.wiki];
|
||||||
if (proj.related && proj.related.length > 0) {
|
if (proj?.related?.length > 0) {
|
||||||
proj.related.forEach((pid, i) => {
|
proj.related.forEach((pid, i) => {
|
||||||
let p = theme.wiki.projects[pid];
|
let p = theme.wiki.tree[pid];
|
||||||
if (p && p.title !== proj.title && p.index !== false) {
|
if (p && p.title !== proj?.title && p.index !== false) {
|
||||||
related.push(p);
|
related.push(p);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<%
|
<%
|
||||||
let proj = theme.wiki.projects[page.wiki];
|
let proj = theme.wiki.tree[page.wiki];
|
||||||
|
|
||||||
function layoutToc() {
|
function layoutToc() {
|
||||||
if (toc(page.content).length > 0) {
|
if (toc(page.content).length > 0) {
|
||||||
|
@ -74,10 +74,12 @@ function layoutDiv(fallback) {
|
||||||
el += '</div>';
|
el += '</div>';
|
||||||
} else if (proj) {
|
} else if (proj) {
|
||||||
// wiki 布局
|
// wiki 布局
|
||||||
if (proj.sections && proj.sections.length > 0) {
|
if (proj.sections && proj.sections.length > 1) {
|
||||||
proj.sections.forEach((sec, i) => {
|
proj.sections.forEach((sec, i) => {
|
||||||
// 多 section
|
// 多 section
|
||||||
|
if (sec.title?.length > 0) {
|
||||||
el += layoutTocHeader(sec.title);
|
el += layoutTocHeader(sec.title);
|
||||||
|
}
|
||||||
el += '<div class="widget-body fs14">';
|
el += '<div class="widget-body fs14">';
|
||||||
el += layoutDocTree(sec.pages);
|
el += layoutDocTree(sec.pages);
|
||||||
el += '</div>';
|
el += '</div>';
|
||||||
|
|
|
@ -51,9 +51,12 @@ function layout_posts(partial) {
|
||||||
function layout_wikis(partial) {
|
function layout_wikis(partial) {
|
||||||
var el = '';
|
var el = '';
|
||||||
var wikis = [];
|
var wikis = [];
|
||||||
const projects = theme.wiki.projects;
|
const wiki_tree = theme.wiki.tree;
|
||||||
for (let proj_name of Object.keys(projects)) {
|
for (let proj_name of Object.keys(wiki_tree)) {
|
||||||
let proj = projects[proj_name];
|
let proj = wiki_tree[proj_name];
|
||||||
|
if (proj == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (proj.index === false || proj.pages == undefined || proj.pages.length === 0) {
|
if (proj.index === false || proj.pages == undefined || proj.pages.length === 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,152 +7,157 @@
|
||||||
class WikiPage {
|
class WikiPage {
|
||||||
constructor(page) {
|
constructor(page) {
|
||||||
this.id = page._id
|
this.id = page._id
|
||||||
this.title = page.title
|
|
||||||
this.path = page.path
|
|
||||||
this.layout = page.layout
|
|
||||||
this.seo_title = page.seo_title
|
|
||||||
this.wiki = page.wiki
|
this.wiki = page.wiki
|
||||||
this.order = page.order || 0
|
this.title = page.title
|
||||||
|
this.seo_title = page.seo_title
|
||||||
|
this.path = page.path
|
||||||
|
this.path_key = page.path.replace('.html', '')
|
||||||
|
this.layout = page.layout
|
||||||
this.updated = page.updated
|
this.updated = page.updated
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function createWikiObject(ctx) {
|
function getWikiObject(ctx) {
|
||||||
const wiki = { projects:{} }
|
var wiki = { tree:{} }
|
||||||
const { projects } = ctx.locals.get('data')
|
const data = ctx.locals.get('data')
|
||||||
if (projects) {
|
var list = []
|
||||||
Object.assign(wiki.projects, projects)
|
for (let key of Object.keys(data)) {
|
||||||
|
if (key.includes('wiki/') && key.length > 5) {
|
||||||
|
let newKey = key.replace('wiki/', '')
|
||||||
|
let obj = data[key]
|
||||||
|
if ((typeof obj.tags == 'string') && obj.tags.constructor == String) {
|
||||||
|
obj.tags = [obj.tags]
|
||||||
|
}
|
||||||
|
if ((typeof obj.toc == 'object') && obj.toc.constructor == Array) {
|
||||||
|
obj.toc = { '': obj.toc }
|
||||||
|
}
|
||||||
|
obj.id = newKey
|
||||||
|
if (obj.sort == null) {
|
||||||
|
obj.sort = 0
|
||||||
|
}
|
||||||
|
list.push(obj)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
list = list.sort((p1, p2) => p1.sort - p2.sort)
|
||||||
|
for (let item of list) {
|
||||||
|
wiki.tree[item.id] = item
|
||||||
}
|
}
|
||||||
return wiki
|
return wiki
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = ctx => {
|
module.exports = ctx => {
|
||||||
// wiki 配置
|
// wiki 配置
|
||||||
var wiki = createWikiObject(ctx)
|
var wiki = getWikiObject(ctx)
|
||||||
const pages = ctx.locals.get('pages')
|
const pages = ctx.locals.get('pages')
|
||||||
// wiki 所有页面
|
// wiki 所有页面
|
||||||
const wiki_pages = pages.filter(p => (p.layout === 'wiki') && (p.wiki != undefined) && (p.wiki.length > 0)).map(p => new WikiPage(p))
|
const wiki_pages = pages.filter(p => (p.layout === 'wiki')).map(p => new WikiPage(p))
|
||||||
|
const wiki_list = Object.keys(wiki.tree)
|
||||||
|
|
||||||
// 数据整合:项目标签
|
// 数据整合:项目标签
|
||||||
var all_tag_name = []
|
var all_tag_name = []
|
||||||
for (let id of Object.keys(wiki.projects)) {
|
for (let id of wiki_list) {
|
||||||
let proj = wiki.projects[id]
|
let item = wiki.tree[id]
|
||||||
let tags = proj.tags
|
let tags = item.tags
|
||||||
if (tags) {
|
if (tags) {
|
||||||
if ((typeof tags == 'string') && tags.constructor == String) {
|
|
||||||
if (all_tag_name.includes(tags) === false) {
|
|
||||||
all_tag_name.push(tags)
|
|
||||||
}
|
|
||||||
// 类型转换
|
|
||||||
tags = [tags]
|
|
||||||
} else if ((typeof tags == 'object') && tags.constructor == Array) {
|
|
||||||
tags.forEach((tag, i) => {
|
tags.forEach((tag, i) => {
|
||||||
if (all_tag_name.includes(tag) === false) {
|
if (all_tag_name.includes(tag) === false) {
|
||||||
all_tag_name.push(tag)
|
all_tag_name.push(tag)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
wiki.tree[id].tags = tags
|
||||||
wiki.projects[id].tags = tags
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 补充未分组的项目
|
|
||||||
const projs = Object.keys(wiki.projects)
|
|
||||||
wiki_pages.forEach((p, i) => {
|
|
||||||
if (projs.includes(p.wiki) == false) {
|
|
||||||
if (wiki.projects[p.wiki] == undefined) {
|
|
||||||
wiki.projects[p.wiki] = {}
|
|
||||||
wiki.projects[p.wiki].pages = []
|
|
||||||
}
|
|
||||||
var proj = wiki.projects[p.wiki]
|
|
||||||
if (proj.description == undefined) {
|
|
||||||
proj.description = p.description
|
|
||||||
}
|
|
||||||
wiki.projects[p.wiki].pages.push(p)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
// 补充项目名称和首页
|
// 补充项目名称和首页
|
||||||
for (let id of Object.keys(wiki.projects)) {
|
for (let id of wiki_list) {
|
||||||
let proj = wiki.projects[id]
|
let item = wiki.tree[id]
|
||||||
proj.id = id
|
item.id = id
|
||||||
if (proj.title == undefined || proj.title.length === 0) {
|
if (item.title == undefined || item.title.length === 0) {
|
||||||
proj.title = id
|
item.title = id
|
||||||
}
|
}
|
||||||
if (proj.name == undefined || proj.name.length == 0) {
|
if (item.name == undefined || item.name.length == 0) {
|
||||||
proj.name = id
|
item.name = id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 补充 order
|
|
||||||
wiki_pages.forEach((p, i) => {
|
|
||||||
if (p.order == undefined) {
|
|
||||||
p.order = 0
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// 数据整合:每个项目的子页面
|
// 数据整合:每个项目的子页面
|
||||||
for (let id of Object.keys(wiki.projects)) {
|
for (let id of wiki_list) {
|
||||||
let proj = wiki.projects[id]
|
let item = wiki.tree[id]
|
||||||
let proj_pages = wiki_pages.filter(p => p.wiki === id).sort((p1, p2) => p1.order < p2.order ? -1 : 1)
|
let sub_pages = wiki_pages.filter(p => p.wiki === id)
|
||||||
if (!proj_pages || proj_pages.length == 0) {
|
if (!sub_pages || sub_pages.length == 0) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
proj.homepage = proj_pages[0]
|
|
||||||
proj.homepage.is_homepage = true
|
// 首页
|
||||||
// 内页按 section 分组
|
// 未特别指定首页时,获取TOC第一页作为首页
|
||||||
var section_configs = []
|
if (item.homepage == null && item.toc != null) {
|
||||||
if (proj.sections) {
|
for (let id of Object.keys(item.toc)) {
|
||||||
for (let t of Object.keys(proj.sections)) {
|
const path_key = item.toc[id]
|
||||||
let range = proj.sections[t]
|
let hs = sub_pages.filter(p => (p.path_key.endsWith(path_key)))
|
||||||
if (range.length > 1) {
|
if (hs.length > 0) {
|
||||||
section_configs.push({
|
item.homepage = hs[0]
|
||||||
title: t,
|
break
|
||||||
from: range[0],
|
|
||||||
to: range[1]
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (item.homepage == null) {
|
||||||
|
item.homepage = sub_pages[0]
|
||||||
|
}
|
||||||
|
item.homepage.is_homepage = true
|
||||||
|
// 内页分组
|
||||||
var sections = []
|
var sections = []
|
||||||
section_configs.forEach((sec, i) => {
|
var others = sub_pages
|
||||||
const sec_pages = proj_pages.filter( p => p.order >= sec.from && p.order <= sec.to )
|
if (item.toc) {
|
||||||
if (sec_pages && sec_pages.length > 0) {
|
for (let title of Object.keys(item.toc)) {
|
||||||
|
let key_list = item.toc[title]
|
||||||
|
var arr = []
|
||||||
|
for (let key of key_list) {
|
||||||
|
arr = arr.concat(sub_pages.filter(p => p.path_key.endsWith(key)))
|
||||||
|
others = others.filter(p => p.path_key.endsWith(key) == false)
|
||||||
|
}
|
||||||
sections.push({
|
sections.push({
|
||||||
title: sec.title,
|
title: title,
|
||||||
pages: sec_pages
|
pages: arr
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (others.length > 0) {
|
||||||
|
sections.push({
|
||||||
|
pages: others
|
||||||
})
|
})
|
||||||
proj.sections = sections
|
}
|
||||||
proj.pages = proj_pages
|
item.sections = sections
|
||||||
|
item.pages = sub_pages
|
||||||
}
|
}
|
||||||
|
|
||||||
// 全站所有的项目标签
|
// 全站所有的项目标签
|
||||||
var all_tags = {}
|
var all_tags = {}
|
||||||
all_tag_name.forEach((tag_name, i) => {
|
all_tag_name.forEach((tag_name, i) => {
|
||||||
var projs = []
|
var subs = []
|
||||||
for (let id of Object.keys(wiki.projects)) {
|
for (let id of wiki_list) {
|
||||||
let proj = wiki.projects[id]
|
let item = wiki.tree[id]
|
||||||
if (proj.tags && proj.tags.includes(tag_name) === true && projs.includes(tag_name) === false) {
|
if (item.tags && item.tags.includes(tag_name) === true && subs.includes(tag_name) === false) {
|
||||||
projs.push(proj.id)
|
subs.push(item.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
all_tags[tag_name] = {
|
all_tags[tag_name] = {
|
||||||
name: tag_name,
|
name: tag_name,
|
||||||
path: (ctx.config.wiki_dir || 'wiki') + '/tags/' + tag_name + '/index.html',
|
path: (ctx.config.wiki_dir || 'wiki') + '/tags/' + tag_name + '/index.html',
|
||||||
items: projs
|
items: subs
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
// 关联相似项目
|
// 关联相似项目
|
||||||
for (let id of Object.keys(wiki.projects)) {
|
for (let id of wiki_list) {
|
||||||
let proj = wiki.projects[id]
|
let item = wiki.tree[id]
|
||||||
if (proj.tags) {
|
if (item.tags) {
|
||||||
var related = []
|
var related = []
|
||||||
proj.tags.forEach((tag_name, i) => {
|
item.tags.forEach((tag_name, i) => {
|
||||||
let tagObj = all_tags[tag_name]
|
let tagObj = all_tags[tag_name]
|
||||||
related = related.concat(tagObj.items)
|
related = related.concat(tagObj.items)
|
||||||
related = [...new Set(related)]
|
related = [...new Set(related)]
|
||||||
})
|
})
|
||||||
proj.related = related
|
item.related = related
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ module.exports = ctx => function(args) {
|
||||||
el += '</summary>'
|
el += '</summary>'
|
||||||
|
|
||||||
if (args.wiki) {
|
if (args.wiki) {
|
||||||
const proj = ctx.theme.config.wiki.projects[args.wiki]
|
const proj = ctx.theme.config.wiki.tree[args.wiki]
|
||||||
if (proj == undefined) {
|
if (proj == undefined) {
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue