How to create a blog using Hexo, Github Pages, Cloudflare with SSL
Step by step with images

Search for a command to run...
Step by step with images

No comments yet. Be the first to comment.
A practical guide to Deepsec, Vercel's security harness: how to configure it correctly with your Claude Code subscription, run scans on your codebase, troubleshoot common issues, and triage findings effectively.
Guía práctica de deepsec Guía completa para usar deepsec — el security harness de Vercel — entendiendo qué hace cada comando, cómo configurarlo correctamente para usar tu suscripción de Claude Code (e
Using Grafana, Prometheus, Node Exporter, cAdvisor, and Loki, Exposed via NGINX
Jupyter Lite Notebook is an incredibly versatile tool for working with code and data interactively and collaboratively.

Ultra-Light HTTP Server with Busybox HTTPD Applet Description: This Docker image is designed to provide an ultra-lightweight HTTP server optimized for efficiently serving static files. It is based on the Busybox system and utilizes the Applet HTTPD f...

Those this steps are really easy replacement by import your hexo repo into vercel , but if for any reason you don't want to use vercel, keep reading.

Click on "DNS"
In the section "Nameservers" click on "Change"

Select custom and add cloudflare's nameservers
Delete any nameserver if exist.
Cloudflare nameservers
According to Cloudflare and Godaddy the process to change nameservers can take up to 24 hours, but normally take a few minutes, you can validate in two ways:
Open the terminal and paste next command
$ nslookup -type=ns randomtechguy.com
Enter to https://dnschecker.org/
Enter to github.com and create repo
Add a name to your new repo and click on "Create repository"
At this time your domain is management by cloudflare so we have an SSL certificate.
Enter to cloudflare.com
Click on your site created at step 1
Click on Crypto and verify certificate status, it should be active like under image:
Go to section "Always Use HTTPS" and check "On"
Open the terminal
# Install hexo globally
$ npm install hexo-cli -g
# Start a hexo project
$ hexo init myawesomeblog
# Enter to project folder and install dependencies
$ cd myawesomeblog
$ npm install
# Test our new blog
hexo server
# This command should return
INFO Start processing
INFO Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.
Open a browser with url http://localhost:4000. Don't close the terminal, we will use later
The next steps are based on a awesome post by Jeff Ferrari https://www.poweredbyjeff.com/2018/05/14/Deploying-Hexo-website-to-Github-Pages/
Edit URL url: https://randomtechguy.com #your domain with https
Edit public dir from public to docs public_dir: docs
Comment deploy config
#deploy:
# type:
Open the terminal
# Remove plugins
$ npm uninstall hexo-generator-cname hexo-deployer-git
# Create CNAME file in source folder, use nano, vim or your prefer editor
$ nano source/CNAME #no extension, all uppercase
# The contents of this file should be the domain of your website
$ echo myawesomeblog.com > source/CNAME
# Generate files
hexo generate
# This commando should generate a folder named docs
You can see original post in Github Help https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
$ git init
$ git add .
$ git commit -m "First commit"
# Add remote origin URL, use URL from your repo created at the step 3
$ git remote add origin remote https://github.com/diegofcornejo/myawesomeblog.git
# Verifies the new remote URL
git remote -v
# Push changes
$ git push origin master
Open your repo on the web
Now should see files in your repo
Click on Tab "Settings"
On section "Github Pages" Select master branch / docs folder and Save