はじめに
2023年から個人ブログをHugoに書き出しましたが、ブログを書いていると自分好みにカスタマイズしたい欲が出てきました。
さらに昨今のフロントエンドがまったくわからなかったので、試しにAstroで作りました。
この記事では、環境構築とデプロイを備忘録として書きます
以前のブログ
新しいブログ
プロジェクトを作成する
GitHubなどで、空のリポジトリを作成してしてください。
作成したプロジェクトに移動して、git管理できるようにします。
サーバを立てる
ブラウザでlocalhost:3000にアクセスするとサイトが立ち上がります
prettier追加
scriptsに"lint:fix": "prettier --write src/**/*.{astro,ts,js}"
を追加
参考:
husky, lint-stagedを追加
lint-stagedの設定は、以下にある、どのファイルに記述してもよいそうです。
今回は、package.jsonに書きます。
参考:
tailwindを入れる
tailwindを入れます。
@astrojs/tailwind - astro docs
スタイルをつけてみる
src/components/Header.astro
にtext-3xl
をつけてみます。
文字サイズが変わるはずなので、ブラウザ表示したブログを確認してみてください。
モジュールのインポートパスを修正する
ファイルはsrc
ディレクトリ配下に書くので、毎回importするたびにsrc/xxxx
とか../../xxxx.astro
と書くのは冗長です。
そのため tsconfig.json
にbaseUrl
以下を追記し、コーディングを楽にします
これで、components
、layouts
配下のディレクトリをインポートするときに@components
、@layouts
でインポートできるようになりました。
フィアルを修正していきましょう。
いったんの土台は完了しました。
デプロイ
Cloudflareの設定は以前書いたCloudflare Pages + Terraformでブログ環境を構築するの設定をそのまま使います。
つまりデプロイの流れとしては、ブランチにコードをプッシュすると、GitHub Actionsが動いてCloudflare Pagesにデプロイされる、です。
デプロイに使用するGitHub Actionsの設定をastroのリポジトリにも書きます。
GitHub Actionsに設定する変数はDeploying with Cloudflare Pages - Cloudflare Docsの値をそのまま使います。
変数 | 値 |
---|
ASSET_DIRECTORY | dist |
NODE_VERSION | 16.12.0 |
PROJECT_NAME | blog |
さいごに
これで開発からデプロイまでの土台は完了しました。