本来是不准备换掉 MDwiki 的,但自从看到友人 C 的 handsome 主题的文档使用了 docsify.js,看到了内置搜索功能以后,我立刻换掉了 MDwiki,这次我把我的折腾过程发出来分享。
难得五一假期有空发干货┑( ̄Д  ̄)┍,这里只介绍基本用法,具体用法请前往官网主页:https://docsify.js.org/#/zh-cn/。
玉米:这是同逼官的节奏啊
因为。。。。。。这是玉米的文档:
这是我自己整的:
初始化 docsify.js
1,npm 初始化
npm i docsify-cli -g
docsify init ./docs
初始化成功后,可以看到 ./docs
目录下创建的几个文件
index.html
入口文件README.md
会做为主页内容渲染.nojekyll
用于阻止 GitHub Pages 会忽略掉下划线开头的文件
直接编辑 docs/README.md
就能更新网站内容,当然也可以写多个页面。
可使用以下命令本地预览,支持实时预览,默认访问 http://localhost:3000 。更多命令行工具用法,参考 docsify-cli 文档:
docsify serve docs
2,手动初始化(我就是用这种)
创建 index.html,在 index.html 下添加以下代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="//unpkg.com/docsify/themes/vue.css">
</head>
<body>
<div id="app"></div>
</body>
<script src="//unpkg.com/docsify"></script>
</html>
注意!:手动初始化时一定要手动创建.nojekyll 文件阻止 GitHub Pages 忽略掉下划线开头的文件。
Loading 提示内容
初始化时会显示 Loading...
内容,你可以自定义提示信息。
<div id="app"> 加载中</div>
如果更改了 el
的配置,需要将该元素加上 data-app
属性(我没去改)。
<div data-app id="main"> 加载中</div>
<script>
window.$docsify = {
el: '#main'
}
</script>
定制侧边栏由于我用不上,这里没有进行配置,因为默认情况下,侧边栏会根据当前文档的标题生成目录。
如有需要,请前往这里:https://docsify.js.org/#/zh-cn/more-pages
定制导航栏
为了完美迁移 MDwiki 的文档,我对配置进行了一些处理。
我们可以通过 Markdown 文件来配置导航。首先配置 loadNavbar
,默认加载的文件为 _navbar.md
。具体配置规则见配置项 #load-navbar(是的我没有直接通过 HTML 定制,因为文档很多)。
先在 index.html 添加以下代码(注意不在 body 标签内)
<script>
window.$docsify = {
loadNavbar: true
}
</script>
然后就可以在文档根目录创建_navbar.md 来自定义导航了:
这是我的_navbar.md 文件, 支持嵌套:
- [首页](/)
- GMS2 代购
- [代购&激活流程](/gms2.md)
- GM 插件文档
- [CleanMem 文档](/cleanmem.md)
- [GMThread 文档](/gmthread.md)
- [GMZ 文档](/gmz.md)
- 玉米写的 GM 插件的文档
- [MaizeMusic 文档](/maizemusic.md)
- [MageINI 文档](/mageini.md)
- [GM 语言包扩展文档](/gmu18n.md)
- [GMSqlite 文档](/gmsqlite.md)
- [JS 脚本解析器文档](/js.md)
- [NsfPlay 文档](/nsfplay.md)
封面
封面的生成同样是从 markdown 文件渲染来的。开启渲染封面功能后在文档根目录创建 _coverpage.md
文件。渲染效果如本文档。
index.html 添加以下代码:
<script>
window.$docsify = {
coverpage: true
}
</script>
在文档根目录创建_coverpage.md,这是我的_coverpage.md 文件:
# LiarOnce Wikis
> 一个高中学生的个人 Wiki
- Pixiv ID : 61328141
[开始查阅](#liaronce-wikis)
![](../images/61328141_p0.jpg)
首页 logo 是支持自定义的,我没去加,这是代码请放在合适的位置(推荐放在一级标题之前):
![logo](_media/icon.svg)
更多配置
插件
此为 docsify.js 支持的所有插件:https://docsify.js.org/#/zh-cn/plugins
按照内容配置即可。
配置项
此为 docsify.js 的所有配置项:https://docsify.js.org/#/zh-cn/configuration
配置代码
这是我的配置代码,可以给你们借鉴一下:
<script>
window.$docsify = {
basePath: '/docs/', //文档加载的根路径
homepage: 'index.md', //首页文件加载路径
auto2top: true, //切换页面后是否自动跳转到页面顶部
maxLevel: 9999, //最大支持渲染的标题层级
coverpage: true, //启用封面页
loadNavbar: true, //加载自定义导航栏
mergeNavbar: true, //小屏设备下合并导航栏到侧边栏
name: 'LiarOnce Wikis', //文档标题
noEmoji: true, //禁用 emoji 解析(是的 emoji 我用不上)
search: { //搜索功能
maxAge: 86400000,
paths: 'auto',
placeholder: '搜索',
noData: '找不到结果!'
}
}
//PWA 模式代码开始
if (typeof navigator.serviceWorker !== 'undefined') {
navigator.serviceWorker.register('sw.js')
}
//PWA 模式代码结束
</script>
效果地址:https://wiki.liaronce.win/
托管于 Coding 的项目地址:https://coding.net/u/liaronce/p/liaroncewiki/git
Comments 12 条评论
博主 尚寂新
wiki.disandadao.org 这个我直接 fork 友人 c 的那个弄得 因为不知道是基于这个 于是拿 css 和 html 一顿硬艹 结果就变成这样了 233333
博主 正在摸鱼的 LiarOnce
@尚寂新 这。。。。。。看外部资源就知道了啊
博主 初夏阳光
可以,很喜欢这种感觉!
博主 香菇
以前使用过 N 种 wiki 程序后来发现不知道往里边写什么
博主 正在摸鱼的 LiarOnce
@香菇 也对啊
博主 钛客志
配置麻烦意味着以后很可能不会更新内容,比如静态博客
博主 正在摸鱼的 LiarOnce
@钛客志 不过这个配置完了就方便很多了,可以直接写文档了,上传也只要上传替换几个文件,不像 hexo 那样需要先生成才能上传,还要全部覆盖
博主 正在摸鱼的 LiarOnce
@钛客志 当然前期安装简单不代表运营的时候配置简单,该麻烦的地方还是要经历的,关键是能不能坚持下去,坚持不下去的话配置再怎么简单也没用
博主 小吉
没办法啊,毕竟穷嘛 233333
博主 正在摸鱼的 LiarOnce
@小吉 去 Coding Pages 啊,或者放在自己的主机里
博主 小吉
我在用 Docute 如我的文档站 github.bokutake.com/docs/
博主 正在摸鱼的 LiarOnce
@小吉 看起来也挺好,不过我不想换了(第一感觉就是看起来和 docsify 差不多)
还有托管在 Github Pages 不慢吗?