Complete Jekyll Guide: From Installation to GitHub Pages Blogging
Step-by-step Jekyll tutorial for beginners. Learn Jekyll installation, GitHub Pages setup, blog creation, themes, and deployment. Complete guide with examples.
π― What Youβll Learn
- Jekyll installation and setup
- GitHub Pages configuration for personal & project sites
- Creating and managing blog posts
- Customizing themes and layouts
- Deployment workflows
π Prerequisites
- GitHub account
- Git installed
- Basic command line knowledge
- Text editor/IDE
π Learning Path
flowchart TD
A[π’ Beginner] --> B[π‘ Intermediate] --> C[π΄ Advanced/Expert]
A --> A1[Quick Start with GitHub Pages]
A --> A2[Basic Configuration]
A --> A3[Writing Your First Post]
A --> A4[Simple Theme Changes]
B --> B1[Local Development Setup]
B --> B2[Custom Themes]
B --> B3[Advanced Configuration]
B --> B4[Draft Management]
C --> C1[Custom Layouts & Includes]
C --> C2[GitHub Actions CI/CD]
C --> C3[Performance Optimization]
C --> C4[Advanced Troubleshooting]
style A fill:#c8e6c9
style B fill:#fff3e0
style C fill:#ffcdd2
π Table of Contents
- π Quick Start Options π’
- π οΈ Installation Methods π‘
- ποΈ Site Structure Setup π‘
- βοΈ Configuration π’
- π Creating Blog Posts π’
- π¨ Themes and Customization π‘
- π Deployment Workflows π΄
- π§ Common Tasks π‘
- π Troubleshooting π‘
- β Frequently Asked Questions π’
- π Related Posts π’
- π Resources
- π― Next Steps
π Quick Start Options
π‘ Why Start Here? Get your blog live in minutes without installing anything locally. Perfect for beginners who want to see results fast!
Option 1: GitHub Pages (No Local Install) β±οΈ 5 mins | π’ Beginner
Prerequisites: GitHub account, basic Git knowledge
For Personal Site:
1
2
3
4
5
6
7
# Create repository
git clone https://github.com/<username>/<username>.github.io.git
cd <username>.github.io
echo "Hello World" > index.html
git add .
git commit -m "Initial commit"
git push origin main
β οΈ Beginner Tip: Replace
<username>
with your actual GitHub username. Your site will be live athttps://<username>.github.io
For Project Site:
1
2
3
4
5
6
# In your project repository
git checkout --orphan gh-pages
echo "Project Documentation" > index.html
git add .
git commit -m "GitHub Pages"
git push origin gh-pages
πβοΈ Try It Now - Quick Exercise
- Create your repository following the steps above
- Visit your live site at
https://<username>.github.io
- Edit
index.html
and push changes to see updates
Option 2: Local Development β±οΈ 15 mins | π‘ Intermediate
π‘ Why Local Development? Test changes before publishing, work offline, and get faster feedback loops.
π οΈ Installation Methods
Method 1: Using Bundler (Recommended) β±οΈ 15 mins | π‘ Intermediate
Prerequisites: Basic terminal knowledge, Homebrew (macOS)
flowchart LR
A[Install Ruby] --> B[Install Jekyll & Bundler]
B --> C[Create New Site]
C --> D[Install Dependencies]
D --> E[Serve Locally]
style A fill:#e3f2fd
style E fill:#c8e6c9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Install Ruby (macOS)
brew install ruby
# Install Jekyll and Bundler
gem install jekyll bundler
# Create new site
jekyll new my-blog
cd my-blog
# Install dependencies
bundle install
# Serve locally
bundle exec jekyll serve
β οΈ Common Pitfall: Always use
bundle exec jekyll serve
instead ofjekyll serve
to avoid version conflicts.
π‘ Why Bundler? Ensures consistent gem versions across different environments and prevents βworks on my machineβ issues.
πβοΈ Try It Now - Local Setup Exercise
- Follow the installation steps above
- Visit
http://localhost:4000
to see your site - Edit
_config.yml
to change the site title - Refresh browser to see changes
Method 2: GitHub Pages Gem β±οΈ 10 mins | π‘ Intermediate
Prerequisites: Ruby installed
1
2
3
4
5
6
7
8
9
# Create Gemfile
echo 'source "https://rubygems.org"' > Gemfile
echo 'gem "github-pages", group: :jekyll_plugins' >> Gemfile
# Install
bundle install
# Serve with GitHub Pages environment
bundle exec jekyll serve
π‘ Why GitHub Pages Gem? Matches the exact Jekyll version and plugins used by GitHub Pages, preventing deployment surprises.
Method 3: Docker (No Ruby Install) β±οΈ 5 mins | π‘ Intermediate
Prerequisites: Docker installed
1
2
# Run Jekyll in Docker
docker run --rm -v "$PWD:/srv/jekyll" -p 4000:4000 jekyll/jekyll:latest jekyll serve
π‘ Why Docker? Avoids Ruby installation complexity and ensures consistent environment across different operating systems.
ποΈ Site Structure Setup
π‘ Understanding Structure: Jekyll uses a specific folder structure to organize your content. Each folder has a special purpose.
Personal Blog Site (username.github.io) β±οΈ 5 mins | π’ Beginner
graph TD
A["π username.github.io/"] --> B["βοΈ _config.yml<br/>Site configuration"]
A --> C["π _posts/<br/>Blog posts go here"]
A --> D["π¨ _layouts/<br/>HTML templates"]
A --> E["π§© _includes/<br/>Reusable HTML snippets"]
A --> F["π assets/<br/>CSS, images, JS files"]
A --> G["π about.md<br/>Static pages"]
A --> H["π‘ index.html<br/>Homepage"]
C --> C1["YYYY-MM-DD-my-first-post.md"]
D --> D1["default.html"]
D --> D2["post.html"]
E --> E1["header.html"]
E --> E2["footer.html"]
F --> F1["css/"]
F --> F2["images/"]
style A fill:#e1f5fe
style B fill:#fff3e0
style C fill:#e8f5e8
style D fill:#fce4ec
style E fill:#f3e5f5
style F fill:#e0f2f1
style G fill:#fff8e1
style H fill:#e8eaf6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<username>.github.io/
βββ _config.yml # Site configuration
βββ _posts/ # Blog posts go here
β βββ YYYY-MM-DD-my-first-post.md
βββ _layouts/ # HTML templates
β βββ default.html
β βββ post.html
βββ _includes/ # Reusable HTML snippets
β βββ header.html
β βββ footer.html
βββ assets/ # CSS, images, JS files
β βββ css/
β βββ images/
βββ about.md # Static pages
βββ index.html # Homepage
β οΈ Beginner Tip: Files starting with
_
are special Jekyll folders. Regular.md
files become pages on your site.
πβοΈ Try It Now - Structure Exercise
- Create an
about.md
file in your root directory - Add some content with front matter
- Visit
/about
on your site to see the new page
Project Documentation Site β±οΈ 10 mins | π‘ Intermediate
1
2
3
4
5
6
7
project-repo/
βββ docs/ # GitHub Pages source folder
β βββ _config.yml
β βββ index.md
β βββ api.md
β βββ guides/
βββ (project files)
π‘ Why
/docs
folder? Keeps documentation separate from code while enabling GitHub Pages from the same repository.
βοΈ Configuration
π‘ What is _config.yml? The brain of your Jekyll site. It controls how your site looks, behaves, and builds.
Basic _config.yml β±οΈ 10 mins | π’ Beginner
Essential Settings (Start Here):
1
2
3
4
5
6
7
8
9
10
11
# Site settings (CHANGE THESE)
title: Your Blog Title
email: your-email@domain.com
description: A brief description of your site
baseurl: "" # for personal sites
url: "https://<username>.github.io"
# Build settings (KEEP THESE)
markdown: kramdown
highlighter: rouge
theme: minima
β οΈ Beginner Tip: After editing
_config.yml
, restart your local server (Ctrl+C
thenbundle exec jekyll serve
) to see changes.
πβοΈ Try It Now - Configuration Exercise
- Edit your
_config.yml
file - Change the
title
anddescription
- Restart your server and see the changes
Advanced Configuration β±οΈ 15 mins | π‘ Intermediate
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Plugins (GitHub Pages safe)
plugins:
- jekyll-feed # generates RSS/Atom feed for blog posts
- jekyll-sitemap # creates XML sitemap for search engines
- jekyll-seo-tag # adds SEO meta tags to pages
- jekyll-coffeescript # compiles CoffeeScript files to JavaScript
- jekyll-default-layout # applies default layout when none specified
- jekyll-gist # embeds GitHub Gists in posts
- jekyll-github-metadata # provides GitHub repository metadata
- jekyll-paginate # splits posts across multiple pages
- jekyll-relative-links # converts relative links to proper URLs
- jekyll-optional-front-matter # allows pages without YAML front matter
- jekyll-readme-index # uses README.md as index page
- jekyll-titles-from-headings # generates page titles from first heading
# Pagination
paginate: 5
paginate_path: "/page:num/"
# Collections
collections:
projects:
output: true
permalink: /:collection/:name/
π‘ Why These Plugins? Each plugin adds specific functionality - SEO optimization, RSS feeds, sitemaps for search engines.
Project Site Configuration β±οΈ 5 mins | π‘ Intermediate
1
2
3
4
5
6
# For project sites (docs folder)
title: Project Documentation
baseurl: "/project-name"
url: "https://<username>.github.io"
source: docs
destination: docs/_site
π Creating Blog Posts
π‘ Post Basics: Jekyll posts are Markdown files with special naming:
YYYY-MM-DD-title.md
in the_posts
folder.
Your First Post β±οΈ 10 mins | π’ Beginner
flowchart LR
A[Create File] --> B[Add Front Matter]
B --> C[Write Content]
C --> D[Save & Preview]
style A fill:#ffebee
style D fill:#e8f5e8
Step 1: Create the file
1
2
# Create your first post
touch _posts/$(date +%Y-%m-%d)-my-first-post.md
Step 2: Add content
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
---
title: "My First Blog Post"
date: $(date +%Y-%m-%d) 12:00:00 +0000
categories: [web-development, tutorial]
tags: [jekyll, github-pages]
author: Your Name
layout: post
---
## Introduction
Welcome to my blog! This is my first post using Jekyll.
### What I Learned Today
- How to create a Jekyll post
- The importance of front matter
- Basic Markdown syntax
### Code Examples
```bash
jekyll serve --drafts
Links
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
> β οΈ **Naming Convention:** File must be named `YYYY-MM-DD-title.md` or it won't be recognized as a post.
### πββοΈ Try It Now - First Post Exercise
1. Create a new post file with today's date
2. Add the front matter and some content
3. View your post at `http://localhost:4000`
4. Edit the content and refresh to see changes
### Draft Management β±οΈ 5 mins | π‘ Intermediate
> π‘ **Why Drafts?** Work on posts without publishing them. Perfect for longer articles or collaborative writing.
<div class="mermaid">
flowchart LR
A[Create Draft] --> B[Preview with --drafts]
B --> C[Edit & Refine]
C --> D[Move to _posts/]
D --> E[Published!]
style A fill:#fff3e0
style E fill:#c8e6c9
</div>
```bash
# Create draft
mkdir _drafts
echo "---\ntitle: Draft Post\n---\nContent" > _drafts/draft-post.md
# Preview drafts
jekyll serve --drafts
# Publish draft
mv _drafts/draft-post.md _posts/$(date +%Y-%m-%d)-draft-post.md
β οΈ Draft Tip: Drafts donβt need dates in filenames. Add the date when you publish.
π¨ Themes and Customization
π‘ Theme Basics: Themes control your siteβs appearance. Start with simple changes, then move to custom themes.
Simple Customizations β±οΈ 5 mins | π’ Beginner
Change Colors (Minima theme):
1
2
3
4
5
6
7
8
# Create assets/css/style.scss
---
---
@import "minima";
.site-header {
background-color: #2a7ae4;
}
πββοΈ Try It Now - Styling Exercise
- Create the CSS file above
- Change the header color
- Refresh your site to see the blue header
Using Gem-based Themes β±οΈ 10 mins | π‘ Intermediate
Prerequisites: Understanding of Gemfiles
1
2
3
# Gemfile
gem "minima", "~> 2.5"
gem "jekyll-theme-cayman"
π‘ Why Gem Themes? Easy to update, maintain, and switch between themes without losing content.
Fork-based Themes β±οΈ 20 mins | π‘ Intermediate
1
2
3
4
5
6
7
# Example: Fork Beautiful Jekyll theme
git clone https://github.com/daattali/beautiful-jekyll.git
cd beautiful-jekyll
# Customize and deploy
git remote set-url origin https://github.com/<username>/<username>.github.io.git
git push origin main
β οΈ Fork Warning: Harder to update but gives you complete control over the theme code.
π¨ Popular Jekyll Themes β±οΈ 5 mins | π’ Beginner
Top 10 Recommended Themes:
- Minima - Default Jekyll theme, clean and simple
- Chirpy - Feature-rich blog theme with dark mode
- Beautiful Jekyll - Ready-to-use template for GitHub Pages
- Minimal Mistakes - Flexible two-column theme
- Academic Pages - Perfect for academic portfolios
- Hyde - Brazen two-column theme
- Lanyon - Content-first sliding sidebar theme
- So Simple - Simple, clean, and responsive
- Cayman - Clean GitHub Pages theme
- Architect - GitHub Pages theme with header banner
π Deployment Workflows
π‘ Deployment Options: GitHub Pages builds automatically, but custom workflows give you more control and faster builds.
Automatic GitHub Pages β±οΈ 2 mins | π’ Beginner
Default Behavior:
- Push to
main
branch - GitHub automatically builds and deploys
- No configuration needed
β οΈ Limitation: Only supports GitHub Pages safe plugins and themes.
GitHub Actions (Advanced) β±οΈ 30 mins | π΄ Expert
Prerequisites: Understanding of CI/CD, YAML syntax
π‘ Why GitHub Actions? Use any Jekyll plugins, custom build processes, and faster deployment.
flowchart TD
A[Push to main] --> B[GitHub Actions Trigger]
B --> C[Setup Ruby Environment]
C --> D[Install Dependencies]
D --> E[Build Jekyll Site]
E --> F[Deploy to gh-pages]
F --> G[Site Live!]
style A fill:#e3f2fd
style G fill:#c8e6c9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# .github/workflows/jekyll.yml
name: Build and Deploy
on:
push:
branches: [ main ]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.0
bundler-cache: true
- name: Build site
run: bundle exec jekyll build
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: $
publish_dir: ./_site
β οΈ Expert Warning: Requires understanding of GitHub Actions, secrets management, and debugging CI/CD pipelines.
Manual Deployment β±οΈ 5 mins | π‘ Intermediate
1
2
3
4
5
6
7
# Build and push
jekyll build
cp -r _site/* ../<username>.github.io/
cd ../<username>.github.io
git add .
git commit -m "Update site"
git push origin main
π§ Common Tasks
Adding Comments (Disqus) β±οΈ 15 mins | π‘ Intermediate
Prerequisites: Disqus account, basic HTML knowledge
π‘ Why Comments? Engage readers and build community around your content.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!-- _includes/disqus.html -->
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = "https://sagarnikam123.github.io/posts/jekyll-github-pages-complete-installation-guide/";
this.page.identifier = "/posts/jekyll-github-pages-complete-installation-guide";
};
(function() {
var d = document, s = d.createElement('script');
s.src = 'https://your-site.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
β οΈ Setup Required: Replace
your-site
with your actual Disqus shortname.
SEO Optimization β±οΈ 10 mins | π‘ Intermediate
π‘ Why SEO? Help search engines understand and rank your content better. For comprehensive SEO strategies, check out the Jekyll SEO Tag documentation.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# _config.yml
plugins:
- jekyll-seo-tag
- jekyll-sitemap
# In layout head
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>Complete Jekyll Guide: From Installation to GitHub Pages Blogging | Sagar Nikam Blog</title>
<meta name="generator" content="Jekyll v4.4.1" />
<meta property="og:title" content="Complete Jekyll Guide: From Installation to GitHub Pages Blogging" />
<meta name="author" content="Sagar Nikam" />
<meta property="og:locale" content="en" />
<meta name="description" content="Step-by-step Jekyll tutorial for beginners. Learn Jekyll installation, GitHub Pages setup, blog creation, themes, and deployment. Complete guide with examples." />
<meta property="og:description" content="Step-by-step Jekyll tutorial for beginners. Learn Jekyll installation, GitHub Pages setup, blog creation, themes, and deployment. Complete guide with examples." />
<link rel="canonical" href="https://sagarnikam123.github.io/posts/jekyll-github-pages-complete-installation-guide/" />
<meta property="og:url" content="https://sagarnikam123.github.io/posts/jekyll-github-pages-complete-installation-guide/" />
<meta property="og:site_name" content="Sagar Nikam Blog" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2016-06-11T12:00:00+05:30" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="Complete Jekyll Guide: From Installation to GitHub Pages Blogging" />
<meta name="twitter:site" content="@sagarnikam123" />
<meta name="twitter:creator" content="@sagarnikam123" />
<meta name="google-site-verification" content="V-PEUxKOJVVp0mdqrTPaBwqI-gjZoFUSmms_Jg8Ut3A" />
<meta name="yandex-verification" content="f741b487c94b42ec" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"Sagar Nikam","url":"https://github.com/sagarnikam123/"},"dateModified":"2025-08-29T11:57:28+05:30","datePublished":"2016-06-11T12:00:00+05:30","description":"Step-by-step Jekyll tutorial for beginners. Learn Jekyll installation, GitHub Pages setup, blog creation, themes, and deployment. Complete guide with examples.","headline":"Complete Jekyll Guide: From Installation to GitHub Pages Blogging","mainEntityOfPage":{"@type":"WebPage","@id":"https://sagarnikam123.github.io/posts/jekyll-github-pages-complete-installation-guide/"},"url":"https://sagarnikam123.github.io/posts/jekyll-github-pages-complete-installation-guide/"}</script>
<!-- End Jekyll SEO tag -->
πβοΈ Try It Now - SEO Exercise
- Add the SEO plugin to your
_config.yml
- Add `
` to your layoutβs <head>
section
- Check your page source for new meta tags
Analytics Integration β±οΈ 10 mins | π‘ Intermediate
Prerequisites: Google Analytics account
1
2
3
4
5
6
7
8
<!-- _includes/analytics.html -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'GA_MEASUREMENT_ID');
</script>
β οΈ Privacy Note: Always inform users about analytics tracking and comply with GDPR/privacy laws.
π Troubleshooting
π‘ Debugging Approach: Start with simple fixes, then move to advanced diagnostics. Most issues are configuration-related.
Common Issues β±οΈ 5 mins | π‘ Intermediate
Site not updating?
1
2
3
# Clear cache and rebuild
jekyll clean
bundle exec jekyll serve
Dependency conflicts?
1
2
# Update all gems
bundle update
GitHub Pages not building?
1
2
3
# Check GitHub Pages status
curl -H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/<username>/<username>.github.io/pages
Local vs GitHub differences?
1
2
# Test with GitHub Pages restrictions
bundle exec jekyll serve --safe
β οΈ Common Mistake: Using plugins not supported by GitHub Pages. Check the allowed plugins list.
Build Errors β±οΈ 10 mins | π‘ Intermediate
Check your setup:
1
2
3
4
5
6
7
8
# Check Jekyll version compatibility
bundle exec jekyll --version
# Validate configuration
bundle exec jekyll doctor
# Test build with detailed output
bundle exec jekyll build --verbose
πβοΈ Try It Now - Debug Exercise
- Run
jekyll doctor
to check for issues - Intentionally break your
_config.yml
(add invalid YAML) - Try to build and read the error message
- Fix the error and rebuild
flowchart LR
A[Run jekyll doctor] --> B[Break _config.yml]
B --> C[Try to build]
C --> D[Read error message]
D --> E[Fix the error]
E --> F[Rebuild successfully]
style A fill:#e3f2fd
style F fill:#c8e6c9
π‘ Pro Tip: Error messages usually tell you exactly whatβs wrong and which file/line to check.
β Frequently Asked Questions
What is Jekyll and why should I use it?
Jekyll is a static site generator that transforms plain text into static websites and blogs. Itβs perfect for developers who want fast, secure sites without databases or server-side processing.
Is Jekyll free to use?
Yes, Jekyll is completely free and open-source. GitHub Pages hosting is also free for public repositories.
Do I need coding experience to use Jekyll?
Basic knowledge helps, but beginners can start with simple themes and learn gradually. Our guide provides step-by-step instructions for all skill levels.
How long does it take to set up a Jekyll blog?
With our quick start guide, you can have a basic blog live in 5-10 minutes. Full customization may take several hours depending on your needs.
Can I migrate from WordPress to Jekyll?
Yes, there are tools and plugins available to help migrate content from WordPress and other platforms to Jekyll.
Whatβs the difference between Jekyll and other static site generators?
Jekyll has excellent GitHub Pages integration, a large community, extensive theme ecosystem, and Ruby-based flexibility that makes it ideal for blogs and documentation sites.
π Related Posts
Continue Your Jekyll Journey:
- Jekyll Documentation - Official Jekyll documentation
- Jekyll Themes - Browse and download Jekyll themes
- Jekyll Plugins - Extend Jekyll functionality
- Jekyll vs Other Static Site Generators - Compare static site generators
- Jekyll Community Forum - Get help from the community
- Jekyll SEO Tag Plugin - SEO optimization for Jekyll
- Jekyll Collections Guide - Organize content with collections
- Liquid Template Language - Master Jekyllβs templating
Web Development Fundamentals:
- Git and GitHub Essentials - Version control basics
- Markdown Guide - Complete Markdown reference
- CSS Grid and Flexbox - Modern CSS layouts
- JavaScript ES6+ Features - Modern JavaScript
π Resources
π’ Beginner Resources
π‘ Intermediate Resources
π΄ Advanced Resources
π― Next Steps
π’ If Youβre a Beginner
- Complete the Quick Start - Get your site live first
- Write 3-5 posts - Focus on content over customization
- Learn basic Markdown - Essential syntax guide for writing posts
- Customize your About page - Make it personal
π‘ If Youβre Intermediate
- Set up local development - Faster iteration cycle
- Choose and customize a theme - Make it yours
- Add essential plugins - SEO, analytics, comments
- Organize your content - Categories and tags
π΄ If Youβre Advanced
- Create custom layouts - Unique design elements
- Build custom plugins - Extend Jekyllβs functionality
- Optimize performance - Fast loading techniques and best practices
- Set up CI/CD - Automated testing and deployment
π Conclusion
You now have everything needed to create a professional Jekyll blog on GitHub Pages! Whether youβre just starting or looking to master advanced techniques, Jekyll provides a powerful platform for blogging and documentation.
Remember:
- π’ Beginners: Start simple, focus on content first
- π‘ Intermediate: Experiment with themes and plugins
- π΄ Advanced: Push the boundaries with custom solutions
- Use the troubleshooting section when issues arise
- Join the Jekyll community for support and inspiration
Happy blogging with Jekyll! π