サイト改装経緯

Antigravityが無料の間にvibe codingウェブ開発を試して、あわよくば無料枠の範囲で数年ほど放置していたサイトを刷新しようと思い、やったので、経緯を書いておきます。

このサイトは6年前に同人誌の奥付に書いておく連絡先を作る必要があったので作りました。当時もcarrd.coなりneocities.orgなり国内の無料HPサーバーなど簡単に始められるサービスやブログサービスなどは沢山ありましたが、ブログでは更新頻度の低さが露呈するので没、レンタルスペースはだいたい手作業で更新することになるので手間が多い点からweb開発系の技術を使いたいと思っていました。当時喧伝されていたjamstackなフレームワーク(gatsby)がなんとなく良さそうに思えてテンプレートを漁り、lightboxを入れて画像からギャラリー自動生成を追加したり、余計なアニメーションを消したりなどしてサイトにしました。古のオタクなのでcssとhtmlはふわっと読めなくもない、ぐらいのweb開発とは無関係な人間がreactの中身を弄るの方法はコピペと試行錯誤しかなく、そしてとにかく(ビルドの)時間がかかりました。node.jsのポータブルHDD上に開発環境を置いているので(今もそうです)、大量のファイルの読み書きのオーバーヘッド10-20msが累積してすごいことになっていました。npm -updateに余裕で数時間かかり、dependency hellでビルドを通すどころでなくなり、待ち時間に放置し、何をやろうとしていたかも忘れる。何とかそれなりに想定通りに動く頃にはこれ以上いじる気が無になっていました(なお、ポータブルHDD上の環境は今もそのままのため、この状況は継続しています)。サイトにはブログを置いておらず(※テンプレート元にはあったけどフォルダ構造とかタグ処理とかが気に入らず外していた)、置けるように改造したいという気持ちはあったのですが。

自動化を推進したかっただけあって、元のサイトは最低限の変更で扱えることを重視していました。絵やプロジェクト関連の更新はデータを変えるだけでよかったので、同人誌の新刊を出すタイミングで年に一回ぐらいの更新は数年続けられました。最低限の更新はできるのですが、真面目にいじるのがビルド時間で大変なので完全に触るのが億劫になっていました。技術的負債とはこういうことなのかもしれません。node.jsエコシステムに依存しない最小構成としてhugoに移行することは選択肢にあったものの、完全にやる気をなくしていたので、優先順位の下の方で塩漬けです。そうこうしているうちにLLMが喧伝され、移行コストが下がるかもしれないということで今に至ります。jamstackからvibe codingへ、時代の流れに即したアップデートされたということです。私はweb開発に思い入れがないので、LLMが吐くコードの善し悪しは判断せずに素通しするけれど、hugoの最小構成ならgo template syntaxのドキュメンテーションをみながらhtml/cssを書いてのところはだいたい自分でコピペしながら調整できるだろうという判断で、Antigravityに仕様を投げました。

Antigravityで無料枠をローテーションしながらGeminiやSonnet、Opusを呼び出すと、よってたかって基本構造を8割ぐらい作った後にシングルクォートの中にダブルクォートを入れて文字列を扱うコードで躓き、ことごとく格闘したあとクラウドへ帰っていきました。残りは自分で(他のLLM無料枠を消費に聞いたりしながら)ナントカしました。全く分からない技術スタックを選ばないのは前回の経験が生きたところです。 正直なところ、これがhugoの適切な組み方なのかはわかりません。LLM体験と引き換えにわたしはhugo templateを詳細に理解する機会を失ったわけです。コピペしながらいじって試行錯誤した分は少しは学んだのかもしれませんが。

あと残りとしては独自ドメインを取るとAnubisを入れられてそれなりにちゃんとしたクローラー避けができるため同人サイトとして完成するでしょうが、気力は尽きているので今のところこのままです。データのホスト先がオプトアウトしない限り全データをcopilotに学習させる設定を導入して炎上したgithubの時点であまり意味がない気もしています。大手のホスティングサービスなりプラットフォームには多かれ少なかれこの問題があります。

前のサイトにあったものを維持し、profile cardとblog機能を追加したものが今のサイトです。絵やブログ記事(これです)などは少し追加されています。この改装もコンテンツは全然追加しないけどサイトの改装だけはする古のイラストサイトあるある(悪口です)に見えてきました。回帰なのかもしれません。