Obsidian

ローカルの Markdown ファイル群の上で動く個人向けの PKM(Personal Knowledge Management)アプリ。“A second brain, for you, forever.” を標榜する。2022年初頭に Notion から乗り換え、ライフログ・論文メモ・勤務中メモ・記事執筆をすべて一元化した。データは単なる Markdown なので可搬性が高い。

設計思想

  • バックリンク: [[ノート名]] でリンクを張ると、被リンク側に逆参照が自動で現れる。Scrapbox の 2-hop link に相当し、知識をグラフとして扱える。
  • 文章は1次元的だが知識は本来グラフ。ある概念の説明には下位の前提知識が必要で、理想的には DAG だが、相互言及でサイクルが発生する。どちらが上位かを判定できればサイクルは解消できる(→ zettelkasten)。
  • ソースコードと同じく単一責任の原則を意識し、ノートが肥大化したら分割する。タグは検索用のメタ情報として構造化して付ける。
  • ライフログは更新され続けるので Evergreen note ではない、という運用上の区別。

プラグイン

  • DataView: クエリでノートを集計。タグ付き記事一覧 (table title from #xxx)、孤立ノート抽出(inlinks/outlinks がともに 0)などに使う。
  • jump-to-link / another-quick-switcher / pane-relief など Vim 的なキーボード操作系(keyboard-driven-workflow)。
  • Self-hosted LiveSync を fly.io 等でホストして同期。
  • Canvas: ホワイトボード的にノートを配置し矢印で関連を示せる。保存形式 JSON Canvas は OSS 化された。長年求めていたアウトライン作成手段。

関連エコシステム

  • obsidian-export: vault を通常 Markdown に変換する rust-lang 製 CLI。
  • remark-wiki-link: remark 用 wikilink パーサ。
  • PDF 化の課題: 相互リンク文書を一列に並べたいが循環参照でトポロジカルソートできない。参照数の多い親ノードと被参照ノードの辺を切って循環解消を試みる(が新たな循環が出る問題が残る)。

scrapbox / knowledge-organization と比較される。ナビ: _moc-misc-tool