Jekyll Blog Setup Guide: From Zero to Live in 30 Minutes (2026)
A complete beginner's guide to setting up a Jekyll blog — installing Jekyll, choosing a theme, writing your first post, and deploying to GitHub Pages for free.
Jekyll is the most popular static site generator for personal blogs — and for good reason. It’s free to host on GitHub Pages, blazing fast, and once set up, publishing a new post takes under a minute. This guide takes you from zero to a live blog in 30 minutes.
What You’ll Build
By the end of this guide you will have:
- A Jekyll blog running locally
- A chosen theme applied
- Your first post published
- The site live on GitHub Pages at
yourusername.github.io
Step 1: Install Ruby and Jekyll (5 minutes)
Jekyll is a Ruby gem, so you need Ruby installed first.
macOS
macOS ships with an old Ruby version. Use rbenv instead:
brew install rbenv ruby-build
rbenv install 3.2.0
rbenv global 3.2.0
gem install jekyll bundler
Windows
Download and install RubyInstaller. Then:
gem install jekyll bundler
Linux (Ubuntu/Debian)
sudo apt-get install ruby-full build-essential
gem install jekyll bundler
Verify your installation:
jekyll -v
# jekyll 4.3.x
Step 2: Create a New Jekyll Site (2 minutes)
jekyll new my-blog
cd my-blog
bundle exec jekyll serve
Visit http://localhost:4000 — you’ll see your new blog with the default Minima theme.
Step 3: Choose and Install a Theme (5 minutes)
The default Minima theme is fine to start, but here are better options depending on your goals:
| Goal | Recommended Theme |
|---|---|
| Developer tech blog | Chirpy |
| Minimal writing focus | Lanyon or Hyde |
| Feature-rich blog | Minimal Mistakes |
| Beautiful cover images | Huxpro |
| Beginner-friendly | Jekyll Now |
Installing Chirpy (example)
# Option 1: Use the Chirpy starter template
git clone https://github.com/cotes2020/chirpy-starter my-blog
cd my-blog
bundle install
bundle exec jekyll serve
Step 4: Configure Your Blog (5 minutes)
Open _config.yml and update the key settings:
title: "My Blog"
tagline: "Writing about code, design, and ideas"
description: "A personal blog by Your Name"
url: "https://yourusername.github.io"
baseurl: ""
author:
name: "Your Name"
email: "you@example.com"
# Social links
github_username: yourusername
twitter_username: yourusername
# Build settings
lang: en
timezone: America/New_York
Save the file and your local preview updates automatically.
Step 5: Write Your First Post (5 minutes)
Jekyll posts live in the _posts/ directory. Create a new file named YYYY-MM-DD-your-post-title.md:
touch _posts/2026-06-01-my-first-post.md
Open the file and add:
---
title: "My First Jekyll Post"
date: 2026-06-01
categories: [Blogging]
tags: [jekyll, first-post]
---
Welcome to my blog! This is my first post written in Markdown.
## Why I Started This Blog
Here's my story...
## What I'll Write About
- Code and development
- Design tips
- Things I'm learning
Save it — your post appears at http://localhost:4000 immediately.
Step 6: Add Pages (2 minutes)
Create an About page:
touch _pages/about.md
---
title: "About"
permalink: /about/
---
Hi, I'm Your Name. I write about code, design, and ideas.
Step 7: Deploy to GitHub Pages (5 minutes)
Step 7a: Create a GitHub repository
Go to github.com/new and create a repository named yourusername.github.io.
Step 7b: Push your blog
cd my-blog
git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin https://github.com/yourusername/yourusername.github.io.git
git push -u origin main
Step 7c: Enable GitHub Pages
Go to your repository → Settings → Pages → set source to Deploy from branch → select main → save.
Your blog is live at https://yourusername.github.io within 2 minutes.
Publishing New Posts
From now on, publishing is simple:
- Create a new file in
_posts/with today’s date in the filename - Write in Markdown
- Commit and push:
git add _posts/2026-06-02-my-second-post.md
git commit -m "Add second post"
git push
GitHub Pages rebuilds your site automatically. Your post is live within 60 seconds.
Recommended Next Steps
Once your blog is live:
- Add Google Analytics — track your traffic from day one
- Set up a custom domain —
yourblog.cominstead ofyourusername.github.io - Add comments — Giscus (GitHub Discussions) is the most popular free option for Jekyll
- Submit your sitemap — go to Google Search Console and submit
https://yourusername.github.io/sitemap.xml - Write consistently — even one post per week compounds significantly over a year
Browse Jekyll Blog Themes
Need a better theme for your blog? Browse our full collection of Jekyll blog themes — with live demos, GitHub star counts, and free vs premium filters.