Cloudflare Native

The Ultimate Cloudflare-Native Blog Scaffold

Deploy a blazing-fast personal blog or developer journal completely on the Cloudflare edge network. Powered by Hexo, Pages, Workers, D1 database, and R2 bucket.

blog.xhalo.co
# Clone and validate the framework
$ git clone https://github.com/ranbeioc/xhalo-blog.git
$ cd xhalo-blog
$ npm ci
$ npm run check:all

OK xhalo-blog validation passed.
INFO Landing build: npm run build:landing
INFO Test site build: npm run init:hexo-next -- --target ../my-blog-test

Powerful Capabilities, Zero Servers

xhalo-blog provides everything you need to run a professional, secure, and infinitely scalable blog with zero server maintenance overhead.

Hexo Speed

Supercharged by Hexo static generation. Fast build times, standard Markdown compatibility, and NexT theme adapter support.

D1 SQLite Database

Serverless relational database at the edge. Mapped schemas, index tracking, and auto-generated migration history.

R2 Object Storage

Zero egress fee storage bucket. Directly upload assets, support signed preview links, and automatically match theme folders.

Turnstile Security

Protect mutation endpoints from bots and malicious requests using non-interactive Cloudflare Turnstile token validation.

Admin Panel UI

Write, edit, preview, and publish your content on the web. Connects directly to Workers API with local dry-run options.

GitHub Actions Integration

Deploy preview environments on branch commits. Auto-generate sitemaps, robots.txt rules, and RSS feeds during merge cycles.

Hexo/NexT Migration, Standardized

Initialize a private test site from the default NexT starter or import an existing Hexo/NexT blog with posts, uploads, menus, theme files, plugin config, and an audit report.

Starter Mode

Generate a clean NexT site with a welcome post when no historical source is provided.

Import Mode

Copy historical posts, uploads, pages, theme config, feed/search/sitemap/media plugin settings, and safe audit outputs into a private test repository.

Read the Guide

Use the documented flow to keep open-source framework code separate from private blog content.

Migration Guide

Edge Architecture Overview

Here is how xhalo-blog integrates the full Cloudflare ecosystem to distribute content and manage assets globally.

Visitor / Admin Cloudflare Edge Network CF Pages Static HTML / CSS CF Workers API Serverless Router CF R2 Bucket Media & Assets CF D1 Database SQLite Metadata

Get Started in 2 Minutes

Follow these validated commands to create a starter site, import a Hexo/NexT blog, and deploy through Cloudflare Pages.

1

Clone and Install

Get the framework source and install the locked workspace dependencies.

git clone https://github.com/ranbeioc/xhalo-blog.git
cd xhalo-blog
npm ci
2

Initialize a Test Site

Generate a default NexT starter or import an existing Hexo/NexT source into a private test repository.

npm run init:hexo-next -- --target ../my-blog-test
npm run init:hexo-next -- --target ../my-blog-test --source ../hexo-blog --site-url https://my-blog-test.pages.dev
3

Build and Validate

Run the repository validation gate and build the standalone landing page before publishing.

npm run check:all
npm run build:landing
4

Connect Cloudflare Pages

Use the Pages project settings below for the standalone product landing page.

Project: xhalo-blog-landing
Build command: npm ci && npm run build:landing
Output directory: apps/landing/dist
Production domain: blog.xhalo.co