Building a Personal Blog with Jekyll and Chirpy
Building a Personal Blog with Jekyll and Chirpy
Prerequisites
- GitHub/GitLab account
- Domain configured in Cloudflare
Jekyll is a static site generator that transforms plain text into modern websites. In this guide, we’ll use the Chirpy theme and deploy to Cloudflare Pages.
1. Create Repository from Chirpy Template
- Visit Chirpy Starter
- Click
Use this template→Create a new repository - Name your repository (e.g.,
my-blog)
2. Configure Cloudflare Pages
- Log in to Cloudflare Dashboard
- Navigate to
Workers & Pages - Create new application:
Create application>Pages>Connect to Git - Connect your GitHub/GitLab account
- Select your created repository
- Configure build settings:
- Framework preset:
1
Jekyll
- Environment variables:
1
BUNDLE_WITHOUT = ""
- Framework preset:
- Click
Save and Deploy - Wait for build completion (typically 2-5 minutes)
ℹ️ If the site doesn’t load immediately, check deployment status in Cloudflare’s build logs.
3. Set Up Custom Domain
- In your Cloudflare Pages project, go to
Custom domains - Click
Set up a custom domain - Enter full domain (e.g.,
blog.example.com) - Confirm DNS configuration (CNAME record will be auto-created)
- Wait for domain activation (typically 1-10 minutes)
4. Customize Your Blog
- Clone repository locally:
1 2
git clone https://github.com/<your-username>/<repository>.git cd <repository> - Edit _config.yml
1 2 3 4
title: "My Tech Blog" # Site title tagline: "Adventures in Homelabbing" # Subtitle timezone: Europe/Kyiv # Timezone avatar: /assets/img/avatar.png # Path to avatar
5. Create Your First Post
-
In
_postsfolder, create file with formatYEAR-MONTH-DAY-title.md:
Example:2024-02-12-my-first-post.md -
Add metadata:
1
2
3
4
5
6
7
8
9
10
11
---
layout: post
title: "My First Post"
date: 2024-02-12 14:00:00 -0500
categories: homelab
tags: first-post, jekyll
---
## Welcome to My Blog!
This is my first post using Jekyll and Chirpy!
- Push changes:
1
2
3
git add .
git commit -m "Add first post"
git push
The site will auto-update within 1-2 minutes after Cloudflare syncs.
🎉 Congratulations! You’ve successfully deployed your blog with a custom domain and published your first post!
Useful Links:
This post is licensed under
CC BY 4.0
by the author.