2024年3月20日

サイトをHonoXでリニューアル

当サイトをHonoXで作り直しました。

当初は、テンプレートにMustacheを使い、R Markdownで記事を書いてHTML化する仕組みをRakuで自作していました。 しかしひとまずの完成を見たところで飽きてしまい、特に書くこともないし…と放置モードに入ってしまいました。 数年経って自作を維持していく気持ちもなくなっており、Hono🔥のフレームワークHonoXを試してみることにしました。 HonoはYAPC::Hiroshima 2024の前夜祭でファイルベースルーティングができるようになったというトークを聞いて使ってみたかったフレームワークでした。

既存のR MarkdownファイルはMDXに変えて、MustacheテンプレートはHonoXで書き換えました。 インデックスページはパスを/diary/index.htmlのようにしたかったので、app.get('/index', ...)のようにしてindex.htmlが生成されるようにしました。 HonoXのバージョン0.1.9にてcreateApp関数にtrailingSlashオプションが追加されていました。 こちらをtrueにすることで上記のような対処は必要なくなりました。

使っていて気になったのは、npm run devvite)で.htmlを付けると404になってしまう点でした。 devでリンクを辿るためにいちいち拡張子を消していました。 npm run previewwrangler pages dev ./dist)も拡張子なしのようですが、.htmlを付けてもリダイレクトしてくれました。 Viteはこれまで使ったことがないので手探りで使い始めていますが、設定で弄れるのでしょうか…。 自己解決しました。詳しくはこちらの日記をご覧ください。

  1. サイトをHonoXでリニューアル