Skip to content
Gabo's Blog
Go back

Setting Up This Blog with AstroPaper and Cloudflare Pages

I wanted a simple blog to write about software, selfhosting, and whatever else I’m working on. Here’s how I set it up.

Choosing the framework

I started by evaluating Hugo and Astro. Hugo is fast and mature, but after looking at the build process, deployment options, and overall developer experience, Astro felt like a better fit. It has a richer ecosystem of themes, better support for modern tooling, and is easy to deploy anywhere.

Choosing the theme

I browsed through several Astro blog themes before settling on AstroPaper. It comes with sensible defaults out of the box — dark mode, SEO, search via Pagefind, automatic OG image generation, and Tailwind CSS for styling. Clean design, well maintained, and easy to customize.

Choosing where to host

I evaluated a few hosting options and went with Cloudflare Pages. It’s free, simple to set up, and deploys automatically from a GitHub repo on every push.

Deploying to Cloudflare Pages

The plan was to connect Cloudflare Pages directly to the GitHub repo for automatic deploys on push.

This turned out to be the trickiest part. The Cloudflare Pages GitHub integration wouldn’t show my repository — clicking “Connect to Git” kept redirecting me back to the GitHub app configuration page instead of showing the repo picker. After some searching, this seems to be a known issue, especially on mobile browsers. Removing the Cloudflare GitHub app and reinstalling it from a desktop browser fixed it.

The build settings for Cloudflare Pages are simple:

The whole setup was done with Claude Code

The entire blog setup — from customizing the config, writing the About page, creating posts, and pushing to GitHub — was done in a single Claude Code session. Including this post.


This blog post was written with the help of Claude Code.


Share this post on:

Previous Post
Running Claude Code on Mobile with Happy Engineering