惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cloudbric
Cloudbric
D
Docker
F
Fortinet All Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recent Announcements
Recent Announcements
月光博客
月光博客
B
Blog RSS Feed
Help Net Security
Help Net Security
L
LINUX DO - 最新话题
Recorded Future
Recorded Future
Stack Overflow Blog
Stack Overflow Blog
Webroot Blog
Webroot Blog
Y
Y Combinator Blog
N
News and Events Feed by Topic
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
I
InfoQ
Microsoft Azure Blog
Microsoft Azure Blog
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
美团技术团队
P
Privacy & Cybersecurity Law Blog
H
Help Net Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
酷 壳 – CoolShell
酷 壳 – CoolShell
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园 - 聂微东
Scott Helme
Scott Helme
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
The Hacker News
The Hacker News
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
G
GRAHAM CLULEY
S
SegmentFault 最新的问题
爱范儿
爱范儿
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
CXSECURITY Database RSS Feed - CXSecurity.com
D
DataBreaches.Net
博客园_首页
V
Vulnerabilities – Threatpost
PCI Perspectives
PCI Perspectives
S
Security @ Cisco Blogs
GbyAI
GbyAI
Schneier on Security
Schneier on Security
The Last Watchdog
The Last Watchdog
The Register - Security
The Register - Security
WordPress大学
WordPress大学
T
Tor Project blog
A
About on SuperTechFans
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org

博客园 - 一名程序媛呀

Anki插件开发必知必会:钩子函数与右键菜单定制 httpx 传参总报错?这次把 GET、POST、文件上传到响应处理的坑给你一次填平 从卡顿到丝滑:FastAPI 调用外部 API 的正确姿势(httpx 实战) 还在 XHR、Fetch 和 Axios 之间纠结?我踩过的坑,希望你一个都不用碰到 你的REST接口还在“过度投喂”数据吗?——FastAPI + GraphQL实战避坑指南 Uvicorn、Gunicorn 傻傻分不清?FastAPI 生产部署避坑指南 Termux里的二进制和脚本,到底怎么运行才不踩坑?Termux-service 保活妙招! 刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API 别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了 掏出手机就能搭个 WebDAV 同步服务器?这操作有点香 写爬虫时用了代理还被封?Python 代理的那些隐藏坑,我替你踩明白了 FastAPI 身份验证总踩坑?这份 FastAPI Users “避坑指南”请收好 旧手机别扔!用 Termux 搭个私人云盘,比网盘香多了 你的FastAPI又在服务器上“跑不起来”了?来,今天咱把打包这件事彻底聊透 写页面时别再把 Element Plus 整个搬进来啦!Vue3按需加载的坑我帮你踩平了 前端包管理咋选?我从npm叛逃到pnpm的血泪史(附避坑指南) 聊聊 fetch 使用中我踩过的那些坑和正确打开方式 FastApiAdmin 后端接口开发好了,前端管理界面怎么调用与显示? 给 FastApiAdmin 加个“会议纪要”模块,我把后端二次开发的坑踩了个遍 我用了FastApiAdmin后,连夜把踩过的坑都整理出来了 告别 Typora 后的新欢:我把所有笔记迁移到了 Obsidian 这个“第二大脑” 你的Agent API还在裸奔?从认证到沙箱,我用FastAPI搭了几道防线 让 FastAPI Agent 思考不阻塞:手把手教你实现异步任务与后台处理方案 让FastAPI Agent真正记住你:聊聊会话记忆与持久化存储的落地实践 FastAPI Agent 函数调用实战:我让 AI 学会了“自己动手查天气“ 初探:用 FastAPI 搭建你的第一个 AI Agent 接口 FastAPI 少有人提的实用技巧:把 Depends 依赖提到路由层,代码少写60% FastAPI 生产环境静态文件完全指南:从 /favicon.ico 404 到 HSTS 混合内容,一次全根治 用了loguru我才明白,Python日志还能这么写 FastAPI 后台任务:BackgroundTasks 的使用场景与注意事项 FastAPI配置管理避坑指南:从硬编码到 .env 与 pydantic_settings 类,连路由用法都给你捋清楚 FastAPI 文件上传避坑全指南:分块存盘、类型校验与安全兜底 FastAPI + Pydantic 模型终极实战手册:从能跑就行到固若金汤,这些技巧你一定用得上 FastAPI + SQLAlchemy 2.0 通用CRUD操作手册 —— 从同步到异步,一次讲透 FastAPI订单防超卖实战:从数据库锁到Saga分布式事务,这一篇给你理清了 FastAPI 生产环境避坑指南:用 Alembic 管理数据库迁移,别再手动改表结构了! FastAPI服务半夜又挂了?先别急着重启,查查你的数据库连接池“池子”是不是漏了 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 Vue 3 组合式 API 香是香,但从Vue2迁移时你可别像我当初一样踩进这 3 个深坑里 我用fastapi-scaff搭了个项目,两天工期缩到两小时,老板以为我开挂了 FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了! FastAPI自动生成的API文档太丑?我花了一晚上把它改成了客户愿意付费的样子 告别手写 API 胶水代码:FastAPI 与 Vue 的“契约自动机” OpenAPI 实战 FastAPI + Vue 前后端分离实战:我的项目结构“避坑指南” FastAPI + Celery 实战:异步任务里调用 Redis 和数据库的全解析,及生产级组织方案 FastAPI里玩转Redis和数据库的正确姿势,别让异步任务把你坑哭了! FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍 FastAPI子应用挂载:别再让root_path坑你一夜 FastAPI项目半夜报警吵醒你?聊聊告警这事儿怎么搞! 别再数据线了!用FastAPI 5分钟搭个局域网文件+剪贴板神器 FastAPI单元测试实战:别等上线被喷才后悔,TestClient用对了真香! FastAPI状态共享秘籍:别再让中间件、依赖和路由“各自为政”了! FastAPI实战:WebSocket vs Socket.IO,这回真给我整明白了! 从0到1,FastAPI + PostgreSQL + Tortoise ORM 实战避坑指南 FastAPI + PostgreSQL 实战:给应用装上“缓存”和“日志”翅膀 FastAPI + PostgreSQL 实战:从入门到不踩坑,一次讲透
别只盯着GitBook了!这个文档神器让你的笔记秒变网站
一名程序媛呀 · 2026-06-12 · via 博客园 - 一名程序媛呀

📚摘要:还在为团队文档维护头疼吗?本文带你认识一个极简却强大的文档神器docsify,无需编译、一个页面搞定一切。从安装配置到避坑指南,手把手教你搭建一个高颜值、易维护的知识库网站,让你的技术文档管理体验瞬间起飞。

💔 被文档工具折磨的你,需要喘口气

你是否也有过这样的经历?

兴冲冲写了几十篇技术文档,想搭个团队知识库。
打开 GitBook,一顿配置猛如虎,最后卡在编译报错上;
换用 VuePress,光是搭环境就折腾一下午,改个错别字还得重新 build
明明是写文档,怎么搞得像在做工程部署?

说实话,我有时候就在想,能不能有个东西,写完 Markdown 往那一放,刷新下浏览器就能看?
不需要编译、不需要构建、甚至连命令行都不用开几次?

这就是我第一次遇到 docsify 时的感受——原来写文档可以这么轻

🎯 本文能帮你解决什么

如果你也在找一款「开箱即用、维护省心、长得还不错」的文档工具,这篇文章就是为你准备的。

我会用最直白的方式,告诉你 docsify 好在哪、怎么装、怎么配,以及那几个我踩过的坑,帮你一天之内从零搭建出一个像样的文档站点。

👩‍💻我是爱折腾的一名程序媛,喜欢研究全栈开发的各种实践,热爱分享踩坑后的收获与思考,也享受用代码写出各种实用小工具解决问题的快乐。

如果你也在技术这条路上向前走,关注我,愿我们能彼此陪伴,一起成为更好的自己 🌱

🧭 主要内容脉络

🔹 一个让人崩溃的文档维护故事

🔹 docsify 到底是什么,它和 GitBook、VuePress 有什么不一样

🔹 从安装到发布,一条龙实战步骤

🔹 那些配置最实用,哪些坑最容易踩

🔹 什么时候该选它,什么时候该换别的

💡 一个让人崩溃的文档维护故事

之前的项目文档库,大都是需要编译的框架。
Node 版本不对,编译报错;依赖装不上,又报错;好不容易 build 成功,部署上去发现样式丢了。

很多次真的想把电脑合上去喝杯奶茶冷静一下。

很多文档工具的定位越来越偏向「网站生成器」,功能是强大了,但写文档这件事本身的体验反而被忽视了。

docsify 的设计哲学不太一样——它不生成静态 HTML,而是运行时直接把 Markdown 转成网页。这意味着你不用编译,写完就能看。

是不是以为这样性能会很差?其实还好,现代浏览器解析那点 JS 根本不算事儿,首屏加载体验完全够用。

🛠️ docsify 到底是个啥

打个生活化的比方:

GitBook 和 VuePress 像是你要装修房子,先画图纸、买材料、施工、验收,最后才能住进去。

docsify 则更像是搭帐篷,把架子撑起来,东西往里一放,立刻就能用。

它的核心原理很简单:

🔹 你写一堆 Markdown 文件放在项目里

🔹 一个 HTML 入口文件引入 docsify 的 JS 和 CSS

🔹 用户访问时,JS 动态拉取对应的 Markdown 并渲染成网页

这里面有个关键的文件 _sidebar.md,你只需要在里面列出文档标题和链接,侧边栏就自动生成了。
没有编译步骤,没有复杂的配置,改完文档提交代码就完事。

🚀 一条龙实战步骤

好,咱们直接动手。全程只需要三步,比泡一碗泡面还省事。

📦 第一步:全局安装 docsify-cli

npm i docsify-cli -g

装完后,你就能用 docsify 命令了。这里有一点要特别注意,如果你公司网络不好,npm 装全局包容易卡住,记得提前切好镜像源,不然第一关就劝退了。

🏗️ 第二步:初始化项目

docsify init ./docs

这个命令会在 docs 目录下生成三个文件:

🔹 index.html —— 入口文件,整个站点就靠它

🔹 README.md —— 首页内容,你想展示啥就写啥

🔹 .nojekyll —— 防止 GitHub Pages 忽略下划线开头的文件

接下来重点来了,你需要在 index.html 里加一个配置,开启侧边栏功能:

<script>

  window.$docsify = {

    loadSidebartrue,

    subMaxLevel2

  }

</script>

然后新建一个 _sidebar.md,里面写上你的文档目录结构。比如:

- [首页](/)

- [快速上手](quickstart.md)

- [API 文档](api.md)

  - [用户模块](api-user.md)

  - [订单模块](api-order.md)

保存,刷新浏览器,侧边栏就出来了。就这么简单。

👀 第三步:本地预览

docsify serve docs

打开 http://localhost:3000,你的文档网站就活生生摆在那了。改一个字保存,浏览器自动刷新,体验丝滑。

有一点提醒一下:

就是如果你没装 node 环境,或者不想安装模块,也可以很简单:

上面的命令行工具做的事,其实就是帮你生成那三个文件,我们自己手动建就好了,index.html里面把cssjs引入进来

还有一个就是拉起服务这块,测试的时候直接用VS Code里的Live Server就好,线上就NginxIIS了,
再不行就用python -m http.server 3000 也一样能起服务

⚠️ 常用配置与容易翻车的点

再说几个我实际项目里觉得最实用的配置。

侧边栏折叠

如果文档层级深,建议开启折叠,不然侧边栏长得能拉好几屏。

<script>

  window.$docsify = {

    loadSidebartrue,

    subMaxLevel2,

    sidebarDisplayLevel1

  }

</script>

全文搜索

docsify 内置了搜索插件,只需加一行:

<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>

官方文档虽然这么说,但根据以往的经验,线上环境最好把 CDN 资源下载到本地项目里,否则哪天 CDN 挂了你的搜索就跟着挂了,这种锅背过一次就够了。

封面页

如果你想让网站有个漂亮的首页,新建 _coverpage.md,然后在配置里开启 coverpage: true

封面页会覆盖 README.md 成为首页,记得把 README 的内容挪过去。

还有一个特别容易翻车的点

侧边栏文件名必须是 _sidebar.md,而且是放在文档根目录,不是你随便起个名就能识别

我见过不少新手卡在这一步,反复检查配置发现没啥问题,最后发现是文件名写错了。

工具的选择上,我认为顺手的才是最好的,但名字一定得写对。

🤔 什么时候该选它,什么时候该换

docsify 不是万能的,它有自己最适合的场景。

适合用 docsify 的情况

🔹 团队内部文档、知识库,追求快速搭建和低维护成本

🔹 个人技术博客或笔记库,内容以 Markdown 为主

🔹 产品手册、API 文档,不需要复杂的自定义主题

不太适合的情况

🔹 需要 SEO 的对外站点,因为 docsify 是 JS 动态渲染,搜索引擎抓取能力弱

🔹 需要高度自定义主题和布局的场景,它的插件生态不如 VuePress 丰富

🔹 文档量巨大且对首屏加载速度有极致要求

你可能会问,那 VuePress 和 docsify 到底怎么选?

我的建议很简单:如果你的文档是给人看的,选 docsify;如果是给搜索引擎看的,选 VuePress
就这么粗暴,但管用。

💬 最后聊两句

写文档这件事,工具永远不是主角,内容才是。
docsify 最大的价值,是让你把精力从折腾构建流程上抽回来,真正花在写东西上。它简单到让人几乎忘了它的存在,这恰恰是最好的工具应该有的样子。

是不是以为这样就 Ok 了?其实还差一步——现在就去试试😊。
花十分钟搭起来,把一个项目的文档丢进去跑跑看,你大概率会跟我一样,有种相见恨晚的感觉。

如果这篇文章帮你省了折腾时间,别忘了点个赞让更多人看到。有问题欢迎留言,我有空都会回。毕竟程序媛最懂程序员们的痛。