docmd 体验:不用 React、零配置,从 Markdown 秒生成产品级文档站
docmd 是一个 1.4k 星的 TypeScript 文档生成工具,主打'No React, no bloat, just content'。试了一下,确实能在几秒内把一个 Markdown 文件变成漂亮的产品文档站。
广告
docmd 体验:不用 React、零配置,从 Markdown 秒生成产品级文档站
写文档这件事,工具选择一直是个权衡。Docusaurus、VitePress 这些功能很全,但配置起来不轻量;GitBook、Notion 这些在线工具方便,但托管在别人家,自定义空间有限;直接用 HTML 写吧,又太原始。
最近发现了 docmd,一个主打”No React, no bloat, just content”的文档生成工具,1.4k 星,TypeScript 写的。宣传语说”几秒钟从 Markdown 生成产品级文档”,我试了一下,基本属实。
它解决什么问题
docmd 的定位很清晰:你只管写 Markdown,剩下的交给它。
不需要配置 webpack、不需要写 React 组件、不需要调主题 CSS,甚至连 node_modules 都不需要(单文件执行)。一个 Markdown 文件丢给它,出来就是一个可以直接部署的文档站点。
这个定位击中了很多人的痛点——尤其是那些”我就想写个 README 级别的文档,不想搭一套文档工程”的场景。
核心功能体验
零配置启动
最吸引我的点。npx docmd README.md 就能生成一个完整的文档站。不需要 docmd.config.js,不需要 _sidebar.md,不需要任何前置配置。默认样式已经挺好看的了,排版、代码高亮、导航都齐。
主题系统
虽然主打零配置,但它还是提供了主题支持。内置了几套主题(light、dark、slate 等),通过 --theme 参数切换。主题不是简单的颜色变化,而是整体的视觉风格调整,包括字体搭配、间距节奏、边框处理等。我试了下 slate 主题,质感不错。
插件扩展 有个简单的插件系统,可以扩展 Markdown 的渲染行为。比如我装了一个 mermaid 插件,文档里的 mermaid 代码块就能直接渲染成流程图。插件是 npm 包形式,安装即用。
容器支持
官方提供了 Docker 镜像,一行命令就能跑起来:docker run -v $(pwd):/docs docmd/docmd README.md。对 CI/CD 集成很友好,GitHub Actions 里直接调容器就能生成并部署文档。
搜索功能 生成的站点自带全文搜索,基于页内内容的实时索引。搜索框在右上角,输入关键词就能快速定位到相关段落。不需要接入 Algolia 这些第三方服务,开箱即用。
实际使用场景
场景一:快速搭产品文档 我们小团队做了个内部工具,需要一个简单的使用说明页面。用 docmd 把写好的 README 转了一下,加了个自定义域名,十分钟搞定。比用 Notion 公开页面专业,比搭 Docusaurus 省事。
场景二:API 文档 配合一些 API 文档生成工具(比如从 OpenAPI spec 生成 Markdown),再用 docmd 转成站点。整个链路很顺畅,最终效果也够用。当然如果是大型 API 平台,可能还是得用 Swagger UI 或者专门的 API 文档平台。
场景三:个人知识库 把零散的技术笔记 Markdown 文件用 docmd 串成一个站点,本地或者 VPS 上部署一下。比用 Obsidian Publish 便宜(免费),比用 Hexo/Hugo 简单。
快速上手
# 单文件生成(最简方式)
npx docmd README.md
# 指定输出目录
npx docmd docs/ --output dist/
# 切换主题
npx docmd README.md --theme dark
# 使用插件(以 mermaid 为例)
npm install docmd-plugin-mermaid
npx docmd README.md --plugins mermaid
# Docker 方式
docker run -v $(pwd):/docs docmd/docmd README.md
优点和槽点
真香的点:
- 零配置启动不是噱头,确实一条命令就能跑
- 默认样式已经挺好看,不是那种”能用但丑”的默认主题
- 单文件执行(npx 直接跑),不用初始化项目、不用装依赖
- 生成的站点是纯静态 HTML,部署到任何地方都行
- 插件系统设计得挺克制,核心功能不臃肿
想吐槽的地方:
- 1.4k 星还是个小项目,生态和插件数量远不及 Docusaurus/VitePress
- 多语言支持比较基础,没有内置的 i18n 方案
- 自定义主题需要写 CSS,没有 Docusaurus 那种组件级覆盖机制
- 导航结构基于文件目录,对复杂层级文档的支持有限
- 没有内置的版本管理(多版本文档),对 SDK 文档来说是个硬伤
和类似工具怎么选
| 工具 | 优点 | 缺点 | 适合场景 |
|---|---|---|---|
| docmd | 极简、零配置、快速 | 功能相对少、生态小 | 轻量文档、快速启动 |
| Docusaurus | 功能全、生态大、可扩展 | 配置复杂、依赖重 | 大型项目文档、复杂需求 |
| VitePress | 性能好、Vue 生态 | 需要配置、需要懂 Vue | Vue 项目文档、技术博客 |
| GitBook | 在线编辑、协作方便 | 托管在第三方、费用高 | 团队协作文档、非技术团队 |
我的建议是:如果你只是想快速搭一个干净的产品文档站,不想折腾配置,docmd 是个很好的选择。如果你的文档需求复杂(多版本、多语言、深度定制),还是得用 Docusaurus 或 VitePress。
总结
docmd 是那种”小而美”的工具,1.4k 星说明它找到了自己的用户群体。它不试图和 Docusaurus 竞争功能丰富度,而是把”从 Markdown 到文档站”这个链路做到了极致的简单和快速。
对于独立开发者、小团队、或者临时需要个文档页面的场景来说,docmd 省下的时间可能比它缺失的那些高级功能更有价值。毕竟很多时候,我们需要的不是一个文档平台,只是想让写好的 Markdown 好看一点而已。
关于作者
柳钉鱼,全栈开发者,GitHub 重度用户。过去 3 年 Star 了 900+ 仓库,这里只写我真正用过或深度调研过的工具。
📧 发现好工具想推荐?发邮件到 [email protected]
广告