<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>crab-lab</title><description>Official Site</description><link>https://crab-blog.crab-lab.workers.dev/</link><language>en</language><item><title>Cloudflare Workers + GitHub Actions + Fuwariで技術ブログを構築してみた</title><link>https://crab-blog.crab-lab.workers.dev/posts/hello-fuwari/</link><guid isPermaLink="true">https://crab-blog.crab-lab.workers.dev/posts/hello-fuwari/</guid><description>Cloudflare WorkersとGitHub Actionsを利用してFuwari製ブログを構築した記録</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;はじめに&lt;/h1&gt;
&lt;p&gt;はい、どうもcrabです。
以前から個人のサイトを作成したいと思っていて始めました。&lt;br /&gt;
これからWeb開発をメインに発信できたなあと思います。&lt;br /&gt;
まずは手始めに今回のブログを作成した経緯について簡単にまとめたいと思います。&lt;br /&gt;
ちなみにこの記事はchatgptでほぼすべて書いてもらいました。なので間違っていることがあるかもしれないのでダブルチェックをお願いします。。。&lt;/p&gt;
&lt;p&gt;今回は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Astro&lt;/li&gt;
&lt;li&gt;Fuwari&lt;/li&gt;
&lt;li&gt;Cloudflare Workers&lt;/li&gt;
&lt;li&gt;Github Actions&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;を利用して構築しました。以下それぞれ選んだ理由を記載します。
chatgptと相談して選んだので、理由は後付けですが・・・&lt;/p&gt;
&lt;h2&gt;Cloudflare Workersを選んだ理由&lt;/h2&gt;
&lt;p&gt;ブログを公開する方法はいくつかあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub Pages&lt;/li&gt;
&lt;li&gt;Vercel&lt;/li&gt;
&lt;li&gt;Netlify&lt;/li&gt;
&lt;li&gt;Cloudflare Workers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;今回はCloudflare Workersを選びました。&lt;/p&gt;
&lt;p&gt;理由は以下の3つです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHubとの連携が簡単&lt;/li&gt;
&lt;li&gt;CDN込みで高速&lt;/li&gt;
&lt;li&gt;将来的にWorkersやKVなどCloudflareのサービスも使ってみたい&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Astroを選んだ理由&lt;/h2&gt;
&lt;p&gt;今回はAstroを採用しました。&lt;/p&gt;
&lt;p&gt;理由は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;静的サイト生成が高速&lt;/li&gt;
&lt;li&gt;SEOに強い&lt;/li&gt;
&lt;li&gt;Markdownで記事を書ける&lt;/li&gt;
&lt;li&gt;ReactやSvelteなども組み込める&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という点です。&lt;/p&gt;
&lt;p&gt;拡張性の高さも結構ありますね。もともと自作で作成していたアプリとかも埋め込みたいですね。&lt;/p&gt;
&lt;h2&gt;Fuwariを選んだ理由&lt;/h2&gt;
&lt;p&gt;テーマはいくつか比較しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AstroPaper&lt;/li&gt;
&lt;li&gt;AstroWind&lt;/li&gt;
&lt;li&gt;Yukina&lt;/li&gt;
&lt;li&gt;Fuwari&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最終的にFuwariを選びました。&lt;/p&gt;
&lt;p&gt;決め手は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;シンプルで見やすい&lt;/li&gt;
&lt;li&gt;デザインの完成度が高い&lt;/li&gt;
&lt;li&gt;ダークモード対応&lt;/li&gt;
&lt;li&gt;タグや検索機能が充実している&lt;/li&gt;
&lt;li&gt;カスタマイズしやすい&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という点です。&lt;/p&gt;
&lt;p&gt;プロフィール画像との雰囲気も合っていたので採用しました&lt;/p&gt;
&lt;hr /&gt;
&lt;h1&gt;構築手順&lt;/h1&gt;
&lt;h2&gt;GitHubリポジトリを作成&lt;/h2&gt;
&lt;p&gt;まずGitHubで新しいRepositoryを作成します。&lt;/p&gt;
&lt;p&gt;今回はPublic Repositoryで作成しました。&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Cloudflare Workersを作成&lt;/h2&gt;
&lt;p&gt;Cloudflareへログインし、&lt;/p&gt;
&lt;p&gt;Workers &amp;amp; Pages&lt;/p&gt;
&lt;p&gt;から新しいWorkerを作成します。&lt;/p&gt;
&lt;p&gt;最初に&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
workers.dev

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;のサブドメイン登録を求められます。&lt;/p&gt;
&lt;p&gt;これは初回のみ必要です。&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;GitHub Actionsを設定&lt;/h2&gt;
&lt;p&gt;GitHub Secretsへ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CLOUDFLARE_API_TOKEN&lt;/li&gt;
&lt;li&gt;CLOUDFLARE_ACCOUNT_ID&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;を登録します。&lt;/p&gt;
&lt;p&gt;その後、&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
.github/workflows/deploy.yml

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;を作成し、&lt;/p&gt;
&lt;p&gt;Push時にCloudflare Workersへ自動デプロイするよう設定しました。&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Fuwariを導入&lt;/h2&gt;
&lt;p&gt;Fuwariをインストールします。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pnpm create fuwari@latest
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;インストール後&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pnpm install
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;で依存関係を取得します。&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;ハマったポイント&lt;/h2&gt;
&lt;h3&gt;workers.devの登録&lt;/h3&gt;
&lt;p&gt;Cloudflare Workersでは最初にworkers.devのサブドメイン登録が必要でした。&lt;/p&gt;
&lt;h3&gt;Astroのバージョン&lt;/h3&gt;
&lt;p&gt;Astro 7へアップデートすると
@astrojs/svelteとのバージョンが合わずビルドエラーになりました。&lt;/p&gt;
&lt;p&gt;最終的には&lt;/p&gt;
&lt;p&gt;Astro 5
@astrojs/svelte 7.2.3&lt;/p&gt;
&lt;p&gt;へ戻すことで解決しました。&lt;/p&gt;
&lt;h3&gt;GitHub Actions&lt;/h3&gt;
&lt;p&gt;Biomeのフォーマットチェックで失敗したため、
コード整形を実施してからPushしました。&lt;/p&gt;
&lt;h2&gt;今後&lt;/h2&gt;
&lt;p&gt;このブログでは今のところ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web開発&lt;/li&gt;
&lt;li&gt;米国株投資&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;について発信していく予定です。
お楽しみに。&lt;/p&gt;
&lt;h2&gt;まとめ&lt;/h2&gt;
&lt;p&gt;Cloudflare WorkersとFuwariを利用することで、
無料かつ高速なブログを構築できました。&lt;/p&gt;
&lt;p&gt;今後も実際に試した内容や、
開発中にハマったポイントを中心に記録していこうと思います。&lt;/p&gt;
</content:encoded></item></channel></rss>