公開日記と非公開日記の振り分けとタイムカプセルシステムの仕様について、瞑想中に良いアイデアが浮かんだ。

現在、公開日記リポジトリと非公開日記リポジトリの 2 種類ある。

この 2 つを「統合」する。もちろん公開しちゃいけないものは公開しちゃいけないので(小泉構文)旧日記システムのようにプライベートの用のタグを使う。

そして、統合した内容のリポジトリを非公開とし、そこから GitHub Actions なりなんなりでプライベート部分だけを除外したファイルを公開用リポジトリにプッシュする、という仕組みだ。

つまり、公開日記と非公開日記という形でそれぞれリポジトリを作るのではなく、それらを(プライベート部分はタグで識別できるようにした状態で)統合したオリジナルのデータを非公開リポジトリにおいておき、そこからプライベート部分を抽出したものを公開リポジトリに自動的にプッシュするようにすれば良いというわけだ。

これにより、タイムカプセルシステムも実現できる。単に公開するファイルは 1 年以上経ったもの、というようにしておけば良いだけだ。

これならリアルタイムで日記を見られる気持ち悪さや現時点では公開したくない内容を隠しつつ、かつ、公開と非公開でリポジトリを行ったり来たりせずに、日記を公開できるようになる。

ただ、これでもまだ個人的に微妙な部分はある。非公開リポジトリには事細かくコミット履歴が積み重なっていくが、それが公開されるときになると一つにまとまってしまうということだ。プライベート部分を抽出しなければいけないので、そのファイルのコミット履歴を丸ごと公開、というわけにもいかないだろう。

あと、公開する部分に関してはそれでも良いが、プライベートな部分は自分だけは確認したいのだが、これだとプライベートな部分はリポジトリのファイルを直接見に行かなければならない。まあこれは GitHub で管理している以上は仕方ないのかな。旧日記システムならここらへんはサーバサイドの処理で良い感じにできたんだけど。

ともかくそんな感じにしようかなと思っている。管理・運用上は割とシンプルになるし、タイムカプセルシステムも構築できそうだから悪くはないアイデアなんじゃないかなと思う。まあそのシステム(GitHub Actions)を構築する手間が新たに増えるけど。まだ Jekyll 用の日記のデザインを作ってすらいないけど。

明日やること