橋本 Hashimoto   Baku

橋本 Hashimoto   Baku

Principles for Digital Gardening (Scratchpad)

This page is a personal scratchpad.

I want to consolidate all of my notes and portfolio into a single homepage by the end of 2025.
From there, I’m thinking through a set of principles to implement Digital Gardening in some sort of CMS system much more concretely.

Principles and Their Design Implications

  • Don’t trust classification -- 分類を信じない
    • Place all pages directly under the root
    • Don’t distinguish between content and taxonomy.
      • “Linking to A” ⇔ “Belongs to A” is treated as equivalent
    • Use a single post type.
      • Instead of creating distinct post types like author and news with
    • Abandon the idea of completion -- 完成概念を捨てる
      • Pages are to be continually updated.
      • Avoid using chronological timelines unless explicitly written as a diary
  • Make it permanent -- 永続的にする
    • Trust plain text.
      • HTML or Markdown will likely outlast proprietrary services like Newt or MicroCMS, even if they allow much richer and intuitive experience for writing
    • Make it Wayback-Machine-friendly.
      • SEOのためではなく、Wayback Machneに適切にクロールされるためにServer-Side Generationする
    • Secure a domain at least for a decade.
    • Ensure URLs remain persistent.

Page Status

  • published: true: パーマリンクが固定され、バージョン管理がなされている状態。引用することができる
    • 論文におけるIn Proceedings の概念。一度掲載されたものは、DOIが付与され、内容が改ざんされることなく、本人の意志を問わず永続的に公開され続ける
  • published: false: 公開されず、書いた本人にしか見れない
  • draft: 無責任なメモ書き。デフォルトの状態。公開されてはいるが、随時内容が変わる可能性があり、かつアーカイブもされない

とすると published | draft | private のほうが良くない?

Page Visibility Settings

  • sage: 一覧表示はされないが、リンクをたどることで到達することは出来る
  • unlisted: URLを知らない人にしか見れないページ。URL末尾にパスワード代わりのハッシュが付く。baku89.com/the-post-name/aif9d38xe21 のように
  • protected: GitHub Sponsor, Patoreon等、何らかのメンバーシップによる認証を必須とする
  • パスワード付きのページは要らない。
type PageAttribute = {
  title: string | {ja?: string; en?: string}
  date: string
  published: boolean
  draft: boolean
  restrict: 'sage' | 'unlisted' | 'protected'
}

メモとWikiとCMSを兼ね備えたデジタルを今年中に整えたい

  • 欲しい
    • ObsidianのようなLocal-first性
    • CosenseのようなCRDTベース?の共同編集(あまり必須じゃない
    • Nuxt ContentのようなMarkdown + 拡張構文(MDC)
  • どうしたい?
    • 現状のポートフォリオなどのコンテンツを全部そっちに移す
    • 画像やCVなどもそちらに

実装

  • Wordpress + WPGraphQL
  • Xserverで(あんまり褒められた使い方じゃないけど)Node.js/Nitroを走らせる
  • HyperMDを使う?
  • Milkdown looks much more modern and still maintained

メモ

Nuxt ContentのqueryContent()あたりで、REST APIらしきものは実装できる
Vault全体をgitで管理するのもいいが、そうなるとモバイルでの編集性が悪くなる

https://github.com/vrtmrz/obsidian-livesync?tab=readme-ov-file