sY.zhang.
项目

Markdrive

进行中

一个把 Markdown 文件夹当数据库的极简 CMS。无后端、零配置、Git 即工作流。

Markdrive

是什么

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

  1. 写 Markdown 比 Notion 后台舒服(对我来说)
  2. 数据在自己 Git 仓库里,不依赖第三方
  3. 想加交互组件直接 MDX import React 组件就行

不是说要替代 CMS,而是给「不想要 CMS 后台的开发者」一个选择。

路线图

  • Content Collections 类型安全
  • 标签、归档、分页
  • 暗色模式
  • 全文搜索(Pagefind 集成)
  • OG 图自动生成
  • 评论系统集成(Giscus)