メインコンテンツまでスキップ

記事をクローズドソースにしました

· 約4分
BonyChops
@BonyChops

お久しぶりです、BonyChopsです。2026年最初の記事のようですね!ほぼアドカレ専用サイトになっていますが、今年もゆるく続けていきます。

タイトルの通りです!以前 GitHub の BonyChops/blog で、この Docusaurus プロジェクト全体をオープンソースにしていましたが、本日を持ってクローズドソース (非公開) にさせていただきました。

非公開投稿を作れない

大きい理由 (というか理由一選) は、非公開投稿や時差投稿を作れない点です。アドベントカレンダーは通常公開日が決まっており、Qiitaの場合はその日付けになれば勝手に公開してくれます。セルフで作っている人はそう言った仕組みを組めば簡単に実現できるでしょう。

しかし、自分の場合はソースコードが全て開示されています。「公開前はbranch切っといて、当日にmainに混ぜればいいや」と思っていても、その branch も丸見えです(非公開記事も同様)。それを避けるためにローカルに置いておいてギリギリまで push を遅らせることもできますが、そもそもソースコード管理として remote に置いておくことによる冗長性を確保していた身としては、この理由だけで remote に置けないのもだいぶ辛かったです1

そもそも Docusaurus やめたい

こちらはそもそも論なんですが、Docusaurus やめたいな〜とも思っています。昨年こちらの記事でOGP画像に対応しました。その記事にもあるように、そちらでの対応は @acid-info/docusaurus-og を使って行っています。

AI情勢もあって翻訳のハードルがぐっと下がった今、今度はi18nへの対応をしよう!と思い、幸い Docusaurus はネイティブに i18n を対応しているのでその通り設定しようとすると、なんと前述のプラグインでブログの path を取得する関数 が i18n 環境を想定しておらずコンパイルが通りませんでした。

一応上記対応用に BonyChops/logos-docusaurus-plugins としてフォークを切り、それのパッチを当てたりはしたんですが...こういう便利ツールに乗っかって運用する以上、今後もこう言う hacky な対応をすることになるんだろうなあという感触はありました。

今はAIもあって、発想さえあればほぼなんでも作れる時代です。自分の性格もあって、「最初は辛いが長期的には楽になるソリューション」は避け、「最初にサクッと始められるがのちに苦しくなるかもしれないソリューション」を選んできましたが、そろそろ前者を選ぶ時が来たのかもしれません。

今後の展望

上記 X ポストにもある通り、ほぼプレーンなものからフルスクラッチで組み直そうかなと考えています。書いている途中まで、Astro23 なんてどうだろうとか思っていましたが、時差投稿のことを考慮するとバックエンドはあった方が便利かもしれないですね。となるとViteかなあ?最近注目している組み合わせは Tanstack Start + Cloudflare Workers なので、それを使ってパフォーマンスをチューニングしつつ最強の Blog サイトを再構築しようかな?とかを考えています!

Tanstack Start + Cloudflare Workers については実際にそれを使ったものが出来上がり次第、また別で記事を出したいですね!

Footnotes

  1. そもそもお前アドカレ間に合ってないだろというツッコミはお控えください

  2. ないしはそれ相応のSSGツール

  3. そういえばですが、Docusaurus で味わった微妙ポイントを振り返っておきながら、AstroのMarkdown機能にまた乗っかろうとしている時点で同じ末路を辿りそうな気はしますよね