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

作为开发者,写文档的痛苦我太懂了:
用 Word?版本管理混乱,协作全靠 “文件另存为”;
用 GitBook?每次更新都要重新构建静态文件,本地调试像等快递;
用 VuePress?配置复杂到要看半本手册,新手分分钟劝退……直到遇到docsify—— 这个能把 Markdown 文件直接 “变” 成网站的神奇工具,彻底治好了我的 “文档恐惧症”。本文将从 0 到 1 带你实战搭建一个高颜值文档站,揭秘它的 “丝滑” 秘诀。
一、为什么选 docsify?先看痛点解决
在正式动手前,先明确 docsify 的核心优势:轻量、灵活、零构建。
传统文档工具的痛点,它一一击破:
- 无需构建:不生成静态 HTML,直接读取 Markdown 文件渲染,改完文档刷新页面就能看效果;
- 开箱即用:一个 HTML 文件 + 几个 Markdown 就能启动,连 Node 环境都不用装(当然装了 CLI 更方便);
- 高度可扩展:支持插件系统,搜索、评论、代码高亮等功能一键集成;
- 轻量化:核心库只有 20KB 左右,加载速度比传统工具快 3-5 倍。
简单来说,它是 “能用 Markdown 就别折腾” 的极客哲学产物。

二、实战第一步: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 文件即可。

四、部署上线:从本地到公网的 “最后一公里”
docsify 的部署极其简单,由于它本质上是静态网站(所有内容都是客户端渲染的)。常见的部署方式有 3 种:
1. GitHub Pages(最推荐)
- 将文档站代码推送到 GitHub 仓库;
- 进入仓库的Settings -> Pages,选择main分支的docs目录作为源;
- 等待几分钟,就能通过https://你的用户名.github.io/仓库名访问。
2. 腾讯云 / 阿里云对象存储(OSS)
- 上传所有文件到 OSS Bucket;
- 开启静态网站托管,设置索引文件为index.html;
- 绑定自定义域名(可选)。
3. Vercel/Netlify(适合持续集成)
- 连接 GitHub 仓库到 Vercel;
- 自动检测到静态文件后,一键部署;
- 每次提交代码自动更新文档站。
五、避坑指南:这些问题我踩过,你不用
- 侧边栏不更新?
检查_sidebar.md路径是否正确(默认是根目录),或手动清除浏览器缓存(Ctrl+F5强制刷新)。 - 图片无法显示?
统一使用相对路径(如_media/logo.png),并将图片放在_media目录下(docsify 会自动处理)。 - 插件不生效?
确认插件脚本在docsify.min.js之后引入,且版本兼容(列如 docsify5 需要匹配的插件版本)。 - 中文搜索乱码?
确保index.html的charset设置为UTF-8,并检查 Markdown 文件编码(推荐用 UTF-8 无 BOM)。
结语:docsify 适合谁?
如果你是:
- 个人开发者,想为自己的项目写文档;
- 小团队成员,需要搭建内部知识库;
- 开源项目维护者,希望文档站轻量易更新;
那么 docsify 会是你的 “文档神器”。它没有复杂的构建流程,没有冗长的配置文档,有的只是 “用 Markdown 写内容,剩下的交给我” 的纯粹。
从今天开始,告别繁琐的文档工具,用 docsify 享受写文档的乐趣吧!毕竟,好的文档,应该像代码一样简洁优雅。
最重大的在最后:上连接
https://github.com/docsifyjs/docsify
感谢关注【AI码力】,工具提升效率!

hugo等,和这些有什么区别?
和hexo这么像
可以生成接口文档吗
很棒
好的
学习了,。
很强,学习了🤙
太强了💪
收藏了,感谢分享