PaperGarage Diary はじめました
動機
研究用ツールを自作する記録をみんなで残したい,ということになりそのプラットフォームをZennに決めた.もともと自分は PaperWave という論文PDFをポッドキャストとして聞くシステムを開発しながら日記を書いていた.その際は自分が主要な開発者で,他の人に使ってもらいつつ開発の方向性を話し合うくらいの位置付けの共同日記だった.
そんな中,AIエージェントによるコーディングのサポートが性能を上げてきて,そのときの共同研究者たちがそれぞれ別のツールも作り始めた.その実践の中からは,さっそく杉山さんが「自分のやりたい研究作業が問い返される」と気づいたように,さまざまな洞察が得られる予感がする.1つのツールの記録ではなくなってきたこともあり,並行するさまざまなツールの開発の様子を,協働オートエスノグラフィー(collaborative autoethnography)としてまとめる可能性を持たせながら記録したくなってきたというのが動機となった.
そして「リレー日記」的に書けると面白いかも,公開にしたうえで内輪向けに書くのも好き,などの条件が出され,publication機能により共同で記事をupできるZennをプラットフォームに決めた.執筆メンバーにObsidianユーザーが多く,GitHub 連携を使うとObsidian内で記事を書けるということも魅力だった.また,開発に関する記事が中心のZennという文脈も面白いと思った.GitHubのcommitメッセージやissueとして日記を書くなどの案も上がったが,できるだけ縛られない方が持続的だろうと判断した.
Zennのpublication名は "PaperGarage Diary" とした.PaperWaveを作ってたのでPaperを含めた名前が良さそうだという話になり,Geminiにアイデアを出してもらって決めた.実はGarageはGeminiが出したアイデアではなく,列挙された候補を見てなんか違うなーと思ってる最中に思いついた.
以降この記事では,手始めに執筆環境をセットアップした記録を書き記す.Obidian内にgitリポジトリを作り,GitHub連携で記事を同期する環境を構築する.
ObsidianにZennのフォルダを作る
Zennというフォルダを作った.
に書かれてるように,zenn-cliを使ってフォルダを初期化するといい感じにセットアップされる.
pnpm init
pnpm install zenn-cli
Obsidian Syncからnode_modulesは除外しておく.
リポジトリは新規作成なのでgitを初期化する.そしてremoteを追加.
git init
git remote add origin https://github.com/user-name/zenn-repo
Obsidianのテンプレート
Zennのメタデータをfront matterとして書く.これもObsidian.Zennを参考にした.
はまったポイント
ノート名
Obsidianのノート名に日本語を含めたりすると,エラーになる.この命名規則に従ってノート名をつける.
1件のエラーがあります
slugの値(2025-07-17-zenn セットアップ)が不正です。小文字の半角英数字(a-z0-9)、ハイフン(-)、アンダースコア(_)の12〜50字の組み合わせにしてください
画像の使用
ObsidianのWiki Link形式ではなく,Markdownの画像埋め込みの記法で書けば良い.
ただし,GitHub連携の制約としては,リポジトリのrootにimagesというフォルダを作って画像を配置するというルールがあるらしい.
これに従って画像を配置すると,Obsidian内では画像がプレビューされてないとか,ドラッグ・アンド・ドロップしたときのObsidianの(私の環境での)通常の動作であるノートと同じフォルダのattachments内に画像を配置するという動作とは異なる操作が必要になるという点で,不都合がある.
それなら,Zennの画像Uploaderを使った方がプレビューもできるし,ファイルの扱いもトリッキーでなくてスムーズだ,というのが現時点での感触です.
感想
ObsidianでGemini CLIを動かそうと思ってちょうどTerminalプラグインを入れたところだったので,zenn-cliをObsidian内のターミナルから実行していた.こういう使い方をすると,途端にObsidianがプログラミング環境のように感じられるようになった.
もともと,VSCodeのようなプログラミング用のテキストエディタ的な拡張性や,Viキーバインドがデフォルトで使えるなどの,開発環境との類似性がObsidianを導入したきっかけの一つだったので,ある意味当然のことではある.ただ,ターミナルが動くことで途端に開発環境感が上がったので,開発環境らしさを感じさせる要因はこれだったのか,という気持ちになる.そうは言っても,zenn-cli は開発というより執筆作業のためのツールなので,それもまた妙なところである.

自分のObsidianにはGitのGUIは入れてないので,久々にgitコマンドを使った.だいぶ忘れていて新鮮だった.特にファイルを消す時の操作がわからなくなって,git rmに到達するまで5分ぐらいかかった.
一応 published フラグはあるのだけど,git push した瞬間に記事が公開されるZennの仕組みはびっくりするものがある.なんの確認もないのかという感じ.CIには慣れてるが,公開までのタイムラグがほとんどないのがこのちょっと怖い感覚に繋がってる気もする.GitHub PagesやVercelへのデプロイは少なくとも1分ぐらいはラグがある.
ZennのMarkdown記法
Discussion