之前一直想找一个文档表现工具,类似于语雀这种能方便显示目录层级和标题的在线文档管理器。网络上开源的大致分为两类:

  • 管理平台,允许注册登录的开放式文档管理站点。
  • 文档导航管理,由文档文件生成站点。

首先,管理平台对我来说太大了,我并不需要进行用户管理,并且这类平台是需要数据库存储文档数据的,这表示我需要一个服务器才可以部署。

其次,我一般喜欢文档为主体的内容管理工具,也就是文档由我自己管理,工具只负责将我管理的文档进行展示就可以了。

基于以上两点,我就找到了docsify

介绍

docsify基于文档内容形成站点,但是不同于Hexo这类博客网页生成器:

  1. docsify只需要初始化一次,以后当文档更改时也不再需要使用命令或是按钮进行重新生成。
  2. docsify只会在目录中生成index.htmlREADME.md和一个.nojekyll文件,并不会生成网页目录。

因为docsify生成的index.html中引入了在线js,文档站点就是由这个js动态生成,所以这个index.html就是站点首页

正因如此,在未来的文档更改后也不需要进行重新生成站点。

使用

使用实际上就是使用npm安装一个docsify客户端,然后用docsify初始化一下文档项目目录。

安装docsify-cli

1
npm i docsify-cli -g

当然,如果你进度卡住了,我推荐你用这个镜像http://mirrors.ustc.edu.cn,就像这样设置一下:

1
npm config set registry http://mirrors.ustc.edu.cn

初始化文档项目目录

一般推荐初始化docs目录,当然你也可以选择其他目录或是直接在当前目录初始化。

1
docsify init docs

init后面的就是需要初始化的文档根目录,没有就是当前目录。

完成初始化后,指定目录下就会出现index.htmlREADME.md.nojekyll文件,他们的作用分别是:

  • index.html - 首页配置,例如插件、样式、布局等。
  • README.md - 首页文件,更改此文件就可以修改首页内容。
  • .nojekyll - 用来告诉Github不需要使用jekyll进行构建。

目录结构

.obsidianobsidian生成的,与docsify无关。

值得注意的是,你直接访问index.html是不行的,你需要在此目录下使用进行http或是https环境搭建访问才有效果。

另外,如果想要将文档部署在GitHubPage上的化,README.md文件名必须是大写,否则会出现404

预览

预览可以使用docsify serve docs,这里的docsinit后的参数是一样的作用,表示了文档根目录。你也可以先cd docs,然后docsify serve,效果是一样的。

服务启动后就可以通过访问3000端口来预览页面效果。

效果预览

文档编写

就像正常markdown文档编写一样。在文档间跳转时使用相对路径即可实现页面间跳转。

总述

docsify很适合作为文档或是教程的生成工具,并且动态生成的机制也非常适合初始化后直接丢给文档编写人。

另外非常推荐使用obsidian进行搭配使用,obsidian只会检测md文件,这使得你在docsify管理的目录下编辑文档时,在文件列表中不会出现与内容无关的文件干扰。

参考资料


本站总访问量