From Zero to Live: Build Your Own Tech Blog with Jekyll & GitHub Pages
This step‑by‑step guide shows how to create a personal technical blog from scratch using Jekyll and GitHub Pages, covering repository forking, configuration, domain setup, content customization, and publishing, while highlighting common pitfalls and practical tips.
When I first started working after graduation, I often visited technical blogs for inspiration and dreamed of creating my own independent blog, but the idea remained unfulfilled for years.
At the end of 2018, the desire resurfaced strongly, and after researching methods, I discovered that Jekyll combined with GitHub Pages could quickly launch a personal blog without purchasing a domain or server.
1. Original Perception
I originally thought building a personal blog required many steps:
Blog concept design (layout, backend maintenance, login, registration, etc.)
Coding the planned features
Learning front‑end and back‑end technologies
Purchasing a domain, server, and database instance
Deployment
Because of this perception, my blog project kept getting postponed.
2. Perception Shift
In late 2018, I realized that writing blogs is crucial for structuring my knowledge, and I found a reference article titled "How Technical People Build Their Own Tech Blog" which introduced using Jekyll + GitHub Pages to create a blog without any domain or server costs.
3. Building the Blog from 0 to 1
Following the reference, I completed the following steps:
1. Fork the repository
Visit https://github.com/ityouknow/ityouknow.github.io and click the Fork button to copy it to my own GitHub account.
2. Rename the repository
3. Delete or modify the CNAME file
If you do not need a custom domain, delete the CNAME file in the root; otherwise, replace its content with your own domain (e.g., www.zwwhnly.com).
4. Configure GitHub Pages
In the repository Settings, enable GitHub Pages (default builds from the master branch). Use the default domain {github‑username}.github.io or set a custom domain in the provided field.
5. Edit README.md
Update the README file with your own information; it appears at the bottom of the repository page.
6. Modify _config.yml
Change site title, GitHub username, repository URL, domain, email, and other settings as needed.
After these changes, the site is accessible via the default GitHub domain (e.g., zwwhnly.github.io) or your custom domain after DNS configuration.
7. DNS Configuration (if using a custom domain)
Add an A record or CNAME record pointing to GitHub’s servers; after propagation, the custom domain resolves to your blog.
Visiting http://www.zwwhnly.com displays the live blog.
5. Personal Information Updates
Replace the default content with your own information, such as removing existing posts, editing about.html, and updating link.html.
Delete all files under the _posts directory.
Modify about.html with your personal details.
Update link.html as desired.
6. Publishing New Posts
Write articles in Markdown, place them in the _posts folder, and push the changes to GitHub. Jekyll will rebuild the site, and the new content becomes visible after a short delay.
While convenient, this setup has drawbacks such as occasional instability of the free GitHub Pages service and poor SEO performance on Baidu.
To overcome these issues, I later purchased a cloud server from Alibaba Cloud and attempted to deploy the blog there, a process that proved challenging and will be documented in a future post.
7. Reference Links
Technical people how to build their own tech blog Pure Smile, public account: Pure Smile Technical people how to build their own tech blog
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Java Interview Crash Guide
Dedicated to sharing Java interview Q&A; follow and reply "java" to receive a free premium Java interview guide.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
