Wordpressのアーカイブ

移行するので Wordpress.com でホストしている旧ブログをアーカイブすることにした。 https://www.jmuk.org/wp.jmuk.org/ 以下に保存している。うまく保存されてるのかはよくわからないけど。 さて、アーカイブをどうやるかだけど、せっかくなので(当時Sonnet 3.5だった)Claude Codeにお願いしてみた。張り切って Python スクリプトをガンガン書いていく。方式としてはWordPressのAPIに沿ってコンテンツをJSONでダウンロードしてからHTMLを生成していくようだ。え、何だそれ? いやいやそんなことしたらテーマとかわからなくなっちゃうじゃん、みたいなことを言うとなるほどそうですねといってHTMLの生成を工夫し始めてきた。月ごとインデックスとかどうするつもりなのかわからんけどこれはダメだなーという印象。 それでしばらく放置していたがこないだ重い腰を上げて再開するにあたり、まっさらなレポジトリでgemini-CLIに聞いてみた。するといきなり wget コマンドでやりましょう、実行していい? みたいなことを聞いてきて考え方が違うなと感じた。wgetだと微妙な面もあるんじゃないかという気がするが、面倒だったので(フラグはdepthの設定などをちょっといじって)実行させた。取りこぼしがあるのかもしれないけど、もう面倒なのでこれでいいということにした。 アーカイブとして保存するにあたりちょっとトリッキーだったのは、画像などでクエリパラメータ付きのデータがそのままファイルとして保存されてしまうところ。ファイル名から適切な拡張子が選ばれず、Content-Typeを推定できない可能性がある部分が残ってしまう。ただそうなるパターンは数が少なそうだったので適当なヒューリスティクスで誤魔化した。それで旧サイトからリダイレクションを設定してアーカイブ完了、ということに。 それにしても、割と最近になって移行したと思ってたのだけど、なんと10年以上くらいこのサイトでブログやってたらしい。アーカイブされた記事をいろいろ眺めたりしていて昔の記事や画像を眺めるとこの10年という変遷が思い出されてなんとも趣深い。まぁ自分にとってだけの話なのですが。

June 30, 2025 · Jun Mukai

My First Post

ブログを Hugo に移行してみることにした。 Static Site Generatorベースのブログシステムって実は使ったことがない。 Hugo、だいぶ歴史のあるプロジェクトという認識だけど、Static blog Generatorとしてはいまだに現役なのだな。というか Jekyll も全然現役なのだね。 せっかくなので新しくてカッコ良さそうな他の何かにしてもいいかなとちょっとだけ調べてみたのだけど、例えば Astro は自分向きではないなと思った。良い点はあると思うけど、ブログとしての作りがシンプルすぎる気がする。そんなに長く、たくさんの記事をホストするためのものという感じがない。チュートリアルを読んでみると、無のウェブサイトからページを色々作っていって、それから自分でJSでロジックを書いてページ一覧を作ったりしているのだけど、いやそういうの再発明したくないから。別に。できのいいやつを使わせてくれよ、って思ってしまった。それでチュートリアルではカバーされていないけどブログテンプレートというのもあったのでそれも試してみたところ、そういう諸々が全部テンプレートに入ってはいる。でも例えばトップページには全部のポストが並んでしまうようだった。ページネーションとかしないの? そういうところがキモなのでは?? と思うのだけどね……。タグとかはあまり使わない予定だし、どうも自分の用途には向いてなさそうだなと思った。 他のもちょっとだけ軽くチュートリアルを見てみたりしたが、やっぱり自分向きではない気がした。なのでとりあえず今はこれで行こうと思う。Markdownでエディタで書くのはどちらかというと自分はかったるいと思う派なのだが、やろうと思えば github をWebブラウザで開いて編集とかできるので、一旦仕組みを作ってしまえばあとはそれほど負担ではなさそうという気がする。 ところで、Static Site Generator を使うということは色々諦めるということではある。例えばコメント機能をつけるのは難しい。まぁ昨今のブログでコメントとか滅多にあるものではないから必須ではないといえばないのだけど、あるとちょっとだけ嬉しいとは思っている。どうしたものだろう。一つには Disqus みたいなサービスを利用するというのはあるが、 Disqus ってまだあったんですね……というぐらいの盛り下がりぶりではなかろうか。もう一つはソーシャルなサービス(例えばBluesky)のポストを監視してコメント扱いして出すようなプラグインを作るのはどうか、などと一瞬だけ思ったけど、結構スパムし放題になってしまいそうでそういうのの対策は面倒くさい。などと考えるに、自分で検索して閲覧するぐらいで十分なのではという気がしてきた。 Bluesky ならカスタムフィードを作っておけば閲覧は容易であるし。まぁそもそもそんなに反応とかあるかというと、別にないわけですけど。 もう一つ ActivityPub サポートがない。今はすごく必須という気はしないけど個人的にはあると嬉しい。だがそのためになんらかのブログエンジンを使いたいかというと……そんなことはないよな。 て考えてみると、結局のところ新しい投稿があったらそのことを自分の ActivityPubのフィードにAPI経由で投稿するというアクションを作ってやればそれでいいのではないか、という気がしている。そういうのを作るのは結構かったるいのではないかと思っていたが、既存のアクションもあるし、そういうのを組み合わせるのはcodingagentの得意とするところで、サクッと作れてしまった。さてどうなりますか。

June 21, 2025 · Jun Mukai