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.
# 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
xhalo-blog provides everything you need to run a professional, secure, and infinitely scalable blog with zero server maintenance overhead.
Supercharged by Hexo static generation. Fast build times, standard Markdown compatibility, and NexT theme adapter support.
Serverless relational database at the edge. Mapped schemas, index tracking, and auto-generated migration history.
Zero egress fee storage bucket. Directly upload assets, support signed preview links, and automatically match theme folders.
Protect mutation endpoints from bots and malicious requests using non-interactive Cloudflare Turnstile token validation.
Write, edit, preview, and publish your content on the web. Connects directly to Workers API with local dry-run options.
Deploy preview environments on branch commits. Auto-generate sitemaps, robots.txt rules, and RSS feeds during merge cycles.
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.
Generate a clean NexT site with a welcome post when no historical source is provided.
Copy historical posts, uploads, pages, theme config, feed/search/sitemap/media plugin settings, and safe audit outputs into a private test repository.
Use the documented flow to keep open-source framework code separate from private blog content.
Migration GuideHere is how xhalo-blog integrates the full Cloudflare ecosystem to distribute content and manage assets globally.
Follow these validated commands to create a starter site, import a Hexo/NexT blog, and deploy through Cloudflare Pages.
Get the framework source and install the locked workspace dependencies.
git clone https://github.com/ranbeioc/xhalo-blog.git
cd xhalo-blog
npm ci
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
Run the repository validation gate and build the standalone landing page before publishing.
npm run check:all
npm run build:landing
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