📑

[marmite]最も簡単なブログの作り方

2025/03/17に公開

静的サイト作るの煩雑すぎ問題

Static Site Generator(SSG)でブログを作成しようと思うと、やることが多すぎます。
SSGのリストを見てみると、どれも初心者に対してあまり優しくないように感じます。初見殺しの罠が多すぎて投げ出してしまう人もいるのではないでしょうか?
ちゃんと調べればいいじゃないか、知識が足りていないだけなんじゃないか、という正論もありますが、ブログを作るだけなのにCI/CDパイプラインを構築して自動的に変更内容がデプロイされるようにする、といったことをやりたいでしょうか?やりたくはないですが現実問題やることになります。
ブログを更新してあとはボタンを押せば更新完了♪、、、すればよいのですが現代のWebサイトはそんなにシンプルではありません。
それでも楽にブログを作る方法はないかなーと探していたら、ありました。

最もシンプルなSSG -> marmite

marmiteは最もシンプルに静的サイトを作成できるSSGです。ほかの複雑化したSSGとは違って難解な設定ファイルはありません。大量のファイルが生成されるわけでもありません。高度にカスタマイズできるテーマを扱う必要もありません。
やることは

  1. markdownファイルにブログの内容を書く
  2. 以下のコマンドを実行する
> marmite content site

だけです。もう出来上がりです。
詳しい手順はこちらにあります。
次に作ったブログをホスティングしましょう。

Github Pagesでホスティング

github pagesであれば無料でホスティングができます。
設定を間違わなければ、5分くらいで終わります。

手順

  1. localのリポジトリをリモートに送る
  2. 設定のgithub pagesの場所(settings/pages)で、Build and DeploymentのsourceをDeploy from branchからgithub actionsに変更
  3. marmite.yamlファイルに以下の内容をコピペする
name: GH Pages Deploy

on:
  push:
    branches: [main]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
  contents: read
  pages: write
  id-token: write

concurrency:
  group: "pages"
  cancel-in-progress: false

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout 🛎
        uses: actions/checkout@v4

      - name: Install marmite 🫙
        run: cargo install marmite

      - name: Build site 🏗️
        run: marmite . site --debug

      - name: Setup Pages
        uses: actions/configure-pages@v5

      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: 'site'

      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4
  1. 変更内容をコミットする

あとはGithub Actionsが自動的にデプロイ作業をしてくれます。問題なくworkflowが完了すれば、設定のGithub Pages(settings/pages)のところにあるURLからブログにアクセスできます。
詳しい手順はこちらです。

テーマには期待しない

簡単に作れるとなれば開発の幅は狭くなります。テーマを高度にカスタマイズしたいという人には不向きです。でもやっぱりすぐ作れるのはいいですね。

Discussion