garden.ooo


ロゴ:永良新さんデザインのAratanaというフォントをベースにつくったロゴタイプ

baku89#iconが開発しているLocal-First な CMS。実績サイトにも、ナレッジベースにも、日記にも、有料コンテンツ配信にもつかうことができる。

garden.oooというURLそのものがシステム名であり、サービス名。このポートフォリオサイトや友人のWebサイトの構築に使いながら開発を続けている

旧名:Morion

要するに

  1. WikiベースのCMS
    • ハイパーテキストの再発見
    • カテゴリや投稿タイプという階層構造や、ブログや日記といったタイムライン構造に縛られた今日のWebから、WWW本来の網の目構造を取り戻す
  2. Local First
    • 全情報はローカルにテキストファイルとして保存される
    • データをクラウドに人質にとらない。むしろ、ローカルこそがsource of truthで、クラウドはそれをミラーする存在
    • データの実体はただのテキストファイルだから、garden.ooo に限らず色んなシステムで編集したり開くことができる
    • そしてオフラインでも動く
  3. ダダ漏れをアフォードする
    • よそ向けの文章から私的なメモまで、色んなものを安心して綯い交ぜに載せておけるシステム
    • 公開範囲を細かく設定できる
    • 完成概念をガバガバにする。公開したっきりじゃなくて、同じページを何度も手入れし続けられる
  4. 相互運用性を大切にする

目次

garden/** 以下が garden.ooo のドキュメント一式。設計思想から実装詳細まで、人間にも AI エージェントにも読めるように書いている。コードを触る前に、少なくとも設計思想情報設計には目を通しておくのがおすすめ。

まず読む

  1. 設計思想 — 階層性の否定、ローカル・ファースト、プレーンテキスト、ダダ漏れ、愚行権
  2. 思想的な背景 — ハイパーテキストの系譜、先行プロジェクト、Web の単線化と文脈崩壊
  3. 情報設計 — コンテンツパイプライン、識別子(path/uri/slug)、リンクとバックリンク、公開範囲、permanent / note page の区別
  4. garden.ooo ではないもの — 何をやらないかの線引き

実装の現状を把握する

  1. データアーキテクチャ — Local File / Local DB / Remote DB の役割と同期フロー
  2. ページスキーマPage、frontmatter、RxDB ドキュメント形状
  3. レプリケーション — Remote DB との pull/push、conflict、soft delete
  4. 同期インテント・ジャーナル — vault 内 .garden/ サイドカーと、それが防ぐ復活事故
  5. 開発ガイド — 技術スタック、ディレクトリ構成、開発時の入口
  6. ユースモード — 利用形態ごとの機能要件
  7. 可視性public / garden / unlisted / protected / private の振る舞い

フォーマットとページ表現

  1. Frontmatter — frontmatter の考え方と補足
  2. garden.ooo Markdownフォーマット — 本文の表現レイヤー
  3. layout: html — 本文を単体の HTML 文書として出力するレイアウト
  4. カスタムパーサー — 任意の軽量マークアップ言語を差し込む構想
  5. WYSIWYG — リッチエディタまわりのメモ

ユーザー向けドキュメント

  1. マニュアル — 利用者向けの入口
  2. サイトの使い方 — 編集 UI、ショートカット、操作方法
  3. Markdown 記法ガイド — Markdown、Wikilink、特殊ブロック、frontmatter

運用メモと周辺資料

  1. garden.ooo Devlog — 実装過程のログ
  2. 外部サービス認証情報セットアップ — GitHub OAuth / PAT、WordPress アプリケーションパスワードなどの設定メモ
  3. SKIYAKI / MONO NO AWARE 向け提案メモ — 会員基盤と配信体験を分離するための叩き台
  4. Webmention — Webmention まわりのメモ
  5. 料金 — 価格設計のメモ
  6. 移行 — 移行に関するメモ
  7. サイト再構築候補 — リニューアル対象サイトのメモ
  8. 既知のバグ候補 — バグ調査のメモ
  9. メモ — その他の断片的メモ