A blog at the root

The homepage is the blog index. Readers arrive at toysforbots.com and immediately see the newest posts instead of passing through a separate landing page.

Each article gets a permanent address under /blog/, while the homepage, RSS feed, sitemap, and related-post links are rebuilt automatically from the post files.

Simple source files

Posts live as small JSON files in content/posts. The build script turns them into static HTML, which keeps the deployed site fast and makes every published article easy to inspect in GitHub.

The generated dist folder is temporary build output. The content files are the source of truth.

A controlled publishing path

The private publishing form sends a request to a single Pages Function. That function securely triggers a GitHub Actions workflow without exposing the GitHub or OpenRouter keys to the browser.

The workflow creates a post, commits the source file, and lets Cloudflare Pages rebuild the public site from the repository.