[marmite]最も簡単なブログの作り方
静的サイト作るの煩雑すぎ問題
Static Site Generator(SSG)でブログを作成しようと思うと、やることが多すぎます。
SSGのリストを見てみると、どれも初心者に対してあまり優しくないように感じます。初見殺しの罠が多すぎて投げ出してしまう人もいるのではないでしょうか?
ちゃんと調べればいいじゃないか、知識が足りていないだけなんじゃないか、という正論もありますが、ブログを作るだけなのにCI/CDパイプラインを構築して自動的に変更内容がデプロイされるようにする、といったことをやりたいでしょうか?やりたくはないですが現実問題やることになります。
ブログを更新してあとはボタンを押せば更新完了♪、、、すればよいのですが現代のWebサイトはそんなにシンプルではありません。
それでも楽にブログを作る方法はないかなーと探していたら、ありました。
最もシンプルなSSG -> marmite
marmiteは最もシンプルに静的サイトを作成できるSSGです。ほかの複雑化したSSGとは違って難解な設定ファイルはありません。大量のファイルが生成されるわけでもありません。高度にカスタマイズできるテーマを扱う必要もありません。
やることは
- markdownファイルにブログの内容を書く
- 以下のコマンドを実行する
> marmite content site
だけです。もう出来上がりです。
詳しい手順はこちらにあります。
次に作ったブログをホスティングしましょう。
Github Pagesでホスティング
github pagesであれば無料でホスティングができます。
設定を間違わなければ、5分くらいで終わります。
手順
- localのリポジトリをリモートに送る
- 設定のgithub pagesの場所(settings/pages)で、Build and DeploymentのsourceをDeploy from branchからgithub actionsに変更
- 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
- 変更内容をコミットする
あとはGithub Actionsが自動的にデプロイ作業をしてくれます。問題なくworkflowが完了すれば、設定のGithub Pages(settings/pages)のところにあるURLからブログにアクセスできます。
詳しい手順はこちらです。
テーマには期待しない
簡単に作れるとなれば開発の幅は狭くなります。テーマを高度にカスタマイズしたいという人には不向きです。でもやっぱりすぐ作れるのはいいですね。
Discussion