Markdrive
进行中一个把 Markdown 文件夹当数据库的极简 CMS。无后端、零配置、Git 即工作流。
是什么
Markdrive 是一个把 Markdown 文件夹当成「数据库」的极简 CMS。
不需要数据库、不需要 CMS 后台、不需要 GraphQL —— 你只要往 content/ 里扔 Markdown 文件,网站就有了。
解决什么问题
我自己有十几个小项目,每个都想要:
- 一个文档站
- 一个更新日志页
- 一个博客区
如果每个都接一个 CMS,太重了。如果都手写 HTML,太累。
Markdrive 把这些都收敛到「写 Markdown」这一件事上。文件夹结构即路由,frontmatter 即数据库 schema。
怎么用
npm install markdrive
npx markdrive init
生成的项目结构:
content/
├── docs/
│ ├── getting-started.md
│ └── api.md
├── changelog/
│ └── 2024-09-15.mdx
└── blog/
└── hello-world.mdx
每个文件夹自动生成对应路由。frontmatter 写错了会构建时报错。
设计选择
- 零运行时 JS:默认产物只有 HTML + CSS
- 可观测:每个页面有
?debug=1参数,可以看到 frontmatter、依赖图 - 可逃离:任何时候
markdrive eject把模板拷出来,自由改
为什么不用 Notion / Contentful
- 写 Markdown 比 Notion 后台舒服(对我来说)
- 数据在自己 Git 仓库里,不依赖第三方
- 想加交互组件直接 MDX import React 组件就行
不是说要替代 CMS,而是给「不想要 CMS 后台的开发者」一个选择。
路线图
- Content Collections 类型安全
- 标签、归档、分页
- 暗色模式
- 全文搜索(Pagefind 集成)
- OG 图自动生成
- 评论系统集成(Giscus)