29.4K:零构建 + 秒部署!5 分钟用 docsify 搭出高颜值技术文档站

29.4K:零构建 + 秒部署!5 分钟用 docsify 搭出高颜值技术文档站

作为开发者,写文档的痛苦我太懂了:
用 Word?版本管理混乱,协作全靠 “文件另存为”;
用 GitBook?每次更新都要重新构建静态文件,本地调试像等快递;
用 VuePress?配置复杂到要看半本手册,新手分分钟劝退……直到遇到
docsify—— 这个能把 Markdown 文件直接 “变” 成网站的神奇工具,彻底治好了我的 “文档恐惧症”。本文将从 0 到 1 带你实战搭建一个高颜值文档站,揭秘它的 “丝滑” 秘诀。


一、为什么选 docsify?先看痛点解决

在正式动手前,先明确 docsify 的核心优势:轻量、灵活、零构建

传统文档工具的痛点,它一一击破:

  • 无需构建:不生成静态 HTML,直接读取 Markdown 文件渲染,改完文档刷新页面就能看效果;
  • 开箱即用:一个 HTML 文件 + 几个 Markdown 就能启动,连 Node 环境都不用装(当然装了 CLI 更方便);
  • 高度可扩展:支持插件系统,搜索、评论、代码高亮等功能一键集成;
  • 轻量化:核心库只有 20KB 左右,加载速度比传统工具快 3-5 倍。

简单来说,它是 “能用 Markdown 就别折腾” 的极客哲学产物

29.4K:零构建 + 秒部署!5 分钟用 docsify 搭出高颜值技术文档站


二、实战第一步:5 分钟搭起基础文档站

1. 环境准备(新手友善到哭)

docsify 的安装方式有两种,任选其一即可:

方式 1:直接用 CDN(适合快速尝鲜)

新建一个index.html,复制以下代码保存,用浏览器打开就能跑 ——

html

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>我的文档站</title>
  <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@5/lib/themes/vue.css">
</head>
<body>
  <div id="app"></div>
  <script>
    window.$docsify = {
      name: '我的技术文档',  // 左上角标题
      repo: '你的GitHub仓库地址',  // 右上角GitHub图标链接
      loadSidebar: true,  // 自动加载侧边栏
      coverpage: true,  // 启用封面页
    }
  </script>
  <script src="//cdn.jsdelivr.net/npm/docsify@5/lib/docsify.min.js"></script>
</body>
</html>

方式 2:用 CLI 工具(适合长期项目)

如果你习惯命令行,全局安装docsify-cli:

bash

npm i docsify-cli -g

然后初始化项目:

bash

docsify init ./docs  # 在docs目录生成基础结构

执行docsify serve ./docs,浏览器访问http://localhost:3000,就能看到初始文档站。


2. 基础配置:让文档站 “有模有样”

docsify 的核心配置都在window.$docsify对象里,我们重点调整几个关键参数:

(1)封面页:让访客眼前一亮

启用coverpage: true后,新建_coverpage.md文件,内容可以是:

markdown

# 我的技术文档 <small>v1.0</small>

> 记录技术成长,分享实战经验

- 轻量 · 高效 · 易维护
- 适合个人项目/开源项目/团队知识库

[GitHub](https://github.com/你的仓库) [开始阅读](#/)

刷新页面,就能看到带渐变背景的封面页(默认随机背景,也可以自定义图片)。

(2)侧边栏:结构化文档导航

启用loadSidebar: '_sidebar.md'后,新建_sidebar.md,按 Markdown 列表写目录:

markdown

- [简介](/)
- [快速开始](quickstart.md)
- [进阶配置](config.md)
  - [主题定制](themes.md)
  - [插件开发](plugins.md)
- [常见问题](faq.md)

docsify 会自动根据侧边栏生成可折叠的导航菜单,点击链接直接跳转对应 Markdown 文件。

(3)导航栏:添加外部链接

如果需要顶部导航(列如项目官网、API 文档),启用loadNavbar: '_navbar.md',新建_navbar.md:

markdown

- [官网](https://your-site.com)
- [API文档](https://api.your-site.com)
- [社区](https://discord.gg/docsify)

三、进阶玩法:用插件和自定义让文档站 “开挂”

docsify 的灵魂在于插件系统,社区已经开发了上百个插件,覆盖搜索、代码高亮、评论、数学公式等场景。

1. 必装插件:提升文档体验

(1)本地搜索(search)

安装后,用户可以直接在文档站搜索内容。

html

<!-- 在index.html中添加 -->
<script src="//cdn.jsdelivr.net/npm/docsify@5/lib/plugins/search.min.js"></script>

默认支持全文搜索,还能通过配置调整搜索深度:

javascript

window.$docsify = {
  search: {
    maxAge: 86400000,  // 缓存1天
    paths: 'auto',  // 自动搜索所有页面
    placeholder: '输入关键词搜索...'
  }
}

(2)代码高亮(prismjs)

docsify 内置了 Prism.js,但需要手动启用语言支持。列如要高亮 Python 代码:

html

<!-- 引入Prism的Python语法文件 -->
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-python.min.js"></script>

在 Markdown 中写代码块时指定语言:

python

运行

def hello():
    print("Hello, docsify!")

(3)评论系统(Disqus)

如果需要读者互动,集成 Disqus 评论插件:

html

<script>
  window.$docsify = {
    disqus: '你的Disqus短名称'  // 注册Disqus获取
  }
</script>
<script src="//cdn.jsdelivr.net/npm/docsify@5/lib/plugins/disqus.min.js"></script>

2. 自定义 Markdown 渲染:满足特殊需求

docsify 用marked作为 Markdown 解析器,支持自定义渲染规则。列如,给所有链接添加target=”_blank”:

javascript

window.$docsify = {
  markdown: {
    renderer: {
      link(href, title, text) {
        // 原链接渲染逻辑
        const html = `<a href="${href}"${title ? ` title="${title}"` : ''}>${text}</a>`;
        // 如果是外部链接,添加target="_blank"
        if (!href.startsWith('/') && !href.startsWith('#')) {
          return html.replace('<a ', '<a target="_blank" ');
        }
        return html;
      }
    }
  }
}

3. 主题定制:从 “能用” 到 “好看”

docsify 提供了多个默认主题(vue、buble、dark 等),也支持自定义 CSS。
列如,修改主题色为橙色:

html

<style>
  :root {
    --theme-color: #ff6600;  /* 主色 */
    --sidebar-width: 280px;  /* 侧边栏宽度 */
  }
</style>

如果需要更复杂的样式,直接在index.html里引入自定义 CSS 文件即可。

29.4K:零构建 + 秒部署!5 分钟用 docsify 搭出高颜值技术文档站


四、部署上线:从本地到公网的 “最后一公里”

docsify 的部署极其简单,由于它本质上是静态网站(所有内容都是客户端渲染的)。常见的部署方式有 3 种:

1. GitHub Pages(最推荐)

  • 将文档站代码推送到 GitHub 仓库;
  • 进入仓库的Settings -> Pages,选择main分支的docs目录作为源;
  • 等待几分钟,就能通过https://你的用户名.github.io/仓库名访问。

2. 腾讯云 / 阿里云对象存储(OSS)

  • 上传所有文件到 OSS Bucket;
  • 开启静态网站托管,设置索引文件为index.html;
  • 绑定自定义域名(可选)。

3. Vercel/Netlify(适合持续集成)

  • 连接 GitHub 仓库到 Vercel;
  • 自动检测到静态文件后,一键部署;
  • 每次提交代码自动更新文档站。

五、避坑指南:这些问题我踩过,你不用

  1. 侧边栏不更新?
    检查_sidebar.md路径是否正确(默认是根目录),或手动清除浏览器缓存(Ctrl+F5强制刷新)。
  2. 图片无法显示?
    统一使用相对路径(如_media/logo.png),并将图片放在_media目录下(docsify 会自动处理)。
  3. 插件不生效?
    确认插件脚本在docsify.min.js之后引入,且版本兼容(列如 docsify5 需要匹配的插件版本)。
  4. 中文搜索乱码?
    确保index.html的charset设置为UTF-8,并检查 Markdown 文件编码(推荐用 UTF-8 无 BOM)。

结语:docsify 适合谁?

如果你是:

  • 个人开发者,想为自己的项目写文档;
  • 小团队成员,需要搭建内部知识库;
  • 开源项目维护者,希望文档站轻量易更新;

那么 docsify 会是你的 “文档神器”。它没有复杂的构建流程,没有冗长的配置文档,有的只是 “用 Markdown 写内容,剩下的交给我” 的纯粹。

从今天开始,告别繁琐的文档工具,用 docsify 享受写文档的乐趣吧!毕竟,好的文档,应该像代码一样简洁优雅

最重大的在最后:上连接

https://github.com/docsifyjs/docsify

感谢关注【AI码力】,工具提升效率!

© 版权声明

相关文章

9 条评论

  • 头像
    燃豆运营 读者

    hugo等,和这些有什么区别?

    无记录
    回复
  • 头像
    灵依墓地铃兰 投稿者

    和hexo这么像

    无记录
    回复
  • 头像
    _不喜欢大海的鱼_ 读者

    可以生成接口文档吗

    无记录
    回复
  • 头像
    呆小萌Yuumi 投稿者

    很棒

    无记录
    回复
  • 头像
    造型烫染总监 读者

    好的

    无记录
    回复
  • 头像
    王威 读者

    学习了,。

    无记录
    回复
  • 头像
    晓淋 读者

    很强,学习了🤙

    无记录
    回复
  • 头像
    ApureFlame_ 读者

    太强了💪

    无记录
    回复
  • 头像
    宝哥正能量分享 读者

    收藏了,感谢分享

    无记录
    回复