このサイトについて
このサイトには、Obsidianに書くメモのうち、外に出してもよさそうなものを置いている。映画や本の感想もあれば、Linuxの設定についての記録もある。ある程度まとまった文章に限らず、短いメモや書きかけのものも含まれる。
公開後も、気が向いたときに続きを書いたり、直したりする。デジタルガーデンという言葉を使っているのは、このような置き方に近いと考えているからである。
公開の仕組み
ノートはObsidianでMarkdownファイルとして書く。公開するノートだけを Public フォルダへ置き、同期用のプログラムを通してQuartzへ渡す。QuartzはMarkdownをHTMLへ変換し、ページ本体に加えて検索、バックリンク、グラフ、更新日の表示などを生成する。Obsidianそのものの使い方は、Obsidianの運用方法に記録した。
Publicだけを同期する理由
公開した文書については、Gitリポジトリの履歴から変更を追えるようにしたい。Quartzには、frontmatterに draft: true を指定したノートをサイトから除外する機能がある。しかし、この指定が制御するのはサイトへページを出すかどうかであり、GitリポジトリへMarkdownファイルを含めるかどうかではない。Vault全体をQuartzへ同期すれば、非公開のノートもGitのコミットと編集履歴に残る。
Vaultにあるすべてのメモをリポジトリへ入れ、ノートごとに公開状態を管理するのは面倒である。そのため、公開するノートだけを Public に置き、このフォルダだけをQuartzへ同期している。
Obsidianで管理するファイルには、日時から作った識別子を名前として付けている。一方、サイト上のURLにはノートの題名を使う。同期時にはファイル名を題名に基づく名前へ変換し、ノート内のリンクも変換後の名前に合わせて書き換える。この処理により、Obsidianでは題名の変更に影響されない識別子でノートを管理し、サイトでは内容を判別できるURLを使える。
Quartzが出力するのは静的なHTMLである。閲覧時にデータベースから本文を取得するのではなく、公開前に各ページを生成する。更新の手順は、Obsidianでノートを書く、公開用フォルダからQuartzへ同期する、サイト全体を再生成する、という順序になる。