garden.ooo

ロゴ:永良新さんデザインのAratanaというフォントをベースにつくったロゴタイプ
baku89#iconが開発しているLocal-First な CMS。実績サイトにも、ナレッジベースにも、日記にも、有料コンテンツ配信にもつかうことができる。
garden.oooというURLそのものがシステム名であり、サービス名。このポートフォリオサイトや友人のWebサイトの構築に使いながら開発を続けている
旧名:Morion
要するに
- WikiベースのCMS
- ハイパーテキストの再発見
- カテゴリや投稿タイプという階層構造や、ブログや日記といったタイムライン構造に縛られた今日のWebから、WWW本来の網の目構造を取り戻す
- Local First
- 全情報はローカルにテキストファイルとして保存される
- データをクラウドに人質にとらない。むしろ、ローカルこそがsource of truthで、クラウドはそれをミラーする存在
- データの実体はただのテキストファイルだから、garden.ooo に限らず色んなシステムで編集したり開くことができる
- そしてオフラインでも動く
- ダダ漏れをアフォードする
- 相互運用性を大切にする
- Markdownに加えて、GitHub/Obsidian拡張構文をサポート
- MCP/APIもある
- それでも不足な場合は、カスタムパーサーが使える(たらいいな)
目次
garden/** 以下が garden.ooo のドキュメント一式。設計思想から実装詳細まで、人間にも AI エージェントにも読めるように書いている。コードを触る前に、少なくとも設計思想と情報設計には目を通しておくのがおすすめ。
まず読む
- 設計思想 — 階層性の否定、ローカル・ファースト、プレーンテキスト、ダダ漏れ、愚行権
- 思想的な背景 — ハイパーテキストの系譜、先行プロジェクト、Web の単線化と文脈崩壊
- 情報設計 — コンテンツパイプライン、識別子(path/uri/slug)、リンクとバックリンク、公開範囲、permanent / note page の区別
- garden.ooo ではないもの — 何をやらないかの線引き
実装の現状を把握する
- データアーキテクチャ — Local File / Local DB / Remote DB の役割と同期フロー
- ページスキーマ —
Page、frontmatter、RxDB ドキュメント形状 - レプリケーション — Remote DB との pull/push、conflict、soft delete
- 同期インテント・ジャーナル — vault 内
.garden/サイドカーと、それが防ぐ復活事故 - 開発ガイド — 技術スタック、ディレクトリ構成、開発時の入口
- ユースモード — 利用形態ごとの機能要件
- 可視性 —
public/garden/unlisted/protected/privateの振る舞い
フォーマットとページ表現
- Frontmatter — frontmatter の考え方と補足
- garden.ooo Markdownフォーマット — 本文の表現レイヤー
layout: html— 本文を単体の HTML 文書として出力するレイアウト- カスタムパーサー — 任意の軽量マークアップ言語を差し込む構想
- WYSIWYG — リッチエディタまわりのメモ
ユーザー向けドキュメント
- マニュアル — 利用者向けの入口
- サイトの使い方 — 編集 UI、ショートカット、操作方法
- Markdown 記法ガイド — Markdown、Wikilink、特殊ブロック、frontmatter
運用メモと周辺資料
- garden.ooo Devlog — 実装過程のログ
- 外部サービス認証情報セットアップ — GitHub OAuth / PAT、WordPress アプリケーションパスワードなどの設定メモ
- SKIYAKI / MONO NO AWARE 向け提案メモ — 会員基盤と配信体験を分離するための叩き台
- Webmention — Webmention まわりのメモ
- 料金 — 価格設計のメモ
- 移行 — 移行に関するメモ
- サイト再構築候補 — リニューアル対象サイトのメモ
- 既知のバグ候補 — バグ調査のメモ
- メモ — その他の断片的メモ