不存在的sidebar
docsify是一个文档生成工具,它直接加载 Markdown 文件并动态渲染,同时还可以生成封面页。所以我们只需要写完 Markdown 文档,就可以看到文档页面了。小鸟数据博客采用的是Typecho,Typecho代码简洁是个优点,然而其文档比其代码还要简洁,这就给主题的制作和修改带来了很大的障碍,所以在网上看到泽泽社长整理并完善的docsify版本文档(https://github.com/jrotty/jrotty.github.io
)时,感觉真是相见恨晚。
尝试在自己的站点上也部署了这份文档,遇到了两个问题:
第一是中文的文件名引发了404错误,没有过多纠结原因,直接把所有的md文件都修改成了英文名称;
第二个问题是调出控制台后,发现程序总是会去引用一个并不存在的“sidebar.md”文件,毫无意外的也导致了一个404错误。
docsify存在一个多级目录构建navbar、sidebar引用404问题:在构建多级文件目录的时候,针对多级文件夹下的md文件,其会相应加载同级目录下的navbar.md、sidebar.md文件,但这个时候由于navbar.md、sidebar.md文件存放在根目录或者是自定义指定的文件夹下,引用相对路径则会报404问题。针对上述情况,可以通过设置路由别名来调整。
docsify的alias设置
alias可以设置路由别名,让用户自由管理路由规则,并且支持RegExp。需要注意的是,如果一个路由可以由多个别名匹配,则首先声明的别名优先匹配。
window.$docsify = {
alias: {
'/foo/(.*)': '/bar/$1', // supports regexp
'/zh-cn/changelog': '/changelog',
'/changelog':
'https://raw.githubusercontent.com/docsifyjs/docsify/master/CHANGELOG',
'/.*/_sidebar.md': '/_sidebar.md', // See #301
},
};