当前位置:首页 > 技术分析 > 正文内容

一个优秀的程序员专属文档生成工具(开源)——docsify

ruisui883周前 (04-11)技术分析6

介绍

docsify是一个神奇的文档网站生成器。docsify不同于很多静态博客那样的方式生成html的静态网页文件,而是在运行时进行转换。只需要创建一个index.html文件,就可以编写文档并部署到Github Pages。




支持的特性

  • 无需构建,写完文档直接发布
  • 容易使用并且轻量 (压缩后 ~21kB)
  • 智能的全文搜索
  • 提供多套主题
  • 丰富的 API
  • 支持 Emoji
  • 兼容 IE11
  • 支持服务端渲染 SSR

开始安装使用

这里在官方的文档中推荐安装一个全局的docsify-cli脚手架工具,这样就能很方便地每次使用它了,我们可以使用npm来进行安装

npm i docsify-cli -g

笔者比较习惯使用yarn,如果你也一样,可以和我一样使用以下命令安装

yarn global add docsify-cli

然后我们就可以使用了,如下:

我们先使用命令行工具到你项目的文件夹中,比如我这里是使用mydoc:

然后执行以下命令

docsify init ./docs

PS:如果你使用yarn,然后执行命令失败,那么你需要将你的yarn的bin目录添加到你的环境变量中,windows下直接就在Path下面加上即可,可以使用 yarn global bin命令查看你的yarn的bin文件夹目录


初始化成功后,可以看到 ./docs 目录下创建的几个文件

  • index.html 入口文件
  • README.md 会作为主页内容渲染
  • .nojekyll 用于阻止 GitHub Pages 忽略掉下划线开头的文件

直接编辑 docs/README.md 就能更新文档内容,当然也可以添加更多页面。

接下来是预览效果:

cd docs
docsify serve

浏览器打开页面localhost:3000 即可查看效果,如下:



当然,如果你不想使用提供的脚手架工具,你也可以使用官方文档中提到的手动创建,如下:




  
  
  
  


  
<script> window.$docsify = { //... } </script> <script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>

将readme也加上当前目录下即可,然后需要启动一个静态服务器,这里笔者推荐使用liveServer,很好用的一个本地调试http静态服务器,下面你就可以自定义你的文档了

多页面文档

多页文档在docsify中也很容易实现,以下来自于文档中的介绍,大家可以自行尝试:

假设你的目录结构如下:

.
└── docs
    ├── README.md
    ├── guide.md
    └── zh-cn
        ├── README.md
        └── guide.md

那么对应的访问页面将是

docs/README.md        => http://domain.com
docs/guide.md         => http://domain.com/guide
docs/zh-cn/README.md  => http://domain.com/zh-cn/
docs/zh-cn/guide.md   => http://domain.com/zh-cn/guide

这一块文档中有非常详细的介绍,快速开始——多页文档、定制侧边栏、嵌套的侧边栏、用侧边栏中选定的条目名称作为页面标题、显示目录、忽略副标题等等

自定义导航栏

同时你还可以自定义导航栏:


  

那我们可以通过 Markdown 文件来配置导航。首先配置 loadNavbar,默认加载的文件为 _navbar.md。具体配置规则见配置项#loadNavbar。



<script>
  window.$docsify = {
    loadNavbar: true
  }
</script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>


* [En](/)
* [中文](/zh-cn/)
  • 嵌套

如果导航内容过多,可以写成嵌套的列表,会被渲染成下拉列表的形式。


* 入门
  * [快速开始](zh-cn/quickstart.md)
  * [多页文档](zh-cn/more-pages.md)
  * [定制导航栏](zh-cn/custom-navbar.md)
  * [封面](zh-cn/cover.md)
* 配置
  * [配置项](zh-cn/configuration.md)
  * [主题](zh-cn/themes.md)
  * [使用插件](zh-cn/plugins.md)
  * [Markdown 配置](zh-cn/markdown.md)
  * [代码高亮](zh-cn/language-highlight.md)


定制化

如果上面都还不满足,那么它还可以定制化:

  • 配置项:提供几十种配置项(使用时可以查看文档)
  • 主题支持





如果还不满足,那么docs还有人为之开发了主题系统

https://github.com/jhildenbiddle/docsify-themeable

  • 插件列表

全文搜索 - Search、谷歌统计 - Google Analytics、emoji、外链脚本 - External Script、图片缩放 - Zoom image、在 Github 上编辑、代码即时预览和 jsfiddle 集成、复制到剪贴板

、Disqus、Gitalk、Pagination、字数统计、Code Fund、Tabs自定义插件

  • 自定义插件

docsify 提供了一套插件机制,其中提供的钩子(hook)支持处理异步逻辑,可以很方便地扩展功能。

  • Markdown 配置

内置的 Markdown 解析器是 marked,可以修改它的配置。同时可以直接配置 renderer。

  • 代码高亮

docsify内置的代码高亮工具是 Prism。Prism 默认支持的语言如下:

  1. Markup - markup, html, xml, svg, mathml, ssml, atom, rss
  2. CSS - css
  3. C-like - clike
  4. JavaScript - javascript, js

更多功能和用法

Docs确实很强大,以下用法和功能,在官方文档中也详细地介绍了,包括之前说的部署到Github Pages

  • 部署
  • 文档助手
  • 兼容 Vue
  • CDN
  • 离线模式(PWA)
  • 服务端渲染 (SSR)
  • 文件嵌入

文档地址:

https://docsify.js.org/#/zh-cn/embed-files

本身也是开源项目:

https://github.com/docsifyjs/docsify


推荐对照文档进行详细的使用

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3450.html

标签: js文档
分享给朋友:

“一个优秀的程序员专属文档生成工具(开源)——docsify” 的相关文章

Linux发行版Debian推出12.2及11.8版本,修复多个安全问题

IT之家 10 月 9 日消息,Debian 是最古老的 GNU / Linux 发行版之一,也是许多其他基于 Linux 的操作系统的基础,包括 Ubuntu、Kali、MX 和树莓派 OS 等,近日 Debian 推出了 12.2 和 11.8 版本,主要修复了多个安全问题。▲ 图源 Debia...

USB电池充电基础:应急指南

USB为便携设备供电与其串行通信功能一样,已经成为一种标准应用。如今,USB 供电已经扩展到电池充电、交流适配器及其它供电形式的应用。应用的普及带来的一个显著效果是便携设备的充电和供电可以互换插头和适配器。因此,相对于过去每种装置都采用专用适配器的架构相比,目前的解决方案允许采用多种电源进行充电。毋...

Excel中的FILTER函数详细介绍及使用示例

在Excel中处理大量数据时,经常需要根据特定条件筛选出符合条件的数据行或列。这正是Excel的FILTER函数发挥作用的地方。FILTER函数是Excel中一个非常强大的工具,它可以基于一个或多个条件动态地过滤数据,使数据分析和报告制作变得更加高效和准确。本文将详细介绍FILTER函数的用法,并提...

Vue中的路由配置常用属性

router:路由页面跳转的核心库;引入路由:import VueRouter from 'vue-router'; 注册路由:const router = new VueRouter({ })mode:模式路由有hash history两种模式:hash模式URL中包含#,#后边是...

VUE3+JAVA商城源码小程序APP商城

三勾小程序商城基于springboot+element-ui+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。软件架构后端: springboot2.3.12管...

TDesign企业级开源设计系统越发成熟稳定,支持 Vue3 / 小程序

TDesing 发展越来越好了,出了好几套组件库,很成熟稳定了,新项目完全可以考虑使用。早在2021年,腾讯的 TDesing 刚发布不久,我就写了一篇简短的文章来介绍,当时主要关注的是 TDesign 的 Vue 组件库和用来搭建 admin 后台系统的实用性。虽然当时看起来不错,但还处于测试版,...