Skip to content
Go back

HugoからAstroへの移行検討

· Updated:

先日の続き。

  • npmを使うようにするなら、いっそのことNode.JS製の静的サイトジェネレータに乗り換えるのも良いかも
    • Hugoはバイナリ1つで始められてテーマを選んでMarkdownを書けば完成するのでとても便利だけど、その分、開発もHugoの閉じた環境で行わないといけなかった
      • 基本的には利点のほうが多いとはいえ、用意されたもの以上のことを求めると途端に大変になる
    • Node.JS製ならもっと柔軟にスクリプトを書けるし、初めから終わりまでJavaScriptで済ませられる
  • Astroでやってみよう
    • ReactやVueを使わなくても良いらしいので

サンプルを動かすまで#

  • winget install pnpm.pnpmでpnpmをインストールする
  • pnpm create astro@latest blogblogフォルダ内に色々作ってくれる
  • pnpm devでローカルサーバーが立ち上がる

テーマの管理#

  • Astroは、Hugoのようにテーマがモジュール化されている、というわけではなさそう
    • create--templateオプションはコピーなので、テーマのアップデートに追従できなくなる
    • 自分のプロジェクトにテーマをgit submodule addするにしても、コンフィグをどのように書けば良いのか、ちょっと分からない
  • テーマのリポジトリをそのまま借用して独自に拡張していく、というのが基本のようだけど、少し考えたい
    • 自分のコンテンツを混ぜると、テーマのライセンスと混同されたりしないか?
    • テーマ側に自分のリポジトリをgit submodule addした場合、Cloudflare Pagesの自動デプロイはちゃんと機能するのだろうか?
  • テーマをフォークしてgit submodule addされる前提で自分用に書き換えてから、自分のリポジトリにgit submodule addして、テーマのコンフィグでビルドすればできそうな気もする

できそうなこと#

  • Astroはmarkdownパーサーにプラグインを渡せるので、対応していない構文も自前で対処できそう

参考資料#