利用上の注意点
この CMS は便利ですが、「GitHub の Issue を原稿にする」「Quarto で実行・生成する」という性質から、いくつか気をつける点があります。ここでは重要度の高い順にまとめます。
① slug は必ずユニークに
slug が重複すると、後から処理される方の記事が スキップ(無視)されます。特に:
- Issue と Discussion の間でも重複 NG
- コピーして新規記事を作る際に slug の変更を忘れがち
slug: my-first-post # 使い回さない
slug: my-second-post # 一意に② YAML のコロン(:)に注意
値の中に :(コロン+スペース)を含むと YAML 解析エラーになります。
title: "Tutorial: 公開手順" # OK(引用符で囲む)
title: Tutorial: 公開手順 # NGtitle だけでなく excerpt も同様に注意してください。
③ 画像は「GitHub が発行する URL」のまま表示
この CMS は画像をローカルに保存せず、Issue に貼った画像の URL をそのまま使います。
- 長所: 仕組みがシンプル・ GitHub 仕様の変化に強い
- 短所: GitHub が画像を保持している間だけ有効(外部の Issue 等を消すと表示が切れる)
運用上は「画像を貼り直したら URL が変わる → 記事も更新が必要」という点だけ覚えておいてください。
④ コードを実行するとビルドが遅くなる
{python} や {r} のブロックは毎回(変更時は)実行されます。
- 重い計算・大きいデータは
#| cache: trueやfreeze: autoでキャッシュ - どうしても重い処理は「結果の図を画像で貼る」に切り替える手もある
- コードを含まない記事はビルド時間にほとんど影響なし
⑤ 反映まで数分かかる / 定期ビルドは遅延する
- GitHub Pages への反映は Actions 完了まで数分かかります
- 15分ごとの定期ビルドは GitHub 側の状況で遅延することがあります
- すぐ反映したいときは、Issue 編集 or ラベル変更、または Actions タブの
workflow_dispatch(手動実行)を利用
⑥ Discussions を使うには事前設定が必要
Discussion を原稿に使う場合:
- リポジトリの Settings > Features > Discussions を有効化する
- 投稿用のカテゴリ(例: blog)を用意する
- Issue 版だけであれば設定不要
⑦ コード実行環境(Python / R)
- Python: この CMS ではデフォルト有効。
requirements.txt(jupyter,numpy,pandas,matplotlib,seaborn,marimo)をビルド時にインストール - R: 既定ではオフ。使いたい場合は
.github/workflows/build.ymlのENABLE_Rをtrueに変更 - 使いたいパッケージが増えたら
requirements.txtに追記
⑧ category は1つ
category は1つだけ書けます(配列ではなく単一の値)。複数カテゴリで整理したい場合は tags を使いましょう。
まとめ
- 最低限守るのは slug の一意性と YAML の引用符
- 画像・ビルド時間・反映遅延は仕組み上の特性として理解しておく
- 細かいところは DEV-MEMO.md にもまとめてあります