静态博客生成器的选择很多,但大多数要么配置复杂,要么需要维护大量模板文件。marmite 尝试走另一条路:零配置、单文件、专注写作本身。

项目概览

属性内容
GitHubrochacbruno/marmite
Stars841
语言Rust
特点零配置、单二进制文件、Markdown 原生支持
最后更新6天前

它解决了什么问题

搭建博客时,常见的痛点包括:

  • 配置复杂:需要写大量 YAML/TOML 才能开始
  • 依赖过多:主题、插件、构建链层层依赖
  • 部署繁琐:本地构建和远程部署经常不一致

marmite 的思路是:一个二进制文件 + Markdown 文件 = 完整博客。不需要配置文件,目录结构即约定。

核心特性

单文件部署

整个工具就是一个可执行文件,无外部依赖。下载即用,适合各种 CI/CD 场景。

目录即内容

my-blog/
├── content/          # Markdown 文件放这里
│   ├── hello-world.md
│   └── another-post.md
└── marmite          # 可执行文件

运行 ./marmite content output 即可生成静态站点。

内置功能完备

  • RSS/Atom 订阅自动生成
  • 标签云和归档页面
  • 代码高亮
  • 图片懒加载
  • Open Graph 元标签
  • 暗色/亮色模式切换

不需要安装插件,这些都是默认行为。

主题可扩展

虽然不强制使用主题,但可以通过模板目录覆盖默认样式。支持 Tera 模板引擎,熟悉 Jinja2 的开发者上手很快。

快速开始

# 下载(Linux/macOS)
curl -L -o marmite https://github.com/rochacbruno/marmite/releases/latest/download/marmite-x86_64-unknown-linux-gnu
chmod +x marmite

# 创建博客
mkdir my-blog && cd my-blog
mkdir content
echo "# Hello World" > content/hello.md

# 生成站点
./marmite content output --serve

访问 http://localhost:8080 即可预览。

与其他工具对比

工具Stars特点
Hugo78k速度极快,功能全面,但配置复杂
Zola17kRust 实现,功能丰富,需要配置文件
Jekyll49kGitHub Pages 原生支持,依赖 Ruby
marmite841零配置,单文件,专注博客场景

Hugo 和 Zola 更适合复杂站点,marmite 适合只想写 Markdown 的人。

适用场景

  • 个人博客/技术笔记
  • 项目文档
  • 快速搭建临时展示页面
  • 希望减少维护负担的内容站点

注意事项

  • 项目较新(2024年10月创建),API 可能有变动
  • AGPL-3.0 协议,商用需注意
  • 主题生态尚未成熟,需要深度定制可能要自己写模板

总结

marmite 不试图解决所有问题,而是专注做好一件事:把 Markdown 变成博客。如果你厌倦了维护博客系统的配置和依赖,它值得一试。


属性内容
仓库https://github.com/rochacbruno/marmite
许可证AGPL-3.0
语言Rust
维护者@rochacbruno