docsify使用指南
docsify使用指南
本指南参考了 docsify官方文档 ,扩展了许多内容。
安装docsify
执行如下命令全局安装 docsify。
1 | npm i docsify-cli -g |
修改nmp注册源
在中国大陆境内执行如上命令,有时会长时间无法下载相关包,此时可以尝试切换「注册源」 (即包的下载源) 为淘宝镜像。
执行如下命令查看当前 registry
。
1 | yukiyama@yukiyama ~ % npm config get registry |
执行如下命令设置为 Taobao 的 registry
,然后再次查看确认是否已切换。
1 | yukiyama@yukiyama ~ % npm config set registry=https://registry.npm.taobao.org/ |
之后再执行 npm i docsify-cli -g
即可正常下载安装。
1 | yukiyama@yukiyama ~ % npm i docsify-cli -g |
初始化
一个 docsify 文档需要在一个文件夹下构建,例如以 docsify-leetcode
文件夹为例,若想在此文件夹下构建 docsify 文档,则进入到将要创建此文件夹所在目录下,执行如下命令。
1 | yukiyama@yukiyama docs % docsify init docsify-leetcode |
docsify init
会为我们创建 docsify-leetcode
文件夹。如果已经存在改文件夹,则会提示是否重写。
1 | yukiyama@yukiyama docs % docsify init docsify-leetcode |
此时 docsify-leetcode
就是一个 docsify 文档了,如下是 docsify init
生成的文件。
1 | yukiyama@yukiyama docsify-leetcode % ls -al |
文件 | 描述 |
---|---|
.nojekyll |
空文件,用于阻止 Github Pages 忽略以 _ 开头的文件。 |
REDAME.md |
文档实例首页。 |
index.html |
主要用于完成文档的各项设置,例如设置侧边、导航栏、目录、代码高亮等等。 |
启动服务
执行如下命令启动本地 docsify 服务,端口号为 3000 。
1 | yukiyama@yukiyama docsify-leetcode % docsify serve |
此时在浏览器中访问 http://localhost:3000
可看到默认构建的文档如下。
部署
本地 docsify 文档可以部署到诸多托管服务中,这里以部署到 Github Pages 为例。
创建远程仓库
在 github 中创建名为 docsify-leetcode
的仓库。
本地推送
分别在 docsify-leetcode
文件夹路径下执行如下命令,推送本地仓库到远程同名仓库 (的 master
分支)中。
git 初始化 docsify-leetcode
文件夹并完成第一次 commit 。
1 | yukiyama@yukiyama docsify-leetcode % git init |
关联远程仓库并推送。
1 | yukiyama@yukiyama docsify-leetcode % git remote add origin git@github.com.outlo |
此时 Github 的 docsify-leetcode
仓库如下。
开启Github Pages功能
如下,在 repo 的 settings > pages 设置页中选择 master
分支,点击 save
保存设置。
等待一分钟左右,即可通过自己的 Github Pages 地址加该文档仓库名来访问部署到 Github Pages 上的 docsify-leetcode
文档了。
访问 https://iyukiyama.github.io/docsify-leetcode/
,如下。
此后文档有任何修改,只需要将这些修改推送到远程 docsify-leetcode
仓库即可。
配置及插件
docsify 提供了需要配置项和插件,可以扩展文档功能。
多页文档
大型文档有多个层级,每个层级下有多个页面。为了支持多页多层级文档,首先要在 index.html
中增加开启侧边栏功能的配置,然后在文档文件夹下创建 _sidebar.md
文件,在其中定义文档层级。
侧边栏
在文档文件夹下的 index.html
的 window.$docsify
中,增加如下语句以开启侧边栏。
1 |
|
_sidebar.md
创建 _sidebar.md
文件,尚无内容时。
在 _sidebar.md
中写入需要的文档层级后。
对于写入的如下内容。
- 中括号:表示显示在侧边栏的内容 (称为侧边栏项目,即上例的
首页
,1-50
)。 - 小括号:表示在文档页面中点击相应侧边栏项目后打开的文档页面 (称为侧边栏项目开始文档) ,默认为对应目录下 的
README.md
文档。
小括号中的 /
表示当前目录 (文档文件夹根目录即 docsify-leetcode
目录) 下的 README.md
文档,/1-50/
表示名为 1-50
的目录下的 README.md
文档。
1 | * [首页](/) |
点击文档页面的 1-50
将展示其指定目录 /1-50/
下的 README.md
文件渲染的 html 页面,此时我们还没有创建 1-50
目录,因此展示为 404 页面。
在根目录下新建 1-50
文件夹,并在其中创建 README.md
文件后,如下。
多层级
现在我们可以在 1-50
目录下添加该层级下的文档。例如新增 1-两数之和.md
。同时在 _sidebar.md
中添加相应的侧边栏项目,在所在层级下退两格 (英文半角空格) 书写,如下。
1 | * [首页](/) |
文档目录
在上例中, 1-两数之和.md
文档有多层目录,我们可以在 index.html
中添加 subMaxLevel
使得侧边栏该文档名下显示目录。markdown 文档通常最多 6 层目录,因此我们可以设置目录层数为 6 。
点击侧边栏文档名可以折叠 / 展开目录。
LaTeX公式
按照官方说明的那样,在 index.html
中引入 docsify-katex
插件,即可支持渲染文档中以一对 $
标识的行内,或以一对 $$
标识的单行 LaTeX 公式。
1 | <script src="//cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.js"></script> |
代码高亮
docsify内置的代码高亮工具是 Prism。Prism 默认支持的语言如下:
- Markup -
markup
,html
,xml
,svg
,mathml
,ssml
,atom
,rss
- CSS -
css
- C-like -
clike
- JavaScript -
javascript
,js
如官方文档说明,添加额外的语法支持 需要通过CDN添加相应的 语法文件 ,以支持 Java 的代码高亮为例。
1 | <script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-java.min.js"></script> |
复制到剪贴板
如文档说明,在 index.html
中添加如下 <script>
支持代码复制功能。
1 | <script src="//cdn.jsdelivr.net/npm/docsify-copy-code/dist/docsify-copy-code.min.js"></script> |
全文搜索
如文档说明,在 window.$docsify
中设置 search
,并引入 <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
即可实现全文搜索功能。
注意,docsify.min.js
可不必引入,因为已经通过如下引入了更新的 docsify
。
1 | <!-- Docsify v4 --> |
如下是示例。
1 | <script> |
按照如上配置后可得到如下效果。
字数统计
如官方文档说明,引入如下 js 文件并在 window.$docsify
中添加 count
配置即可。
countable.js
1 | <script src="//unpkg.com/docsify-count/dist/countable.js"></script> |
count
配置
1 | window.$docsify = { |
封面
按照官方文档说明,在 index.html
中配置 coverpage
,增加封面页面的 md 文档,即可为文档增加好看的封面。
注意,docsify.min.js
可不必引入,因为已经通过如下引入了更新的 docsify
。
1 | <!-- Docsify v4 --> |
开启 coverpage
1 | <script> |
根目录下增加 _coverpage.md
文件。
1 | ![logo](_media/favicon.svg) |
在根目录下增加 _media
文件夹并放入 favicon.svg
文件。
效果如下,每次访问,渐变效果会有变化,十分有趣。
Github挂件
在 index.html
文件中的 window.$docsify
配置 repo
,则文档页面右上角会出现 github 章鱼猫挂件,点击可跳转到指定的 repo。
如下是示例。
1 | <script> |
文档名
在 index.html
文件中的 window.$docsify
配置 name
,则文档页面会显示指定的文档名称。
如下是示例。
1 | <script> |
侧边栏折叠
当侧边栏内容过多时,可以引入 docsify-sidebar-collapse
插件实现折叠。如之前已设置过 loadSidebar
, subMaxLevel
,则直接引入如下 docsify-sidebar-collapse.js
即可。
1 | <!-- 侧边栏折叠 --> |
如下,点击 1-50
,将其折叠后的效果 (51-100
未折叠)。