このブログは Astro 製の静的サイトを GitHub で管理し、Codex CLI と VSCode で記事制作を自動化しながら Cloudflare Pages にホスティングしています。同じ構成を再現するためのセットアップを順を追って整理しました。
1. VSCodeとCodexの制作環境を整える
- VSCodeをインストールし、
codeコマンドを有効にしておくとCLIから起動しやすくなります。 - Node.js 20 LTS 以上(nvm推奨)を入れたら、
npm install -g @openai/codexで Codex CLI を導入します。 codex loginを実行してブラウザ認証を済ませると、以降codex chatでブログ記事の生成依頼が行えます。
2. Astroプロジェクトを用意する
- GitHubでリポジトリを作成し、
git cloneでローカルに取得します。 - ルートで
npm installを実行し、npm run devで開発サーバーを起動して基本レイアウトを確認します。 - レイアウトやスタイルは
src/layouts/BlogPost.astroとsrc/styles/global.cssを軸にカスタマイズすると、全記事へ一括で反映できます。
3. 記事追加フロー
src/content/blogに日付プレフィックス付きのMarkdownを置くと、AstroのContent Collectionsが自動で読み込みます。- Codexに記事生成を頼む際は、例えば次のように依頼します。
- 「
AIコンテストに出すネタ3本という内容のブログ記事を追加して」 - 仕上がったら「
コミット&プッシュして」と続けるだけでgit add→git commit→git pushまで自動化できます。
- 「
- 記事の差分は
git statusで確認し、必要ならVSCodeで最終チェックを行います。
4. GitHubとCloudflare Pagesで公開
- ローカルの変更を
git commitしたら GitHub のmainブランチへプッシュします。 - Cloudflare Pagesで新規プロジェクトを作成し、GitHubリポジトリを紐づけます。ビルドコマンドは
npm run build、公開ディレクトリはdistを指定します。 - デプロイ後に
npm run build && npm run previewでローカル確認しておくと、Cloudflareのビルドログと差異が起こりにくくなります。
VSCodeでの編集・Codexによるライティング・GitHubの履歴管理・Cloudflare Pagesの自動デプロイが揃うと、記事制作~公開までがほぼコマンド2〜3個で完結します。上記のプロンプト例をベースに自分用のテンプレートを作り、更新サイクルを高速化してみてください。