Astroを利用した、個人サイトのリプレイス
元々、zolaというSSGを利用していたがテンプレートエンジンが慣れなくて使いづらく更新が遠ざかっていた。
それ以外にもデザインやデプロイ先にいくつか不満があったので、リプレイスを行うこととした。
SSGツール
基本的には私のサイトではシンプルなドキュメントしか提供しないのため、静的なサイトであることが絶対条件だった。
次に簡単に文章を書けるよう、書き慣れたmarkdownが使えることが必要だった。
今回、改めてリプレイスするにあたって、上の条件からSSGを前提にアーキテクチャを何パターンか検討した。
- zolaを使い続けつつよりシンプルにする
- nextjsやsveltkitで構築してSSGプラグインを使う
- 新しいSSGツールに移行する
うだうだ一年くらい作業を放置していたが、いつの間にかAIが進化して、どんな手段でも大して時間をかけずにできるようになってしまった。
なので、候補を選ぶなかで比較したのは、たとえAI生成されたものでも自分で完全に把握できるくらいコンパクトでわかりやすい、ということ。AIがどうにかなっても保守できるし、変なことを検知しやすい。
また、仕事では完全にコードを読まなくなってしまったのでせめてリーディングくらいはしたい、という思いもあった。
Astroはかなりシンプルな構成を取れるのと、astroファイルが馴染み深いVueやsveltに近い、同じファイルにスクリプトとhtmlが存在するタイプだったため採用した。
デザイン
前までのサイトはかなりカラーパレットが悪かったと思っている。確か当時ハマっていたSolarizedをそのまま使った気がする。
取り敢えず本当にシンプルにすることと、コントラストなどをアクセシビリティに配慮することを目標にリデザインした。
デプロイ先
今までNetlifyでデプロイを行いホスティングしていた。
ただ、Netlifyのデフォルトではアメリカにサーバーがあり、アクセス速度が少し遅かった。
今回、cloudflareを選んだのは、ドメインレジストラをcloudflareに移動したついでと、CDN配信でかなり速くなりそうだったから、cloudflareのセキュリティ周りがかなり優秀だと感じていたから。
staticなサイトなので、セキュリティに何があるわけではないが