Baku Hashimoto

CMSを自作して得た教訓

Agentic codingの普及で、CMS自作がこれから普通になってくると思う。その一助になればと思って書いた。CC0ですので、ご自由にプロンプトにお使いください

garden.oooをつくるなかで、学んだこと:

  1. ページ本文やメタデータは全て単一のスキームに統一する
    • カスタム投稿タイプだとかを作らない。日記、作品、CVといった固定ページなどをなるたけ包摂できる、汎用的なスキームを用意する
  2. タグやカテゴリをただのページとして扱う。分類する専用の概念として別立てしない
    • 「ページAからBにリンクが貼られていること」を、「ページAはBというカテゴリに属する」と解釈する
    • カテゴリやタグは特殊なリンクの仕方として扱ってみる。本文リンクの代わりにcategoriestagsといったメタデータにページURLを入力できるようにする、とか
  3. プレーンテキストで表せる軽量マークアップ言語を単一のソース源とする
    • Markdownとか。その際、かならずHTMLそのものを触れるようにしておく1
      • React/JSX圏ならMDX、Vue.js勢ならMDC
    • エディタまでを頑張って開発しなくても済むようになる。Obsidianのvaultをそのままソースにするのが楽。Obsidianを編集につかえるから
    • あとはLLMとの相性もいい
  4. フォルダ整理をしない
  5. Trailing slash(ページ末尾のスラッシュ)の有無を区別できるようにする
    • xxx.mdexample.com/xxx
    • xxx/index.mdexample.com/xxx/
    • のようにURLをマッピングする。ディレクトリごとに git submodule を分けたいときなどに便利

関連

Some Rights Reserved. (cc) 2026 Baku Hashimoto
This site is generated by Garden.ooo