静的ブログジェネレータの選択肢は多いが、大抵は設定が複雑だったり、大量のテンプレートファイルを管理する必要がある。marmite は別のアプローチを試みる:ゼロ設定・単一ファイル・執筆そのものに集中する。

プロジェクト概要

属性内容
GitHubrochacbruno/marmite
Stars841
言語Rust
特徴ゼロ設定・単一バイナリ・Markdown ネイティブ対応
最終更新6日前

解決する問題

ブログ構築時によくある悩み:

  • 設定の複雑さ:始めるのに大量の YAML/TOML が必要
  • 依存関係の多さ:テーマ、プラグイン、ビルドチェーンが層になる
  • デプロイの面倒さ:ローカルビルドとリモートデプロイが不一致になりがち

marmite の考え方は:1つのバイナリファイル + Markdown ファイル = 完成したブログ。設定ファイルは不要で、ディレクトリ構造がそのまま約定になる。

主な機能

単一ファイルデプロイ

ツール全体が1つの実行ファイル。外部依存がなく、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