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
authorandnewswith
- Instead of creating distinct post types like
- 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.
- Trust plain text.
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
- Parsing Obsidian-specific syntax in Nuxt Content


