Introduction: How I Built This Blog with GitHub Pages and Jekyll
I have received so many messages asking how I built this website that I finally stopped deflecting and wrote it all down.
The short answer is: GitHub Pages, Jekyll, Markdown, and some CSS. Jekyll is a static-site generator that turns Markdown into a website, and GitHub Pages hosts the result for free. No WordPress, no hosting bills, no plugin update treadmill. I started this way because I wanted to focus on writing, not maintenance — and years later I am still happy with that decision.
Before this, I had websites built in PHP and on WordPress. Both work, but both demand attention: security patches, plugin conflicts, database backups, and hosting renewals. Once you step off that treadmill, it is hard to go back.
My current setup gives me:
- Free hosting on GitHub Pages
- Git-based versioning — every draft, every revision, easy rollback
- Markdown for content — clean, portable, no lock-in
- Full control over HTML, CSS, and JavaScript when I want it
- AI art and AI writing tools for illustrations and drafts
- A form service that delivers contact and subscription requests to my inbox with built-in spam filtering
In this post, I will walk you through the whole thing, from creating a GitHub account to custom domains, SEO, and the no-code alternatives worth knowing about.
Steps for creating a website on GitHub
Here is the overall flow, which I will explain in detail below:
- Set up a GitHub account
- Create a new repository named
username.github.io
- Choose a static site generator (we will use Jekyll)
- Write content in Markdown
- Customise the look and feel
- Test locally; push changes
- Enable GitHub Pages
- Optionally: connect your own domain name
The official starting point is Creating a GitHub Pages site with Jekyll, but I will go further here.
What Is a GitHub Pages Site?
GitHub Pages hosts static websites directly from your repository. When you push a change, GitHub builds the site automatically using Jekyll and serves the result — no server to manage, no database to back up.
You write your posts in Markdown, and Jekyll turns them into HTML. Markdown is so minimal that most people are productive with it in under an hour.
Two ways to create your Jekyll blog
🔒 Subscribe to keep reading.
Bonus: Jekyll Tips, Domains, and SEO
🔒 Subscribe to keep reading.
Conclusion: A Free Blog with Jekyll and GitHub Pages
🔒 Subscribe to keep reading.
References
🔒 Subscribe to keep reading.
Subscribe to unlock the full article ❤️
I keep most of the site completely open. A few unusually detailed tutorials need a free subscriber login so I can keep publishing this kind of work.
Log in to unlock
The form below signs you up for the newsletter. It does not log you into the app — log in afterwards (same email) to unlock this article and download your subscriber gifts. New subscribers get an inbox mail: Set a password to unlock articles.
Full content temporarily unavailable — refresh in a moment