このサイトについて

このサイトには、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へ同期する、サイト全体を再生成する、という順序になる。