Home Blog Jekyll Layouts Explained: How to Structure Your Site Templates
Tutorial

Jekyll Layouts Explained: How to Structure Your Site Templates

A complete guide to Jekyll layouts — how they work, layout inheritance, passing data, and building a clean layout hierarchy for any Jekyll site.

Jekyll Layouts Explained: How to Structure Your Site Templates

Layouts are Jekyll’s template system — reusable HTML wrappers that surround your content. Every page on your Jekyll site uses a layout, even if you have not thought about it explicitly. Understanding how layouts work, and how to structure them, is one of the most important skills in Jekyll development.

What is a layout?

A layout is an HTML file in the _layouts/ directory that contains a `<div class="read-progress" id="read-progress"></div>

Home Blog Jekyll Front Matter: The Complete Guide
Tutorial

Jekyll Front Matter: The Complete Guide

Everything you need to know about Jekyll front matter — YAML syntax, built-in variables, custom fields, defaults, and real-world examples for posts, pages, and collections.

Jekyll Front Matter: The Complete Guide

Front matter is how Jekyll knows what to do with a file. Without it, Jekyll treats a file as a static asset and copies it unchanged. With it, Jekyll processes the file through its template engine, applies a layout, and builds a page with all the data you specified.

Understanding front matter is foundational to using Jekyll effectively. This guide covers everything from basic syntax to advanced defaults.

What is front matter?

Front matter is a block of YAML at the top of a file, enclosed between triple-dashed lines:

---
layout: post
title: "My First Post"
date: 2026-07-29
---

Content goes here.

The triple dashes are required — both opening and closing. Jekyll strips the front matter block before rendering the content and makes all the variables available in your Liquid templates.

Any file in a Jekyll site that has front matter (even empty front matter --- ---) is processed by Jekyll. Files without front matter are copied as-is.

YAML basics

Front matter uses YAML (YAML Ain’t Markup Language). You only need to know a handful of YAML patterns to write effective front matter.

Strings:

title: "My Post Title"
title: My Post Title        # quotes are optional for simple strings
description: "A post about Jekyll front matter  the basics and beyond."

Numbers:

nav_order: 3
weight: 10

Booleans:

published: true
featured: false
toc: true

Lists (arrays):

tags:
  - jekyll
  - tutorial
  - yaml

# Or inline:
tags: [jekyll, tutorial, yaml]

Nested objects:

author:
  name: Marcus Webb
  email: marcus@example.com
  twitter: marcuswebb

Multiline strings:

description: >
  This is a long description that spans
  multiple lines but will be joined into
  a single paragraph.

excerpt: |
  This preserves
  line breaks
  exactly.

Built-in Jekyll front matter variables

Jekyll recognises several variable names and uses them specially:

layout

Specifies which layout file from _layouts/ to use:

layout: post        # uses _layouts/post.html
layout: page        # uses _layouts/page.html
layout: default     # uses _layouts/default.html
layout: none        # no layout — render content only

If omitted, Jekyll uses no layout (renders content only). Most files should specify a layout.

title

The page title. Available as Jekyll Front Matter: The Complete Guide in templates and used by jekyll-seo-tag for the <title> element:

title: "Jekyll Front Matter: The Complete Guide"

date

For posts in _posts/, the date is normally part of the filename (2026-07-29-my-post.md). You can override or supplement it with a front matter date:

date: 2026-07-29
date: 2026-07-29 14:30:00 +0100    # with time and timezone

The date variable sets page.date, which is used for sorting posts and for display in templates.

published

Controls whether Jekyll includes the page in the build output:

published: false    # page is excluded from build
published: true     # page is included (default)

Drafts in _drafts/ are automatically excluded unless you run jekyll serve --drafts.

Overrides Jekyll’s default URL for the page:

permalink: /about/
permalink: /blog/:year/:month/:title/
permalink: /themes/minimal/

Available :placeholders for posts: :year, :month, :day, :title, :categories, :slug.

categories and tags

Categorise and tag your content:

categories: Tutorial
categories:
  - Tutorial
  - Jekyll

tags: [front-matter, yaml, jekyll]

categories affects the default URL of posts (/tutorial/2026/07/29/my-post/). tags do not affect URLs.

excerpt

By default, Jekyll uses the first paragraph of a post as its excerpt. Override with:

excerpt: "A short custom summary for use in post listings and meta descriptions."

last_modified_at

Used by jekyll-seo-tag and jekyll-sitemap to set the <lastmod> value:

last_modified_at: 2026-07-29

Custom front matter variables

Any variable you add to front matter becomes available in your templates as page.variable_name:

---
layout: post
title: "My Post"
author: Marcus Webb
reading_time: 8
featured_image: /assets/images/hero.webp
show_newsletter: true
difficulty: beginner
---

In your templates:


<p>By {{ page.author }} · {{ page.reading_time }} min read</p>

{% if page.featured_image %}
<img src="{{ page.featured_image }}" alt="{{ page.title }}">
{% endif %}

{% if page.show_newsletter %}
  {% include newsletter-form.html %}
{% endif %}

This pattern is powerful — you can add any metadata to a page and use it anywhere in your templates without touching layout files.

Front matter in different file types

Posts (_posts/)

---
layout: post
title: "How to Install a Jekyll Theme"
description: "Step-by-step guide to installing any Jekyll theme in under 10 minutes."
date: 2026-07-29
last_modified_at: 2026-07-29
image: /assets/images/blog/install-jekyll-theme.webp
author: Marcus Webb
category: Tutorial
tags: [jekyll, themes, tutorial]
featured: false
toc: true
---

Pages (_pages/ or root)

---
layout: page
title: "About JekyllHub"
description: "The story behind JekyllHub  a marketplace for Jekyll themes."
permalink: /about/
nav_order: 4
---

Collection items (_themes/, _authors/, etc.)

---
layout: theme
title: "Minimal Mistakes"
github_url: https://github.com/mmistakes/minimal-mistakes
stars: 12800
price: 0
category: Blog
tags: [responsive, dark-mode, sidebar]
---

Layouts and includes

Layouts and includes can also have front matter, but it is rarely used. One exception: layout inheritance.

---
layout: default    # This layout itself uses another layout
---

Front matter defaults

Repeating the same front matter on every post is tedious. Jekyll’s defaults feature lets you set front matter values globally in _config.yml:

# _config.yml
defaults:
  # Default for all posts
  - scope:
      path: ""
      type: posts
    values:
      layout: post
      author: Marcus Webb
      toc: true
      featured: false

  # Default for all pages
  - scope:
      path: ""
      type: pages
    values:
      layout: page

  # Default for a specific directory
  - scope:
      path: "_themes"
      type: themes
    values:
      layout: theme

  # Default for files matching a path pattern
  - scope:
      path: "guides/**"
    values:
      layout: guide
      show_sidebar: true

With these defaults set, you do not need to specify layout: post or author: Marcus Webb on every post — Jekyll applies them automatically. Front matter in the file still overrides defaults.

Specificity: More specific scopes override less specific ones. A post-level default overrides a site-wide default. Front matter in the file overrides both.

Accessing front matter in templates

All front matter variables are available in Liquid templates:


<!-- In the layout file -->
<h1>{{ page.title }}</h1>
<p>{{ page.description }}</p>
<time>{{ page.date | date: "%B %-d, %Y" }}</time>

<!-- Conditional display -->
{% if page.toc %}
  {% include toc.html %}
{% endif %}

<!-- Iteration over arrays -->
{% for tag in page.tags %}
  <span class="tag">{{ tag }}</span>
{% endfor %}

<!-- Nested objects -->
{{ page.author.name }}
{{ page.author.twitter }}

Accessing front matter from other pages

You can loop through all pages or posts and access their front matter:


<!-- List all posts with their metadata -->
{% for post in site.posts %}
  <article>
    <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
    <p>{{ post.description }}</p>
    {% if post.featured %}
      <span class="badge">Featured</span>
    {% endif %}
  </article>
{% endfor %}

<!-- Filter by front matter value -->
{% assign featured_posts = site.posts | where: "featured", true %}
{% for post in featured_posts %}
  <a href="{{ post.url }}">{{ post.title }}</a>
{% endfor %}

Common front matter patterns

Hiding a page from navigation while keeping it live

---
layout: page
title: "Thank You"
permalink: /thank-you/
sitemap: false
---

Overriding the excerpt

---
layout: post
title: "My Post"
excerpt: "This custom excerpt appears in post listings and meta descriptions instead of the first paragraph."
---

Specifying an OG image for social sharing

---
layout: post
title: "My Post"
image: /assets/images/blog/my-post.webp
---

With jekyll-seo-tag, image is automatically used as the Open Graph image.

Controlling the canonical URL

---
layout: post
title: "My Post"
canonical_url: "https://original-source.com/my-post/"
---

Useful if you are syndicating content from another site.

Validating front matter

YAML syntax errors in front matter cause Jekyll build errors. Common mistakes:

Unquoted colons: A colon in a value must be quoted.

# Bad
title: Jekyll: The Complete Guide

# Good
title: "Jekyll: The Complete Guide"

Tab characters: YAML uses spaces, not tabs. Always indent with spaces.

Inconsistent list formatting:

# Bad — mixing inline and block style
tags: [jekyll
  tutorial]

# Good
tags: [jekyll, tutorial]
# Or
tags:
  - jekyll
  - tutorial

Run bundle exec jekyll build --verbose to see detailed error output when front matter parsing fails.

Front matter is the connective tissue of a Jekyll site — it is how content communicates with templates. Mastering it unlocks the full power of Jekyll’s data-driven architecture.

Share LinkedIn

</button> ` placeholder. When Jekyll builds a page, it takes the page’s content and injects it wherever `<div class="read-progress" id="read-progress"></div>

Home Blog Jekyll Front Matter: The Complete Guide
Tutorial

Jekyll Front Matter: The Complete Guide

Everything you need to know about Jekyll front matter — YAML syntax, built-in variables, custom fields, defaults, and real-world examples for posts, pages, and collections.

Jekyll Front Matter: The Complete Guide

Front matter is how Jekyll knows what to do with a file. Without it, Jekyll treats a file as a static asset and copies it unchanged. With it, Jekyll processes the file through its template engine, applies a layout, and builds a page with all the data you specified.

Understanding front matter is foundational to using Jekyll effectively. This guide covers everything from basic syntax to advanced defaults.

What is front matter?

Front matter is a block of YAML at the top of a file, enclosed between triple-dashed lines:

---
layout: post
title: "My First Post"
date: 2026-07-29
---

Content goes here.

The triple dashes are required — both opening and closing. Jekyll strips the front matter block before rendering the content and makes all the variables available in your Liquid templates.

Any file in a Jekyll site that has front matter (even empty front matter --- ---) is processed by Jekyll. Files without front matter are copied as-is.

YAML basics

Front matter uses YAML (YAML Ain’t Markup Language). You only need to know a handful of YAML patterns to write effective front matter.

Strings:

title: "My Post Title"
title: My Post Title        # quotes are optional for simple strings
description: "A post about Jekyll front matter  the basics and beyond."

Numbers:

nav_order: 3
weight: 10

Booleans:

published: true
featured: false
toc: true

Lists (arrays):

tags:
  - jekyll
  - tutorial
  - yaml

# Or inline:
tags: [jekyll, tutorial, yaml]

Nested objects:

author:
  name: Marcus Webb
  email: marcus@example.com
  twitter: marcuswebb

Multiline strings:

description: >
  This is a long description that spans
  multiple lines but will be joined into
  a single paragraph.

excerpt: |
  This preserves
  line breaks
  exactly.

Built-in Jekyll front matter variables

Jekyll recognises several variable names and uses them specially:

layout

Specifies which layout file from _layouts/ to use:

layout: post        # uses _layouts/post.html
layout: page        # uses _layouts/page.html
layout: default     # uses _layouts/default.html
layout: none        # no layout — render content only

If omitted, Jekyll uses no layout (renders content only). Most files should specify a layout.

title

The page title. Available as Jekyll Front Matter: The Complete Guide in templates and used by jekyll-seo-tag for the <title> element:

title: "Jekyll Front Matter: The Complete Guide"

date

For posts in _posts/, the date is normally part of the filename (2026-07-29-my-post.md). You can override or supplement it with a front matter date:

date: 2026-07-29
date: 2026-07-29 14:30:00 +0100    # with time and timezone

The date variable sets page.date, which is used for sorting posts and for display in templates.

published

Controls whether Jekyll includes the page in the build output:

published: false    # page is excluded from build
published: true     # page is included (default)

Drafts in _drafts/ are automatically excluded unless you run jekyll serve --drafts.

Overrides Jekyll’s default URL for the page:

permalink: /about/
permalink: /blog/:year/:month/:title/
permalink: /themes/minimal/

Available :placeholders for posts: :year, :month, :day, :title, :categories, :slug.

categories and tags

Categorise and tag your content:

categories: Tutorial
categories:
  - Tutorial
  - Jekyll

tags: [front-matter, yaml, jekyll]

categories affects the default URL of posts (/tutorial/2026/07/29/my-post/). tags do not affect URLs.

excerpt

By default, Jekyll uses the first paragraph of a post as its excerpt. Override with:

excerpt: "A short custom summary for use in post listings and meta descriptions."

last_modified_at

Used by jekyll-seo-tag and jekyll-sitemap to set the <lastmod> value:

last_modified_at: 2026-07-29

Custom front matter variables

Any variable you add to front matter becomes available in your templates as page.variable_name:

---
layout: post
title: "My Post"
author: Marcus Webb
reading_time: 8
featured_image: /assets/images/hero.webp
show_newsletter: true
difficulty: beginner
---

In your templates:


<p>By {{ page.author }} · {{ page.reading_time }} min read</p>

{% if page.featured_image %}
<img src="{{ page.featured_image }}" alt="{{ page.title }}">
{% endif %}

{% if page.show_newsletter %}
  {% include newsletter-form.html %}
{% endif %}

This pattern is powerful — you can add any metadata to a page and use it anywhere in your templates without touching layout files.

Front matter in different file types

Posts (_posts/)

---
layout: post
title: "How to Install a Jekyll Theme"
description: "Step-by-step guide to installing any Jekyll theme in under 10 minutes."
date: 2026-07-29
last_modified_at: 2026-07-29
image: /assets/images/blog/install-jekyll-theme.webp
author: Marcus Webb
category: Tutorial
tags: [jekyll, themes, tutorial]
featured: false
toc: true
---

Pages (_pages/ or root)

---
layout: page
title: "About JekyllHub"
description: "The story behind JekyllHub  a marketplace for Jekyll themes."
permalink: /about/
nav_order: 4
---

Collection items (_themes/, _authors/, etc.)

---
layout: theme
title: "Minimal Mistakes"
github_url: https://github.com/mmistakes/minimal-mistakes
stars: 12800
price: 0
category: Blog
tags: [responsive, dark-mode, sidebar]
---

Layouts and includes

Layouts and includes can also have front matter, but it is rarely used. One exception: layout inheritance.

---
layout: default    # This layout itself uses another layout
---

Front matter defaults

Repeating the same front matter on every post is tedious. Jekyll’s defaults feature lets you set front matter values globally in _config.yml:

# _config.yml
defaults:
  # Default for all posts
  - scope:
      path: ""
      type: posts
    values:
      layout: post
      author: Marcus Webb
      toc: true
      featured: false

  # Default for all pages
  - scope:
      path: ""
      type: pages
    values:
      layout: page

  # Default for a specific directory
  - scope:
      path: "_themes"
      type: themes
    values:
      layout: theme

  # Default for files matching a path pattern
  - scope:
      path: "guides/**"
    values:
      layout: guide
      show_sidebar: true

With these defaults set, you do not need to specify layout: post or author: Marcus Webb on every post — Jekyll applies them automatically. Front matter in the file still overrides defaults.

Specificity: More specific scopes override less specific ones. A post-level default overrides a site-wide default. Front matter in the file overrides both.

Accessing front matter in templates

All front matter variables are available in Liquid templates:


<!-- In the layout file -->
<h1>{{ page.title }}</h1>
<p>{{ page.description }}</p>
<time>{{ page.date | date: "%B %-d, %Y" }}</time>

<!-- Conditional display -->
{% if page.toc %}
  {% include toc.html %}
{% endif %}

<!-- Iteration over arrays -->
{% for tag in page.tags %}
  <span class="tag">{{ tag }}</span>
{% endfor %}

<!-- Nested objects -->
{{ page.author.name }}
{{ page.author.twitter }}

Accessing front matter from other pages

You can loop through all pages or posts and access their front matter:


<!-- List all posts with their metadata -->
{% for post in site.posts %}
  <article>
    <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
    <p>{{ post.description }}</p>
    {% if post.featured %}
      <span class="badge">Featured</span>
    {% endif %}
  </article>
{% endfor %}

<!-- Filter by front matter value -->
{% assign featured_posts = site.posts | where: "featured", true %}
{% for post in featured_posts %}
  <a href="{{ post.url }}">{{ post.title }}</a>
{% endfor %}

Common front matter patterns

Hiding a page from navigation while keeping it live

---
layout: page
title: "Thank You"
permalink: /thank-you/
sitemap: false
---

Overriding the excerpt

---
layout: post
title: "My Post"
excerpt: "This custom excerpt appears in post listings and meta descriptions instead of the first paragraph."
---

Specifying an OG image for social sharing

---
layout: post
title: "My Post"
image: /assets/images/blog/my-post.webp
---

With jekyll-seo-tag, image is automatically used as the Open Graph image.

Controlling the canonical URL

---
layout: post
title: "My Post"
canonical_url: "https://original-source.com/my-post/"
---

Useful if you are syndicating content from another site.

Validating front matter

YAML syntax errors in front matter cause Jekyll build errors. Common mistakes:

Unquoted colons: A colon in a value must be quoted.

# Bad
title: Jekyll: The Complete Guide

# Good
title: "Jekyll: The Complete Guide"

Tab characters: YAML uses spaces, not tabs. Always indent with spaces.

Inconsistent list formatting:

# Bad — mixing inline and block style
tags: [jekyll
  tutorial]

# Good
tags: [jekyll, tutorial]
# Or
tags:
  - jekyll
  - tutorial

Run bundle exec jekyll build --verbose to see detailed error output when front matter parsing fails.

Front matter is the connective tissue of a Jekyll site — it is how content communicates with templates. Mastering it unlocks the full power of Jekyll’s data-driven architecture.

Share LinkedIn

</button> ` appears in the layout.


<!-- _layouts/default.html -->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>{{ page.title }} | {{ site.title }}</title>
  <link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
</head>
<body>
  {% include nav.html %}

  <main>
    {{ content }}
  </main>

  {% include footer.html %}
</body>
</html>

When this layout is applied to a post, `<div class="read-progress" id="read-progress"></div>

Home Blog Jekyll Front Matter: The Complete Guide
Tutorial

Jekyll Front Matter: The Complete Guide

Everything you need to know about Jekyll front matter — YAML syntax, built-in variables, custom fields, defaults, and real-world examples for posts, pages, and collections.

Jekyll Front Matter: The Complete Guide

Front matter is how Jekyll knows what to do with a file. Without it, Jekyll treats a file as a static asset and copies it unchanged. With it, Jekyll processes the file through its template engine, applies a layout, and builds a page with all the data you specified.

Understanding front matter is foundational to using Jekyll effectively. This guide covers everything from basic syntax to advanced defaults.

What is front matter?

Front matter is a block of YAML at the top of a file, enclosed between triple-dashed lines:

---
layout: post
title: "My First Post"
date: 2026-07-29
---

Content goes here.

The triple dashes are required — both opening and closing. Jekyll strips the front matter block before rendering the content and makes all the variables available in your Liquid templates.

Any file in a Jekyll site that has front matter (even empty front matter --- ---) is processed by Jekyll. Files without front matter are copied as-is.

YAML basics

Front matter uses YAML (YAML Ain’t Markup Language). You only need to know a handful of YAML patterns to write effective front matter.

Strings:

title: "My Post Title"
title: My Post Title        # quotes are optional for simple strings
description: "A post about Jekyll front matter  the basics and beyond."

Numbers:

nav_order: 3
weight: 10

Booleans:

published: true
featured: false
toc: true

Lists (arrays):

tags:
  - jekyll
  - tutorial
  - yaml

# Or inline:
tags: [jekyll, tutorial, yaml]

Nested objects:

author:
  name: Marcus Webb
  email: marcus@example.com
  twitter: marcuswebb

Multiline strings:

description: >
  This is a long description that spans
  multiple lines but will be joined into
  a single paragraph.

excerpt: |
  This preserves
  line breaks
  exactly.

Built-in Jekyll front matter variables

Jekyll recognises several variable names and uses them specially:

layout

Specifies which layout file from _layouts/ to use:

layout: post        # uses _layouts/post.html
layout: page        # uses _layouts/page.html
layout: default     # uses _layouts/default.html
layout: none        # no layout — render content only

If omitted, Jekyll uses no layout (renders content only). Most files should specify a layout.

title

The page title. Available as Jekyll Front Matter: The Complete Guide in templates and used by jekyll-seo-tag for the <title> element:

title: "Jekyll Front Matter: The Complete Guide"

date

For posts in _posts/, the date is normally part of the filename (2026-07-29-my-post.md). You can override or supplement it with a front matter date:

date: 2026-07-29
date: 2026-07-29 14:30:00 +0100    # with time and timezone

The date variable sets page.date, which is used for sorting posts and for display in templates.

published

Controls whether Jekyll includes the page in the build output:

published: false    # page is excluded from build
published: true     # page is included (default)

Drafts in _drafts/ are automatically excluded unless you run jekyll serve --drafts.

Overrides Jekyll’s default URL for the page:

permalink: /about/
permalink: /blog/:year/:month/:title/
permalink: /themes/minimal/

Available :placeholders for posts: :year, :month, :day, :title, :categories, :slug.

categories and tags

Categorise and tag your content:

categories: Tutorial
categories:
  - Tutorial
  - Jekyll

tags: [front-matter, yaml, jekyll]

categories affects the default URL of posts (/tutorial/2026/07/29/my-post/). tags do not affect URLs.

excerpt

By default, Jekyll uses the first paragraph of a post as its excerpt. Override with:

excerpt: "A short custom summary for use in post listings and meta descriptions."

last_modified_at

Used by jekyll-seo-tag and jekyll-sitemap to set the <lastmod> value:

last_modified_at: 2026-07-29

Custom front matter variables

Any variable you add to front matter becomes available in your templates as page.variable_name:

---
layout: post
title: "My Post"
author: Marcus Webb
reading_time: 8
featured_image: /assets/images/hero.webp
show_newsletter: true
difficulty: beginner
---

In your templates:


<p>By {{ page.author }} · {{ page.reading_time }} min read</p>

{% if page.featured_image %}
<img src="{{ page.featured_image }}" alt="{{ page.title }}">
{% endif %}

{% if page.show_newsletter %}
  {% include newsletter-form.html %}
{% endif %}

This pattern is powerful — you can add any metadata to a page and use it anywhere in your templates without touching layout files.

Front matter in different file types

Posts (_posts/)

---
layout: post
title: "How to Install a Jekyll Theme"
description: "Step-by-step guide to installing any Jekyll theme in under 10 minutes."
date: 2026-07-29
last_modified_at: 2026-07-29
image: /assets/images/blog/install-jekyll-theme.webp
author: Marcus Webb
category: Tutorial
tags: [jekyll, themes, tutorial]
featured: false
toc: true
---

Pages (_pages/ or root)

---
layout: page
title: "About JekyllHub"
description: "The story behind JekyllHub  a marketplace for Jekyll themes."
permalink: /about/
nav_order: 4
---

Collection items (_themes/, _authors/, etc.)

---
layout: theme
title: "Minimal Mistakes"
github_url: https://github.com/mmistakes/minimal-mistakes
stars: 12800
price: 0
category: Blog
tags: [responsive, dark-mode, sidebar]
---

Layouts and includes

Layouts and includes can also have front matter, but it is rarely used. One exception: layout inheritance.

---
layout: default    # This layout itself uses another layout
---

Front matter defaults

Repeating the same front matter on every post is tedious. Jekyll’s defaults feature lets you set front matter values globally in _config.yml:

# _config.yml
defaults:
  # Default for all posts
  - scope:
      path: ""
      type: posts
    values:
      layout: post
      author: Marcus Webb
      toc: true
      featured: false

  # Default for all pages
  - scope:
      path: ""
      type: pages
    values:
      layout: page

  # Default for a specific directory
  - scope:
      path: "_themes"
      type: themes
    values:
      layout: theme

  # Default for files matching a path pattern
  - scope:
      path: "guides/**"
    values:
      layout: guide
      show_sidebar: true

With these defaults set, you do not need to specify layout: post or author: Marcus Webb on every post — Jekyll applies them automatically. Front matter in the file still overrides defaults.

Specificity: More specific scopes override less specific ones. A post-level default overrides a site-wide default. Front matter in the file overrides both.

Accessing front matter in templates

All front matter variables are available in Liquid templates:


<!-- In the layout file -->
<h1>{{ page.title }}</h1>
<p>{{ page.description }}</p>
<time>{{ page.date | date: "%B %-d, %Y" }}</time>

<!-- Conditional display -->
{% if page.toc %}
  {% include toc.html %}
{% endif %}

<!-- Iteration over arrays -->
{% for tag in page.tags %}
  <span class="tag">{{ tag }}</span>
{% endfor %}

<!-- Nested objects -->
{{ page.author.name }}
{{ page.author.twitter }}

Accessing front matter from other pages

You can loop through all pages or posts and access their front matter:


<!-- List all posts with their metadata -->
{% for post in site.posts %}
  <article>
    <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
    <p>{{ post.description }}</p>
    {% if post.featured %}
      <span class="badge">Featured</span>
    {% endif %}
  </article>
{% endfor %}

<!-- Filter by front matter value -->
{% assign featured_posts = site.posts | where: "featured", true %}
{% for post in featured_posts %}
  <a href="{{ post.url }}">{{ post.title }}</a>
{% endfor %}

Common front matter patterns

Hiding a page from navigation while keeping it live

---
layout: page
title: "Thank You"
permalink: /thank-you/
sitemap: false
---

Overriding the excerpt

---
layout: post
title: "My Post"
excerpt: "This custom excerpt appears in post listings and meta descriptions instead of the first paragraph."
---

Specifying an OG image for social sharing

---
layout: post
title: "My Post"
image: /assets/images/blog/my-post.webp
---

With jekyll-seo-tag, image is automatically used as the Open Graph image.

Controlling the canonical URL

---
layout: post
title: "My Post"
canonical_url: "https://original-source.com/my-post/"
---

Useful if you are syndicating content from another site.

Validating front matter

YAML syntax errors in front matter cause Jekyll build errors. Common mistakes:

Unquoted colons: A colon in a value must be quoted.

# Bad
title: Jekyll: The Complete Guide

# Good
title: "Jekyll: The Complete Guide"

Tab characters: YAML uses spaces, not tabs. Always indent with spaces.

Inconsistent list formatting:

# Bad — mixing inline and block style
tags: [jekyll
  tutorial]

# Good
tags: [jekyll, tutorial]
# Or
tags:
  - jekyll
  - tutorial

Run bundle exec jekyll build --verbose to see detailed error output when front matter parsing fails.

Front matter is the connective tissue of a Jekyll site — it is how content communicates with templates. Mastering it unlocks the full power of Jekyll’s data-driven architecture.

Share LinkedIn

</button> ` is replaced with the post’s rendered HTML. The <head>, navigation, and footer appear on every page that uses this layout.

The _layouts directory

All layouts live in _layouts/ at your project root:

_layouts/
├── default.html    # base layout
├── page.html       # for standard pages
├── post.html       # for blog posts
├── theme.html      # for theme collection items
└── home.html       # for the homepage

Jekyll looks for the layout file specified in front matter — layout: post maps to _layouts/post.html.

Applying a layout

Specify a layout in the front matter of any page, post, or collection item:

---
layout: post
title: "My Blog Post"
---

Post content here.

Or use _config.yml defaults to apply layouts automatically to entire directories or types:

# _config.yml
defaults:
  - scope:
      type: posts
    values:
      layout: post
  - scope:
      type: pages
    values:
      layout: page

With this in place, you do not need to specify layout: in every post’s front matter.

Layout inheritance

The most powerful Jekyll layout feature is inheritance — a layout can itself use another layout. This lets you build a hierarchy that avoids repetition.

The base layout

Start with a default.html that contains everything common to all pages: <html>, <head>, nav, footer:


<!-- _layouts/default.html -->
<!DOCTYPE html>
<html lang="{{ page.lang | default: 'en' }}">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  {% seo %}
  <link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
  {% include analytics.html %}
</head>
<body class="{% if page.dark %}dark{% endif %}">
  {% include nav.html %}

  {{ content }}

  {% include footer.html %}
  <script src="{{ '/assets/js/main.js' | relative_url }}" defer></script>
</body>
</html>

A child layout

A post.html layout adds post-specific structure — the article wrapper, header, and sidebar — and uses default.html as its parent via front matter:


<!-- _layouts/post.html -->
---
layout: default
---

<div class="container post-container">
  <article class="post">
    <header class="post__header">
      <div class="post__meta">
        <span>{{ page.category }}</span>
        <time>{{ page.date | date: "%B %-d, %Y" }}</time>
      </div>
      <h1 class="post__title">{{ page.title }}</h1>
      {% if page.description %}
        <p class="post__description">{{ page.description }}</p>
      {% endif %}
      {% if page.image %}
        <img src="{{ page.image | relative_url }}" alt="{{ page.title }}" class="post__hero">
      {% endif %}
    </header>

    <div class="post__body">
      {{ content }}
    </div>
  </article>

  {% include sidebar.html %}
</div>

When a blog post uses layout: post, Jekyll:

  1. Renders the post’s Markdown content to HTML
  2. Injects it into post.html at `<div class="read-progress" id="read-progress"></div>
Home Blog Jekyll Front Matter: The Complete Guide
Tutorial

Jekyll Front Matter: The Complete Guide

Everything you need to know about Jekyll front matter — YAML syntax, built-in variables, custom fields, defaults, and real-world examples for posts, pages, and collections.

Jekyll Front Matter: The Complete Guide

Front matter is how Jekyll knows what to do with a file. Without it, Jekyll treats a file as a static asset and copies it unchanged. With it, Jekyll processes the file through its template engine, applies a layout, and builds a page with all the data you specified.

Understanding front matter is foundational to using Jekyll effectively. This guide covers everything from basic syntax to advanced defaults.

What is front matter?

Front matter is a block of YAML at the top of a file, enclosed between triple-dashed lines:

---
layout: post
title: "My First Post"
date: 2026-07-29
---

Content goes here.

The triple dashes are required — both opening and closing. Jekyll strips the front matter block before rendering the content and makes all the variables available in your Liquid templates.

Any file in a Jekyll site that has front matter (even empty front matter --- ---) is processed by Jekyll. Files without front matter are copied as-is.

YAML basics

Front matter uses YAML (YAML Ain’t Markup Language). You only need to know a handful of YAML patterns to write effective front matter.

Strings:

title: "My Post Title"
title: My Post Title        # quotes are optional for simple strings
description: "A post about Jekyll front matter  the basics and beyond."

Numbers:

nav_order: 3
weight: 10

Booleans:

published: true
featured: false
toc: true

Lists (arrays):

tags:
  - jekyll
  - tutorial
  - yaml

# Or inline:
tags: [jekyll, tutorial, yaml]

Nested objects:

author:
  name: Marcus Webb
  email: marcus@example.com
  twitter: marcuswebb

Multiline strings:

description: >
  This is a long description that spans
  multiple lines but will be joined into
  a single paragraph.

excerpt: |
  This preserves
  line breaks
  exactly.

Built-in Jekyll front matter variables

Jekyll recognises several variable names and uses them specially:

layout

Specifies which layout file from _layouts/ to use:

layout: post        # uses _layouts/post.html
layout: page        # uses _layouts/page.html
layout: default     # uses _layouts/default.html
layout: none        # no layout — render content only

If omitted, Jekyll uses no layout (renders content only). Most files should specify a layout.

title

The page title. Available as Jekyll Front Matter: The Complete Guide in templates and used by jekyll-seo-tag for the <title> element:

title: "Jekyll Front Matter: The Complete Guide"

date

For posts in _posts/, the date is normally part of the filename (2026-07-29-my-post.md). You can override or supplement it with a front matter date:

date: 2026-07-29
date: 2026-07-29 14:30:00 +0100    # with time and timezone

The date variable sets page.date, which is used for sorting posts and for display in templates.

published

Controls whether Jekyll includes the page in the build output:

published: false    # page is excluded from build
published: true     # page is included (default)

Drafts in _drafts/ are automatically excluded unless you run jekyll serve --drafts.

Overrides Jekyll’s default URL for the page:

permalink: /about/
permalink: /blog/:year/:month/:title/
permalink: /themes/minimal/

Available :placeholders for posts: :year, :month, :day, :title, :categories, :slug.

categories and tags

Categorise and tag your content:

categories: Tutorial
categories:
  - Tutorial
  - Jekyll

tags: [front-matter, yaml, jekyll]

categories affects the default URL of posts (/tutorial/2026/07/29/my-post/). tags do not affect URLs.

excerpt

By default, Jekyll uses the first paragraph of a post as its excerpt. Override with:

excerpt: "A short custom summary for use in post listings and meta descriptions."

last_modified_at

Used by jekyll-seo-tag and jekyll-sitemap to set the <lastmod> value:

last_modified_at: 2026-07-29

Custom front matter variables

Any variable you add to front matter becomes available in your templates as page.variable_name:

---
layout: post
title: "My Post"
author: Marcus Webb
reading_time: 8
featured_image: /assets/images/hero.webp
show_newsletter: true
difficulty: beginner
---

In your templates:


<p>By {{ page.author }} · {{ page.reading_time }} min read</p>

{% if page.featured_image %}
<img src="{{ page.featured_image }}" alt="{{ page.title }}">
{% endif %}

{% if page.show_newsletter %}
  {% include newsletter-form.html %}
{% endif %}

This pattern is powerful — you can add any metadata to a page and use it anywhere in your templates without touching layout files.

Front matter in different file types

Posts (_posts/)

---
layout: post
title: "How to Install a Jekyll Theme"
description: "Step-by-step guide to installing any Jekyll theme in under 10 minutes."
date: 2026-07-29
last_modified_at: 2026-07-29
image: /assets/images/blog/install-jekyll-theme.webp
author: Marcus Webb
category: Tutorial
tags: [jekyll, themes, tutorial]
featured: false
toc: true
---

Pages (_pages/ or root)

---
layout: page
title: "About JekyllHub"
description: "The story behind JekyllHub  a marketplace for Jekyll themes."
permalink: /about/
nav_order: 4
---

Collection items (_themes/, _authors/, etc.)

---
layout: theme
title: "Minimal Mistakes"
github_url: https://github.com/mmistakes/minimal-mistakes
stars: 12800
price: 0
category: Blog
tags: [responsive, dark-mode, sidebar]
---

Layouts and includes

Layouts and includes can also have front matter, but it is rarely used. One exception: layout inheritance.

---
layout: default    # This layout itself uses another layout
---

Front matter defaults

Repeating the same front matter on every post is tedious. Jekyll’s defaults feature lets you set front matter values globally in _config.yml:

# _config.yml
defaults:
  # Default for all posts
  - scope:
      path: ""
      type: posts
    values:
      layout: post
      author: Marcus Webb
      toc: true
      featured: false

  # Default for all pages
  - scope:
      path: ""
      type: pages
    values:
      layout: page

  # Default for a specific directory
  - scope:
      path: "_themes"
      type: themes
    values:
      layout: theme

  # Default for files matching a path pattern
  - scope:
      path: "guides/**"
    values:
      layout: guide
      show_sidebar: true

With these defaults set, you do not need to specify layout: post or author: Marcus Webb on every post — Jekyll applies them automatically. Front matter in the file still overrides defaults.

Specificity: More specific scopes override less specific ones. A post-level default overrides a site-wide default. Front matter in the file overrides both.

Accessing front matter in templates

All front matter variables are available in Liquid templates:


<!-- In the layout file -->
<h1>{{ page.title }}</h1>
<p>{{ page.description }}</p>
<time>{{ page.date | date: "%B %-d, %Y" }}</time>

<!-- Conditional display -->
{% if page.toc %}
  {% include toc.html %}
{% endif %}

<!-- Iteration over arrays -->
{% for tag in page.tags %}
  <span class="tag">{{ tag }}</span>
{% endfor %}

<!-- Nested objects -->
{{ page.author.name }}
{{ page.author.twitter }}

Accessing front matter from other pages

You can loop through all pages or posts and access their front matter:


<!-- List all posts with their metadata -->
{% for post in site.posts %}
  <article>
    <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
    <p>{{ post.description }}</p>
    {% if post.featured %}
      <span class="badge">Featured</span>
    {% endif %}
  </article>
{% endfor %}

<!-- Filter by front matter value -->
{% assign featured_posts = site.posts | where: "featured", true %}
{% for post in featured_posts %}
  <a href="{{ post.url }}">{{ post.title }}</a>
{% endfor %}

Common front matter patterns

Hiding a page from navigation while keeping it live

---
layout: page
title: "Thank You"
permalink: /thank-you/
sitemap: false
---

Overriding the excerpt

---
layout: post
title: "My Post"
excerpt: "This custom excerpt appears in post listings and meta descriptions instead of the first paragraph."
---

Specifying an OG image for social sharing

---
layout: post
title: "My Post"
image: /assets/images/blog/my-post.webp
---

With jekyll-seo-tag, image is automatically used as the Open Graph image.

Controlling the canonical URL

---
layout: post
title: "My Post"
canonical_url: "https://original-source.com/my-post/"
---

Useful if you are syndicating content from another site.

Validating front matter

YAML syntax errors in front matter cause Jekyll build errors. Common mistakes:

Unquoted colons: A colon in a value must be quoted.

# Bad
title: Jekyll: The Complete Guide

# Good
title: "Jekyll: The Complete Guide"

Tab characters: YAML uses spaces, not tabs. Always indent with spaces.

Inconsistent list formatting:

# Bad — mixing inline and block style
tags: [jekyll
  tutorial]

# Good
tags: [jekyll, tutorial]
# Or
tags:
  - jekyll
  - tutorial

Run bundle exec jekyll build --verbose to see detailed error output when front matter parsing fails.

Front matter is the connective tissue of a Jekyll site — it is how content communicates with templates. Mastering it unlocks the full power of Jekyll’s data-driven architecture.

Share LinkedIn

</button> `

  1. Renders the resulting HTML
  2. Injects that into default.html at `<div class="read-progress" id="read-progress"></div>
Home Blog Jekyll Front Matter: The Complete Guide
Tutorial

Jekyll Front Matter: The Complete Guide

Everything you need to know about Jekyll front matter — YAML syntax, built-in variables, custom fields, defaults, and real-world examples for posts, pages, and collections.

Jekyll Front Matter: The Complete Guide

Front matter is how Jekyll knows what to do with a file. Without it, Jekyll treats a file as a static asset and copies it unchanged. With it, Jekyll processes the file through its template engine, applies a layout, and builds a page with all the data you specified.

Understanding front matter is foundational to using Jekyll effectively. This guide covers everything from basic syntax to advanced defaults.

What is front matter?

Front matter is a block of YAML at the top of a file, enclosed between triple-dashed lines:

---
layout: post
title: "My First Post"
date: 2026-07-29
---

Content goes here.

The triple dashes are required — both opening and closing. Jekyll strips the front matter block before rendering the content and makes all the variables available in your Liquid templates.

Any file in a Jekyll site that has front matter (even empty front matter --- ---) is processed by Jekyll. Files without front matter are copied as-is.

YAML basics

Front matter uses YAML (YAML Ain’t Markup Language). You only need to know a handful of YAML patterns to write effective front matter.

Strings:

title: "My Post Title"
title: My Post Title        # quotes are optional for simple strings
description: "A post about Jekyll front matter  the basics and beyond."

Numbers:

nav_order: 3
weight: 10

Booleans:

published: true
featured: false
toc: true

Lists (arrays):

tags:
  - jekyll
  - tutorial
  - yaml

# Or inline:
tags: [jekyll, tutorial, yaml]

Nested objects:

author:
  name: Marcus Webb
  email: marcus@example.com
  twitter: marcuswebb

Multiline strings:

description: >
  This is a long description that spans
  multiple lines but will be joined into
  a single paragraph.

excerpt: |
  This preserves
  line breaks
  exactly.

Built-in Jekyll front matter variables

Jekyll recognises several variable names and uses them specially:

layout

Specifies which layout file from _layouts/ to use:

layout: post        # uses _layouts/post.html
layout: page        # uses _layouts/page.html
layout: default     # uses _layouts/default.html
layout: none        # no layout — render content only

If omitted, Jekyll uses no layout (renders content only). Most files should specify a layout.

title

The page title. Available as Jekyll Front Matter: The Complete Guide in templates and used by jekyll-seo-tag for the <title> element:

title: "Jekyll Front Matter: The Complete Guide"

date

For posts in _posts/, the date is normally part of the filename (2026-07-29-my-post.md). You can override or supplement it with a front matter date:

date: 2026-07-29
date: 2026-07-29 14:30:00 +0100    # with time and timezone

The date variable sets page.date, which is used for sorting posts and for display in templates.

published

Controls whether Jekyll includes the page in the build output:

published: false    # page is excluded from build
published: true     # page is included (default)

Drafts in _drafts/ are automatically excluded unless you run jekyll serve --drafts.

Overrides Jekyll’s default URL for the page:

permalink: /about/
permalink: /blog/:year/:month/:title/
permalink: /themes/minimal/

Available :placeholders for posts: :year, :month, :day, :title, :categories, :slug.

categories and tags

Categorise and tag your content:

categories: Tutorial
categories:
  - Tutorial
  - Jekyll

tags: [front-matter, yaml, jekyll]

categories affects the default URL of posts (/tutorial/2026/07/29/my-post/). tags do not affect URLs.

excerpt

By default, Jekyll uses the first paragraph of a post as its excerpt. Override with:

excerpt: "A short custom summary for use in post listings and meta descriptions."

last_modified_at

Used by jekyll-seo-tag and jekyll-sitemap to set the <lastmod> value:

last_modified_at: 2026-07-29

Custom front matter variables

Any variable you add to front matter becomes available in your templates as page.variable_name:

---
layout: post
title: "My Post"
author: Marcus Webb
reading_time: 8
featured_image: /assets/images/hero.webp
show_newsletter: true
difficulty: beginner
---

In your templates:


<p>By {{ page.author }} · {{ page.reading_time }} min read</p>

{% if page.featured_image %}
<img src="{{ page.featured_image }}" alt="{{ page.title }}">
{% endif %}

{% if page.show_newsletter %}
  {% include newsletter-form.html %}
{% endif %}

This pattern is powerful — you can add any metadata to a page and use it anywhere in your templates without touching layout files.

Front matter in different file types

Posts (_posts/)

---
layout: post
title: "How to Install a Jekyll Theme"
description: "Step-by-step guide to installing any Jekyll theme in under 10 minutes."
date: 2026-07-29
last_modified_at: 2026-07-29
image: /assets/images/blog/install-jekyll-theme.webp
author: Marcus Webb
category: Tutorial
tags: [jekyll, themes, tutorial]
featured: false
toc: true
---

Pages (_pages/ or root)

---
layout: page
title: "About JekyllHub"
description: "The story behind JekyllHub  a marketplace for Jekyll themes."
permalink: /about/
nav_order: 4
---

Collection items (_themes/, _authors/, etc.)

---
layout: theme
title: "Minimal Mistakes"
github_url: https://github.com/mmistakes/minimal-mistakes
stars: 12800
price: 0
category: Blog
tags: [responsive, dark-mode, sidebar]
---

Layouts and includes

Layouts and includes can also have front matter, but it is rarely used. One exception: layout inheritance.

---
layout: default    # This layout itself uses another layout
---

Front matter defaults

Repeating the same front matter on every post is tedious. Jekyll’s defaults feature lets you set front matter values globally in _config.yml:

# _config.yml
defaults:
  # Default for all posts
  - scope:
      path: ""
      type: posts
    values:
      layout: post
      author: Marcus Webb
      toc: true
      featured: false

  # Default for all pages
  - scope:
      path: ""
      type: pages
    values:
      layout: page

  # Default for a specific directory
  - scope:
      path: "_themes"
      type: themes
    values:
      layout: theme

  # Default for files matching a path pattern
  - scope:
      path: "guides/**"
    values:
      layout: guide
      show_sidebar: true

With these defaults set, you do not need to specify layout: post or author: Marcus Webb on every post — Jekyll applies them automatically. Front matter in the file still overrides defaults.

Specificity: More specific scopes override less specific ones. A post-level default overrides a site-wide default. Front matter in the file overrides both.

Accessing front matter in templates

All front matter variables are available in Liquid templates:


<!-- In the layout file -->
<h1>{{ page.title }}</h1>
<p>{{ page.description }}</p>
<time>{{ page.date | date: "%B %-d, %Y" }}</time>

<!-- Conditional display -->
{% if page.toc %}
  {% include toc.html %}
{% endif %}

<!-- Iteration over arrays -->
{% for tag in page.tags %}
  <span class="tag">{{ tag }}</span>
{% endfor %}

<!-- Nested objects -->
{{ page.author.name }}
{{ page.author.twitter }}

Accessing front matter from other pages

You can loop through all pages or posts and access their front matter:


<!-- List all posts with their metadata -->
{% for post in site.posts %}
  <article>
    <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
    <p>{{ post.description }}</p>
    {% if post.featured %}
      <span class="badge">Featured</span>
    {% endif %}
  </article>
{% endfor %}

<!-- Filter by front matter value -->
{% assign featured_posts = site.posts | where: "featured", true %}
{% for post in featured_posts %}
  <a href="{{ post.url }}">{{ post.title }}</a>
{% endfor %}

Common front matter patterns

Hiding a page from navigation while keeping it live

---
layout: page
title: "Thank You"
permalink: /thank-you/
sitemap: false
---

Overriding the excerpt

---
layout: post
title: "My Post"
excerpt: "This custom excerpt appears in post listings and meta descriptions instead of the first paragraph."
---

Specifying an OG image for social sharing

---
layout: post
title: "My Post"
image: /assets/images/blog/my-post.webp
---

With jekyll-seo-tag, image is automatically used as the Open Graph image.

Controlling the canonical URL

---
layout: post
title: "My Post"
canonical_url: "https://original-source.com/my-post/"
---

Useful if you are syndicating content from another site.

Validating front matter

YAML syntax errors in front matter cause Jekyll build errors. Common mistakes:

Unquoted colons: A colon in a value must be quoted.

# Bad
title: Jekyll: The Complete Guide

# Good
title: "Jekyll: The Complete Guide"

Tab characters: YAML uses spaces, not tabs. Always indent with spaces.

Inconsistent list formatting:

# Bad — mixing inline and block style
tags: [jekyll
  tutorial]

# Good
tags: [jekyll, tutorial]
# Or
tags:
  - jekyll
  - tutorial

Run bundle exec jekyll build --verbose to see detailed error output when front matter parsing fails.

Front matter is the connective tissue of a Jekyll site — it is how content communicates with templates. Mastering it unlocks the full power of Jekyll’s data-driven architecture.

Share LinkedIn

</button> `

This nesting can go as deep as you need.

A typical layout hierarchy

default.html          ← base: <html>, <head>, nav, footer
├── page.html         ← adds: container, optional sidebar
├── post.html         ← adds: article header, author info, TOC
├── home.html         ← adds: hero section, no standard container
└── theme.html        ← adds: gallery, price sidebar, details

Each child adds only what it needs; the parent handles the shared shell.

Accessing variables in layouts

Layouts have access to three levels of data:

page variables — front matter from the current page:

Jekyll Layouts Explained: How to Structure Your Site Templates
A complete guide to Jekyll layouts — how they work, layout inheritance, passing data, and building a clean layout hierarchy for any Jekyll site.
Marcus Webb
June 19, 2026

site variables — data from _config.yml and the site as a whole:

JekyllHub
The premier marketplace for Jekyll themes. Browse, preview, and download stunning themes for your next project.
https://jekyllhub.com
Jekyll and Gatsby both produce fast, static websites — but they come from completely different worlds. Jekyll is a mature, Ruby-based generator built for simplicity. Gatsby is a React-based framework built for power. Choosing the wrong one can mean weeks of unnecessary complexity or hitting a ceiling too early.

Here is an honest, practical comparison.

## What is Jekyll?

Jekyll is a static site generator written in Ruby and officially supported by GitHub. You write content in Markdown, define layouts in Liquid templates, and Jekyll outputs a folder of plain HTML files. No JavaScript framework, no GraphQL, no build pipeline required.

It has been around since 2008 and powers hundreds of thousands of sites — including the official GitHub Pages platform.

**Best for:** blogs, documentation sites, portfolios, small business sites, and anyone who wants simplicity over features.

## What is Gatsby?

Gatsby is a React-based static site framework that uses GraphQL as its data layer. It pulls content from anywhere — Markdown files, headless CMSs, REST APIs, databases — and compiles everything into optimised static files with automatic code splitting, image optimisation, and prefetching baked in.

Netlify acquired Gatsby in 2023. The framework is still actively maintained but is no longer the default choice for new React-based static projects, with Astro and Next.js (static export) taking significant market share.

**Best for:** content-heavy sites, e-commerce storefronts, sites pulling from multiple data sources, and teams already working in React.

## Build speed

| | Jekyll | Gatsby |
|---|---|---|
| Small site (< 100 pages) | < 5 seconds | 15–45 seconds |
| Medium site (500 pages) | 10–30 seconds | 60–120 seconds |
| Large site (5,000+ pages) | 2–5 minutes | 5–15 minutes |
| Incremental builds | Yes (with flag) | Yes (experimental) |

Jekyll is significantly faster to build, especially on small and medium sites. Gatsby's build times grow steeply with content volume because of its GraphQL data layer and image processing pipeline.

## Learning curve

Jekyll requires knowledge of Liquid templating and YAML front matter — both are simple and learnable in an afternoon. No JavaScript knowledge required beyond optional enhancements.

Gatsby requires React, GraphQL, and an understanding of Gatsby's plugin ecosystem and data layer. If you already know React it is approachable. If you do not, it is a steep entry point just to publish a blog.

**Winner for beginners:** Jekyll by a wide margin.

## Themes and design

Jekyll has a large ecosystem of free themes on GitHub, RubyGems, and marketplaces like JekyllHub. Themes are plain HTML/CSS/Liquid — easy to read, modify, and extend without tooling.

Gatsby themes are React components. They are more powerful (you can compose and shadow components) but require React knowledge to customise meaningfully. The Gatsby theme ecosystem is smaller and less active than it was in 2020–2022.

**Winner for theme selection:** Jekyll.

## Plugins and ecosystem

Gatsby's plugin ecosystem was once its biggest advantage — thousands of source and transformer plugins connect to every conceivable data source. That ecosystem is still there but growth has slowed since the Netlify acquisition.

Jekyll's plugin ecosystem is smaller but covers all common needs: SEO, sitemaps, feeds, pagination, image optimisation, and syntax highlighting. The `jekyll-*` gem namespace has over 1,000 plugins.

**Winner for integrations:** Gatsby (still), though the gap has narrowed.

## Hosting

Both deploy well to Netlify, Cloudflare Pages, and Vercel. Jekyll has one unique advantage: GitHub Pages hosts it natively, for free, with zero configuration. Push to a repository and your site is live.

Gatsby does not run on GitHub Pages natively (you need a GitHub Actions workflow to build and deploy).

**Winner for free hosting:** Jekyll.

## Performance

Both generators produce static HTML, which means excellent performance out of the box. Gatsby adds automatic image optimisation via its `gatsby-image` / `gatsby-plugin-image` plugin, lazy loading, and link prefetching, which can push Lighthouse scores even higher.

For typical sites, both score 90+ on Core Web Vitals. Gatsby has a slight edge for image-heavy sites where its built-in processing pipeline matters.

**Winner for out-of-the-box performance:** Gatsby (marginally).

## When to choose Jekyll

- You want a blog, portfolio, or documentation site with minimal setup
- You are not a JavaScript developer
- You want to host for free on GitHub Pages
- Your site has fewer than a few thousand pages
- You want themes you can understand and modify without a build step

## When to choose Gatsby

- You are already building in React and want static output
- Your content comes from multiple sources (CMS + API + Markdown)
- You need advanced image optimisation built into the framework
- You are building a content-heavy e-commerce or news site
- Your team has React expertise and needs component composition

## The bottom line

For most developers starting a blog, portfolio, or documentation site, Jekyll is the right choice. It is simpler, faster to set up, and cheaper to host. The themes are better, the GitHub Pages integration is seamless, and you will spend your time on content — not tooling.

If you are building something complex in React — pulling from a headless CMS, composing content from multiple APIs, or need advanced image processing — Gatsby earns its complexity. But in 2026, Astro is a strong contender for that use case too.

Browse [free and premium Jekyll themes on JekyllHub](/themes/) to get started.
Jekyll processes some files (Markdown, Liquid templates, Sass) and copies others unchanged. Understanding which is which — and how to reference assets correctly in your templates — is fundamental to building Jekyll sites that work properly across all environments.

## Processed files vs static files

Jekyll handles two categories of files:

**Processed files** — files with YAML front matter, or files in special directories (`_posts/`, `_layouts/`, `_includes/`, `_sass/`). Jekyll runs these through its build pipeline: Liquid templating, Markdown conversion, Sass compilation.

**Static files** — everything else. Jekyll copies them to `_site/` unchanged. Images, fonts, JavaScript files, PDFs, videos — all copied as-is.

my-jekyll-site/ ├── _posts/ ← processed (has front matter) ├── _sass/ ← processed (Sass compilation) ├── assets/ │ ├── images/ ← static (copied unchanged) │ ├── fonts/ ← static (copied unchanged) │ ├── js/ ← static (copied unchanged) │ └── css/ │ └── main.scss ← processed (has front matter → compiled to CSS)


## The assets/ folder convention

While Jekyll has no hard requirement for folder naming, `assets/` is the universal convention for static files. Most themes use:

assets/ ├── css/ │ └── main.scss ← entry point for Sass (has front matter) ├── js/ │ ├── main.js │ ├── bookmarks.js │ └── search.js ├── images/ │ ├── logo.png │ ├── social-card.png │ ├── favicon.ico │ └── blog/ │ ├── post-cover.webp │ └── another-cover.webp └── fonts/ └── inter.woff2


Jekyll copies everything in `assets/` to `_site/assets/` during build. A file at `assets/images/logo.png` is served at `https://example.com/assets/images/logo.png`.

## Referencing assets in templates

### The relative_url filter

Always use `relative_url` when referencing assets in Liquid templates:

```liquid
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
<script src="{{ '/assets/js/main.js' | relative_url }}" defer></script>
<img src="{{ '/assets/images/logo.png' | relative_url }}" alt="Logo">

relative_url prepends site.baseurl to the path. If your site has baseurl: "" (root domain), it changes nothing. If your site lives at a subdirectory (baseurl: "/my-project"), it correctly produces /my-project/assets/images/logo.png.

Without relative_url, assets break on sites with a non-empty baseurl.

The absolute_url filter

For Open Graph tags, sitemaps, or any place that needs a full URL:

<meta property="og:image" content="{{ '/assets/images/social-card.png' | absolute_url }}">

absolute_url prepends both site.url and site.baseurl.

In Markdown content

![Hero image](/assets/images/blog/hero.webp)

[Download PDF](/assets/files/guide.pdf)

Note: Markdown links do not go through relative_url. If you have a baseurl, use the HTML <img> tag inside your Markdown, or ensure your permalink structure accounts for the base URL.

In SCSS/CSS

Reference assets from CSS using relative paths from the CSS file’s location. Since assets/css/main.scss is in assets/css/, fonts and images are reached with ../:

@font-face {
  font-family: "Inter";
  src: url("../fonts/inter.woff2") format("woff2");
}

.hero {
  background-image: url("../images/hero-bg.webp");
}

Working with images

File formats in 2026

  • WebP — best default choice. 25–35% smaller than JPEG at equivalent quality. Supported by all modern browsers.
  • AVIF — even smaller than WebP but slower to encode. Good for images you generate offline.
  • JPEG — use for photographs when WebP is not an option.
  • PNG — use for images requiring transparency or exact colours (logos, icons).
  • SVG — use for logos, icons, and illustrations. Infinitely scalable, tiny file size.

Converting images to WebP

# Single file
cwebp -q 85 image.jpg -o image.webp

# Batch convert all JPEGs
find assets/images -name "*.jpg" -exec sh -c   'cwebp -q 85 "$1" -o "${1%.jpg}.webp"' _ {} \;

# Using ImageMagick
mogrify -format webp -quality 85 assets/images/blog/*.jpg

Responsive images with srcset

For images that appear at different sizes across screen widths:

<img
  src="/assets/images/hero-800.webp"
  srcset="
    /assets/images/hero-400.webp 400w,
    /assets/images/hero-800.webp 800w,
    /assets/images/hero-1200.webp 1200w
  "
  sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 800px"
  alt="Hero image"
  width="800"
  height="450"
  loading="lazy"
>

Generate multiple sizes during your build process (using Pillow, ImageMagick, or a Jekyll plugin like jekyll-responsive-image).

Always specify width and height

<img src="{{ post.image | relative_url }}" alt="{{ post.title }}" width="800" height="450">

Width and height attributes prevent Cumulative Layout Shift (CLS) — a Core Web Vitals metric — by letting the browser reserve the correct space before the image loads.

Lazy loading

<!-- Below-the-fold images — lazy load -->
<img src="..." alt="..." loading="lazy">

<!-- Above-the-fold images (hero, LCP element) — eager load -->
<img src="..." alt="..." loading="eager">

Use loading="lazy" on images that are not visible when the page loads. Never use it on your LCP (Largest Contentful Paint) element — the hero image or main post image.

The site.static_files variable

Jekyll provides a site.static_files variable that lists all static files (files copied without processing):

{% raw %}
{% for file in site.static_files %}
  {{ file.path }}          → /assets/images/logo.png
  {{ file.basename }}      → logo
  {{ file.name }}          → logo.png
  {{ file.extname }}       → .png
  {{ file.modified_time }} → last modified date
{% endfor %}
{% endraw %}

Filter by extension or path:

{% raw %}
{% assign images = site.static_files | where_exp: "f", "f.extname == '.webp'" %}
{% for image in images %}
  <img src="{{ image.path | relative_url }}" alt="{{ image.basename }}">
{% endfor %}
{% endraw %}

This is useful for auto-generating image galleries from files in a folder.

JavaScript files

Jekyll copies JavaScript files unchanged — no bundling, no transpilation. For simple sites, this is fine:

assets/js/
├── main.js         ← copied as-is
├── bookmarks.js    ← copied as-is
└── search.js       ← copied as-is

Reference in your layout:

<script src="{{ '/assets/js/main.js' | relative_url }}" defer></script>

Using Liquid in JavaScript files

If you need Jekyll variables in JavaScript (e.g. site data), add front matter to the JS file:

{% raw %}
---
---
// assets/js/search-data.js

var SITE_DATA = {
  url: "{{ site.url }}",
  posts: [
    {% for post in site.posts %}
    {
      title: {{ post.title | jsonify }},
      url: "{{ post.url | relative_url }}",
      excerpt: {{ post.excerpt | strip_html | truncatewords: 30 | jsonify }}
    }{% unless forloop.last %},{% endunless %}
    {% endfor %}
  ]
};
{% endraw %}

Jekyll processes this file through Liquid (because of the front matter) and outputs JavaScript with the values baked in at build time.

Minifying JavaScript

Jekyll does not minify JS. Options:

  1. Minify manually and commit the minified file
  2. Use a build step (esbuild, rollup, or webpack) before Jekyll runs
  3. Use a CDN for third-party libraries and serve your own JS unminified

For most Jekyll blogs, unminified JS is fine — the files are small and HTTP/2 handles multiple small requests efficiently.

Favicon files

Place favicon files in your project root or assets/ and reference in <head>:

assets/
├── favicon.ico          ← legacy IE fallback
├── favicon-16x16.png
├── favicon-32x32.png
├── apple-touch-icon.png  ← 180×180px for iOS
└── site.webmanifest     ← PWA manifest
<!-- _includes/head.html -->
<link rel="icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}">
<link rel="icon" type="image/png" sizes="32x32" href="{{ '/assets/favicon-32x32.png' | relative_url }}">
<link rel="icon" type="image/png" sizes="16x16" href="{{ '/assets/favicon-16x16.png' | relative_url }}">
<link rel="apple-touch-icon" sizes="180x180" href="{{ '/assets/apple-touch-icon.png' | relative_url }}">
<link rel="manifest" href="{{ '/assets/site.webmanifest' | relative_url }}">

Excluding assets from the build

Use exclude: in _config.yml to prevent source files (like uncompressed originals) from appearing in _site/:

exclude:
  - assets/images/originals/   # source files, not served
  - assets/fonts/source/       # font source files
  - tools/                     # build scripts
  - "*.psd"                    # Photoshop files
  - "*.ai"                     # Illustrator files

Cache busting

Because browsers cache static assets aggressively, changing a CSS or JS file may not update for returning visitors. Options:

Query string versioning — append a version number:

<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}?v={{ site.version }}">

Update version: "1.2.3" in _config.yml after significant changes.

Filename hashing — include a hash in the filename (main.abc123.css). Requires a build pipeline; not supported natively by Jekyll.

Long cache headers with immutable assets — in _headers (Cloudflare/Netlify):

/assets/*
  Cache-Control: public, max-age=31536000, immutable

Use very long cache on assets with versioned filenames; use no-cache on HTML.

Summary: what goes where

File type Location How Jekyll handles it
Blog posts _posts/ Processed (Markdown → HTML)
Page Markdown _pages/ or root Processed (Markdown → HTML)
Layout HTML _layouts/ Used as template, not output
Include fragments _includes/ Used as template, not output
Sass partials _sass/ Compiled (via entry point)
Sass entry point assets/css/ Compiled to CSS
JavaScript assets/js/ Copied unchanged
Images assets/images/ Copied unchanged
Fonts assets/fonts/ Copied unchanged
Data files _data/ Loaded as site.data.*, not output

Understanding this table — what Jekyll processes vs what it copies — explains nearly every “why is my file not showing up” or “why is my template not working” issue you will encounter. Jekyll gives you several ways to keep content out of your public site while you work on it: the _drafts/ folder, published: false front matter, and future-dated posts. Understanding these tools lets you build a proper editorial workflow without a CMS.

The _drafts folder

The simplest way to keep work-in-progress posts off your live site. Create a _drafts/ directory at your project root and put unfinished posts there:

_drafts/
├── jekyll-drafts-publishing-workflow.md
├── ideas-for-q3.md
└── half-finished-tutorial.md

Unlike _posts/, draft filenames do not need a date prefix:

# _posts/ — date required
_posts/2026-08-09-my-post.md

# _drafts/ — no date
_drafts/my-post.md

Previewing drafts locally

Normal jekyll serve ignores _drafts/ entirely. To preview your drafts:

bundle exec jekyll serve --drafts

When --drafts is active, Jekyll assigns today’s date to draft posts and includes them in the site. You can see exactly how a draft will look when published.

Drafts in CI/production

Your CI/CD build command should never include --drafts:

# Correct — drafts excluded
JEKYLL_ENV=production bundle exec jekyll build

# Wrong — would publish drafts
JEKYLL_ENV=production bundle exec jekyll build --drafts

Drafts are never published accidentally as long as you do not pass --drafts to your production build.

published: false

An alternative to _drafts/ — set published: false in any post’s front matter to exclude it from the build:

---
layout: post
title: "Work in Progress"
date: 2026-08-09
published: false
---

Content here will not appear on the live site.

This works for posts in _posts/ and pages anywhere on your site. Useful when:

  • You want to keep the file in _posts/ (with a date) but not publish it yet
  • You want to temporarily hide a published post without deleting it
  • You want to keep old content for reference but remove it from the site

Preview unpublished content locally:

bundle exec jekyll serve --unpublished

Future-dated posts

Jekyll excludes posts whose date is in the future by default. Write a post today, set a future date, and it will automatically appear on your site on that date — the next time your site builds.

---
layout: post
title: "My Scheduled Post"
date: 2026-09-01
---

This post will not appear in site.posts until September 1, 2026 (or whenever you trigger a build after that date).

Preview future posts locally:

bundle exec jekyll serve --future

Scheduling posts with CI/CD

Future posts are only published when your site rebuilds after their date. If you do not rebuild frequently, a future post will sit in your repository unpublished.

Set up a scheduled CI/CD build to rebuild daily. On Netlify:

# Netlify → Site settings → Build hooks
# Add a build hook and schedule it with a cron service (cron-job.org)
# to trigger the hook daily at midnight

On GitHub Actions:

# .github/workflows/scheduled-build.yml
name: Scheduled Build

on:
  schedule:
    - cron: "0 0 * * *"   # midnight UTC every day

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: "3.2"
          bundler-cache: true
      - run: JEKYLL_ENV=production bundle exec jekyll build
      # add your deploy step here

Combining methods

The three approaches can be combined:

Situation Method
Early draft, no date yet _drafts/ folder
Finished but not ready published: false in _posts/
Ready but timed for later Future date in _posts/
Temporarily hidden live post published: false

A practical editorial workflow for Jekyll

Here is a workflow that works well for solo writers and small teams:

Stage 1: Idea capture

Create a file in _drafts/ with just a title and outline:

<!-- _drafts/jekyll-pagination-guide.md -->
---
title: "Jekyll Pagination: The Complete Guide"
tags: [jekyll, pagination, tutorial]
---

## Outline

- What is pagination
- jekyll-paginate vs jekyll-paginate-v2
- Setup
- Customising the paginator
- SEO considerations

Stage 2: Writing

Fill in the content in _drafts/. Preview with jekyll serve --drafts at any point.

Stage 3: Review and polish

Run a local preview and check:

  • All code examples work
  • Images are in place
  • Internal links resolve
  • SEO: title, description, image set in front matter

Stage 4: Schedule or publish

Publish immediately: Move the file from _drafts/ to _posts/ and add today’s date:

mv _drafts/jekyll-pagination-guide.md    _posts/2026-08-09-jekyll-pagination-guide.md

Schedule for later: Move to _posts/ with a future date:

mv _drafts/jekyll-pagination-guide.md    _posts/2026-09-15-jekyll-pagination-guide.md

Keep hidden while finalising: Move to _posts/ with today’s date but published: false:

---
published: false
date: 2026-08-09
---

Set published: true (or remove the line) when ready.

Stage 5: Push and deploy

Commit and push. Your CI/CD pipeline builds and deploys the updated site.

Working with collaborators

For teams using GitHub:

Use pull requests for drafts. Writers work on a branch. Open a PR when the post is ready for review. Reviewers see a preview deployment (Netlify/Cloudflare/Vercel create these automatically). Merge when approved.

Use _drafts/ for long-running work. Content that spans multiple sessions lives safely in _drafts/ in its own branch.

Use published: false for quick feedback. Push to main with published: false to get a staging URL the reviewer can share without it going live.

Adding a headless CMS for non-technical editors

If your team includes non-developers who are not comfortable with Git and Markdown, add Decap CMS (formerly Netlify CMS) for a visual editing interface:

# admin/config.yml
collections:
  - name: drafts
    label: Drafts
    folder: _drafts
    create: true
    slug: "{{slug}}"
    fields:
      - { label: Title, name: title, widget: string }
      - { label: Body, name: body, widget: markdown }

  - name: posts
    label: Posts
    folder: _posts
    create: true
    slug: "{{year}}-{{month}}-{{day}}-{{slug}}"
    fields:
      - { label: Title, name: title, widget: string }
      - { label: Publish Date, name: date, widget: datetime }
      - { label: Published, name: published, widget: boolean, default: false }
      - { label: Body, name: body, widget: markdown }

Non-developers can write in a rich text editor and save as drafts. The published: false toggle keeps posts off the live site until ready.

Useful command reference

# Normal serve (no drafts, no future posts)
bundle exec jekyll serve

# Show all drafts
bundle exec jekyll serve --drafts

# Show future-dated posts
bundle exec jekyll serve --future

# Show unpublished posts (published: false)
bundle exec jekyll serve --unpublished

# Show everything
bundle exec jekyll serve --drafts --future --unpublished

# Production build (nothing extra)
JEKYLL_ENV=production bundle exec jekyll build

Tips for a smooth workflow

Name draft files descriptively. Even without dates, jekyll-pagination-complete-guide.md is much easier to find than draft-post-3.md.

Keep drafts short at first. Write the outline and key points, then expand. A complete outline in _drafts/ is better than a blank file in _posts/.

Commit drafts to Git. _drafts/ should be in your repository, not gitignored. This gives you version history, backup, and branch-based collaboration.

Set a date in front matter while drafting. Even if you are not ready to publish, set an estimated date in front matter so you can preview how it will sort among your posts.

Jekyll’s draft and publishing system is simple but complete. Once you have a consistent workflow, writing and scheduling content becomes as smooth as any CMS — with the added benefit of full version control. Jekyll has built-in Sass processing — no Node.js, no build tools, no webpack required. Write SCSS files, Jekyll compiles them to CSS automatically. This guide covers everything from basic setup to advanced patterns used in production Jekyll themes.

Sass vs SCSS

Sass has two syntaxes:

SCSS (Sassy CSS) — superset of CSS. Valid CSS is valid SCSS. Uses curly braces and semicolons. The most common syntax.

Sass (indented syntax) — uses indentation instead of braces, no semicolons. Older syntax, less commonly used.

Jekyll supports both. This guide uses SCSS (the .scss extension).

Jekyll’s Sass directory structure

Jekyll processes Sass files with this convention:

  • Files in _sass/ starting with _ are partials — they are imported by other files, never compiled directly
  • Files in assets/css/ (or anywhere outside _sass/) with .scss extension and front matter are entry points — Jekyll compiles these to CSS
_sass/                     ← partials live here
├── _variables.scss
├── _base.scss
├── _nav.scss
├── _cards.scss
└── _post.scss

assets/
└── css/
    └── main.scss          ← entry point — compiled to main.css

Creating the entry point

The entry point file needs front matter (even if empty) to tell Jekyll to process it:

/* assets/css/main.scss */
---
---

@import "variables";
@import "base";
@import "nav";
@import "cards";
@import "post";

The empty --- block is required. Without it, Jekyll copies the file as-is without processing.

Import partials without the leading _ or .scss extension — Sass resolves them automatically.

SCSS partials in _sass/

_variables.scss — design tokens

// _sass/_variables.scss

// Colours
$color-primary:    #2563eb;
$color-primary-dark: #1d4ed8;
$color-text:       #1a1a2e;
$color-muted:      #6b7280;
$color-border:     #e5e7eb;
$color-bg:         #ffffff;
$color-bg-alt:     #f9fafb;

// Typography
$font-sans:        "Inter", system-ui, -apple-system, sans-serif;
$font-mono:        "Fira Code", "Cascadia Code", monospace;
$font-size-base:   1rem;
$line-height-base: 1.6;

// Spacing
$spacing-xs:   0.25rem;
$spacing-sm:   0.5rem;
$spacing-md:   1rem;
$spacing-lg:   1.5rem;
$spacing-xl:   2rem;
$spacing-2xl:  3rem;

// Layout
$container-max: 1200px;
$sidebar-width: 280px;

// Borders
$radius-sm:  4px;
$radius-md:  10px;
$radius-lg:  16px;
$radius-full: 9999px;

// Shadows
$shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
$shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
$shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);

// Transitions
$transition-fast:   150ms ease;
$transition-base:   250ms ease;
$transition-slow:   400ms ease;

_base.scss — reset and global styles

// _sass/_base.scss
@import "variables";

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: $font-sans;
  font-size: $font-size-base;
  line-height: $line-height-base;
  color: $color-text;
  background: $color-bg;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: $color-primary;
  text-decoration: none;

  &:hover {
    text-decoration: underline;
  }
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.3;
  font-weight: 700;
  margin-top: 0;
}

code {
  font-family: $font-mono;
  font-size: 0.875em;
  background: $color-bg-alt;
  padding: 0.15em 0.4em;
  border-radius: $radius-sm;
}

SCSS features used in Jekyll themes

Variables

$color-primary: #2563eb;

.btn {
  background: $color-primary;
  
  &:hover {
    background: darken($color-primary, 10%);
  }
}

Nesting

.card {
  border-radius: $radius-md;
  overflow: hidden;
  
  &__image {
    width: 100%;
    aspect-ratio: 16 / 9;
  }
  
  &__body {
    padding: $spacing-lg;
  }
  
  &__title {
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0 0 $spacing-sm;
  }
  
  &--featured {
    border: 2px solid $color-primary;
  }
  
  &:hover {
    box-shadow: $shadow-md;
  }
}

This BEM-style nesting (&__element, &--modifier) generates classes like .card__image, .card__body, .card--featured.

Mixins

// _sass/_mixins.scss

@mixin flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

@mixin truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@mixin responsive($breakpoint) {
  @if $breakpoint == mobile {
    @media (max-width: 640px) { @content; }
  } @else if $breakpoint == tablet {
    @media (max-width: 1024px) { @content; }
  } @else if $breakpoint == desktop {
    @media (min-width: 1025px) { @content; }
  }
}

// Usage
.nav {
  @include flex-center;
  
  @include responsive(mobile) {
    flex-direction: column;
  }
}

.card__title {
  @include truncate;
}

Functions

// Convert px to rem
@function rem($px) {
  @return ($px / 16) * 1rem;
}

.heading {
  font-size: rem(24);  // → 1.5rem
}

// Darken a colour by percentage
.btn:hover {
  background: darken($color-primary, 8%);
}

// Generate a colour with opacity
.overlay {
  background: rgba($color-text, 0.5);
}

Extends / placeholders

%visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only {
  @extend %visually-hidden;
}

.skip-link:focus {
  @extend %visually-hidden;
  clip: auto;
  width: auto;
  height: auto;
}

Dark mode with Sass

// _sass/_variables.scss

// Light mode defaults (also used as CSS custom properties)
:root {
  --color-bg:     #{$color-bg};
  --color-text:   #{$color-text};
  --color-border: #{$color-border};
  --color-bg-alt: #{$color-bg-alt};
}

// Dark mode overrides
:root[data-theme="dark"],
.dark {
  --color-bg:     #0f172a;
  --color-text:   #f1f5f9;
  --color-border: #1e293b;
  --color-bg-alt: #1e293b;
}

// Use CSS custom properties throughout
body {
  background: var(--color-bg);
  color: var(--color-text);
}

.card {
  border-color: var(--color-border);
  background: var(--color-bg-alt);
}

This approach — setting CSS custom properties from Sass variables — gives you the best of both worlds: Sass for authoring, CSS variables for runtime dark mode toggling with JavaScript.

Sass compilation settings in _config.yml

# _config.yml
sass:
  sass_dir: _sass          # where partials live (default: _sass)
  style: compressed        # compressed | expanded | nested | compact
  load_paths:
    - _sass
    - node_modules         # if importing npm packages

style options:

  • compressed — removes all whitespace, one-line output. Use for production.
  • expanded — each rule and property on its own line. Default in development.
  • nested — rules nested to reflect the SCSS structure.
  • compact — one rule per line.

Most setups use compressed in production builds:

sass:
  style: compressed

Importing npm Sass packages

If you install Sass libraries via npm, add the path to load_paths:

npm install sass-mq normalize.css
sass:
  load_paths:
    - _sass
    - node_modules
// assets/css/main.scss
---
---
@import "normalize.css/normalize";
@import "sass-mq/mq";
@import "variables";
@import "base";

Organising a production-ready _sass/ directory

_sass/
├── _variables.scss      ← design tokens
├── _mixins.scss         ← reusable mixins
├── _functions.scss      ← Sass functions
├── _reset.scss          ← CSS reset/normalise
├── _base.scss           ← global styles (body, a, h1-h6, img)
├── _typography.scss     ← prose/content typography
│
├── layout/
│   ├── _container.scss
│   ├── _grid.scss
│   └── _sections.scss
│
├── components/
│   ├── _nav.scss
│   ├── _footer.scss
│   ├── _cards.scss
│   ├── _badges.scss
│   ├── _buttons.scss
│   ├── _forms.scss
│   └── _modals.scss
│
├── pages/
│   ├── _home.scss
│   ├── _blog.scss
│   ├── _theme-detail.scss
│   └── _authors.scss
│
└── utilities/
    ├── _helpers.scss    ← .sr-only, .clearfix, etc.
    └── _dark-mode.scss
/* assets/css/main.scss */
---
---

// Tokens and tools
@import "variables";
@import "mixins";
@import "functions";

// Base
@import "reset";
@import "base";
@import "typography";

// Layout
@import "layout/container";
@import "layout/grid";
@import "layout/sections";

// Components
@import "components/nav";
@import "components/footer";
@import "components/cards";
@import "components/badges";
@import "components/buttons";
@import "components/forms";

// Pages
@import "pages/home";
@import "pages/blog";
@import "pages/theme-detail";
@import "pages/authors";

// Utilities
@import "utilities/helpers";
@import "utilities/dark-mode";

Common mistakes

Missing front matter on the entry point: Without the --- block, Jekyll copies main.scss as a plain text file instead of compiling it. Always include the empty front matter.

Importing from the wrong path: Partials in _sass/ are imported without the leading _ or the directory path. If your partial is _sass/components/_nav.scss, import it as @import "components/nav".

Using @use instead of @import: Jekyll’s built-in Sass processor uses libsass which supports @import but has limited support for the newer @use syntax. Stick with @import for Jekyll’s native Sass processing. If you need @use, switch to a Node.js PostCSS pipeline.

Not compressing in production: Add sass: style: compressed to _config.yml or use a production build command to minimise CSS output.

Built-in Sass support is one of Jekyll’s most useful features. No Node.js, no build pipeline, no configuration — just write SCSS and Jekyll compiles it. For most Jekyll sites, the built-in processor is all you need. Jekyll gives you precise control over the URL structure of every page on your site. Understanding how permalinks work is important for clean URLs, SEO, and ensuring internal links stay consistent when you reorganise content.

How Jekyll builds URLs by default

By default, Jekyll mirrors your file structure. A file at _posts/2026-08-07-my-post.md generates a URL like /2026/08/07/my-post/. A page at about.md generates /about/.

But the default is rarely what you want for production. The permalink setting in _config.yml (and in individual file front matter) lets you control this precisely.

Set a global permalink pattern in _config.yml:

permalink: /blog/:title/

This tells Jekyll: every post’s URL should be /blog/ followed by the post’s title-slug.

Jekyll ships with several named permalink patterns:

permalink: date      # /year/month/day/title.html
permalink: pretty    # /year/month/day/title/  (trailing slash, no .html)
permalink: ordinal   # /year/ordinal/title.html
permalink: weekdate  # /year/week/short_day/title/
permalink: none      # /title.html

Most sites use pretty or a custom pattern. date (the historical default) produces cluttered URLs. none creates flat URLs with .html extensions.

Build custom patterns using these placeholders:

Placeholder Value Example
:year 4-digit year 2026
:month 2-digit month 08
:day 2-digit day 07
:hour 2-digit hour (24h) 14
:minute 2-digit minute 30
:second 2-digit second 00
:title Slugified title my-post-title
:slug Slug from front matter (fallback to title) custom-slug
:categories Categories joined by / tutorial/jekyll
:name Filename without date and extension my-post-title
:path Path relative to site root _posts/my-post.md
:output_ext Output file extension .html

Common custom patterns

# Clean blog URL — most common for blog sites
permalink: /blog/:title/

# With date — good for news sites
permalink: /:year/:month/:title/

# Category-based
permalink: /:categories/:title/

# Flat — no nesting
permalink: /:title/

# With date and category
permalink: /:categories/:year/:month/:day/:title/
permalink: /blog/:title/

This gives you:

  • Clean, readable URLs: /blog/jekyll-front-matter-guide/
  • No date in the URL (posts stay relevant even when old)
  • Consistent /blog/ prefix separating blog content from pages
  • Easy to remember and share

Avoid including dates in permalinks unless you publish time-sensitive content (news, changelogs) where date context adds value.

Override the global setting in any file’s front matter:

---
layout: page
title: "About"
permalink: /about/
---
---
layout: post
title: "My Special Post"
permalink: /featured/my-special-post/
---

The front matter permalink always wins over the global setting in _config.yml.

Pages (in _pages/ or the root directory) use the same permalink front matter key:

---
layout: page
title: "Browse Themes"
permalink: /themes/
---
---
layout: page
title: "Submit a Theme"
permalink: /submit/
---

Without a permalink, a page at _pages/about.md generates /about (no trailing slash). Set permalink: /about/ explicitly for consistency.

Collections get their permalink pattern in _config.yml under the collection definition:

collections:
  themes:
    output: true
    permalink: /themes/:name/
  authors:
    output: true
    permalink: /authors/:name/

For a file _themes/minimal-mistakes.md, this generates /themes/minimal-mistakes/.

Available placeholders for collections: :name (filename without extension), :path, :output_ext, :title, :categories.

# Custom collection permalink using title from front matter
collections:
  themes:
    output: true
    permalink: /themes/:title/

The :title placeholder in detail

:title uses the post or page title, converted to a URL-safe slug:

  • Lowercase
  • Spaces replaced with hyphens
  • Special characters removed
  • Accented characters transliterated (é → e)
Title: "Jekyll Front Matter: The Complete Guide!"
:title → "jekyll-front-matter-the-complete-guide"

If you want a different slug than the auto-generated one, set slug in front matter:

---
title: "Jekyll Front Matter: The Complete Guide!"
slug: jekyll-front-matter-guide
permalink: /blog/:slug/
---

This gives /blog/jekyll-front-matter-guide/ instead of the long auto-generated version.

The :categories placeholder

If posts have categories, :categories generates a nested URL:

---
categories: [Tutorial, Jekyll]
permalink: /:categories/:title/
---

Generates: /tutorial/jekyll/my-post/

If a post has no categories, :categories is omitted from the URL (Jekyll does not include the empty slash).

Warning: Using :categories in your permalink means changing a post’s category changes its URL — which breaks links and SEO. Avoid :categories in permalinks for blog posts. Use it only for intentional category-based URL structures.

Trailing slashes

Jekyll generates index.html inside a folder for trailing-slash URLs:

permalink: /about/
→ _site/about/index.html
→ served at https://example.com/about/

Without a trailing slash:

permalink: /about
→ _site/about.html
→ served at https://example.com/about

Use trailing slashes consistently. Mixing /about/ and /contact causes inconsistency and potential duplicate content. Most modern Jekyll sites use trailing slashes.

If you change a permalink on an existing post, the old URL breaks. Redirect it using jekyll-redirect-from:

# Gemfile
gem "jekyll-redirect-from"
---
layout: post
title: "My Post"
permalink: /blog/my-new-url/
redirect_from:
  - /2026/08/07/my-old-url/
  - /blog/my-old-url/
---

Jekyll generates redirect pages at the old URLs pointing to the new one. Essential for maintaining SEO when restructuring content.

Checking generated URLs

To see what URL Jekyll generates for each file, run a build and check the _site/ directory structure — it mirrors your URL structure exactly:

bundle exec jekyll build
find _site -name "index.html" | head -20

Or use jekyll serve and browse to check each URL manually.

When linking between pages internally, use the {% raw %}{% link %}{% endraw %} or {% raw %}{% post_url %}{% endraw %} tag instead of hardcoding URLs — they account for baseurl and raise a build error if the target file does not exist:

{% raw %}
<a href="{% link _posts/2026-08-07-my-post.md %}">My Post</a>
<a href="{% post_url 2026-08-07-my-post %}">My Post</a>
{% endraw %}

Both resolve to the post’s actual URL, whatever the permalink setting.

Keyword in URL: Shorter URLs that include the post’s main keyword perform slightly better. /blog/jekyll-permalinks/ is better than /blog/jekyll-permalinks-and-url-structure-the-complete-guide-2026/.

Avoid dates unless meaningful: /blog/2026/08/07/my-post/ makes content look dated. /blog/my-post/ is evergreen.

Be consistent: Changing URL structure after publishing harms SEO even with redirects. Choose a structure you can live with long-term before publishing.

Use hyphens, not underscores: Google treats hyphens as word separators in URLs. my-post is two words; my_post is one. Use hyphens.

Short is better: The shorter and more descriptive the URL, the better. Remove stop words (the, a, an, and, or) from slugs when they add no meaning.

Here is a solid permalink configuration for a Jekyll blog/marketplace:

# _config.yml

# Blog posts
permalink: /blog/:title/

# Collections
collections:
  themes:
    output: true
    permalink: /themes/:name/
  authors:
    output: true
    permalink: /authors/:name/

Pages set their own permalink in front matter:

# _pages/themes.md
permalink: /themes/

# _pages/about.md
permalink: /about/

# _pages/blog.md (blog index)
permalink: /blog/

This gives a clean, consistent URL structure where /blog/ contains posts, /themes/ contains theme pages, and top-level paths handle static pages. Jekyll makes a set of variables available in every template through Liquid. Knowing which variables exist and what they contain is essential for building and customising Jekyll themes. This is a complete reference for all of them.

site variables

site contains global data about your Jekyll site — configuration from _config.yml, collections, posts, and build information.

Configuration variables

Every key in _config.yml becomes a site.* variable:

# _config.yml
title: "JekyllHub"
author: "Marcus Webb"
description: "A Jekyll theme marketplace."
url: "https://jekyllhub.com"
baseurl: ""
google_analytics: "G-XXXXXXXXXX"
sendy_list_id: "abc123"
{{ site.title }}           → "JekyllHub"
{{ site.description }}     → "A Jekyll theme marketplace."
{{ site.url }}             → "https://jekyllhub.com"
{{ site.baseurl }}         → ""
{{ site.author }}          → "Marcus Webb"
{{ site.google_analytics }}→ "G-XXXXXXXXXX"
{{ site.sendy_list_id }}   → "abc123"

Built-in site variables

These are provided by Jekyll itself, not from _config.yml:

Variable Type Description
site.time DateTime The time of the current build
site.pages Array All pages in the site
site.posts Array All posts, sorted newest first
site.related_posts Array Up to 10 related posts (for the current post)
site.static_files Array All static files (non-processed)
site.html_pages Array Pages with .html or .htm extension
site.html_files Array Static files with .html extension
site.collections Array All collections defined in config
site.data Object Data from all files in _data/
site.documents Array All documents in all collections
site.categories Object Posts grouped by category
site.tags Object Posts grouped by tag

site.posts

{% raw %}
{% comment %} All posts, newest first {% endcomment %}
{% for post in site.posts %}
  <a href="{{ post.url }}">{{ post.title }}</a>
{% endfor %}

{% comment %} Post count {% endcomment %}
{{ site.posts | size }} posts

{% comment %} Latest post {% endcomment %}
{% assign latest = site.posts | first %}
{{ latest.title }}
{% endraw %}

site.pages

{% raw %}
{% for page in site.pages %}
  {% if page.title %}
    <a href="{{ page.url }}">{{ page.title }}</a>
  {% endif %}
{% endfor %}
{% endraw %}

Note: site.pages includes all pages — HTML files, Markdown files, and some generated files. Filter by page.layout or page.url if you need a subset.

site.data

Mirrors the _data/ directory structure:

_data/
├── navigation.yml
├── authors.yml
└── showcase/
    └── sites.yml
{{ site.data.navigation }}         → contents of navigation.yml
{{ site.data.authors }}            → contents of authors.yml
{{ site.data.showcase.sites }}     → contents of showcase/sites.yml

site.categories and site.tags

{% raw %}
{% comment %} Loop over all categories {% endcomment %}
{% for category in site.categories %}
  <h2>{{ category[0] }}</h2>          ← category name
  {% for post in category[1] %}
    <li>{{ post.title }}</li>          ← posts in this category
  {% endfor %}
{% endfor %}

{% comment %} Posts in a specific category {% endcomment %}
{% assign tutorial_posts = site.categories["Tutorial"] %}
{{ tutorial_posts | size }} tutorials
{% endraw %}

Collection variables

For a collection named themes (defined in _config.yml):

{% raw %}
{{ site.themes }}                 → array of all theme documents
{{ site.themes | size }}          → number of themes
{% for theme in site.themes %}
  {{ theme.title }}
{% endfor %}
{% endraw %}

page variables

page contains data about the current page, post, or collection document being rendered.

Built-in page variables

Variable Type Description
page.content String Rendered HTML content of the page
page.title String Title from front matter
page.excerpt String Excerpt (first paragraph or custom)
page.url String URL of the page (e.g. /blog/my-post/)
page.date DateTime Post date
page.id String Unique identifier (e.g. /2026/08/06/my-post)
page.categories Array Categories from front matter
page.tags Array Tags from front matter
page.path String Source file path (e.g. _posts/2026-08-06-my-post.md)
page.name String Filename (e.g. 2026-08-06-my-post.md)
page.next Object Next post (chronologically)
page.previous Object Previous post (chronologically)

Custom front matter variables

Every key in a page’s front matter becomes a page.* variable:

---
layout: post
title: "My Post"
author: Marcus Webb
featured: true
reading_time: 8
image: /assets/images/blog/cover.webp
difficulty: beginner
---
{{ page.author }}         → "Marcus Webb"
{{ page.featured }}       → true
{{ page.reading_time }}   → 8
{{ page.image }}          → "/assets/images/blog/cover.webp"
{{ page.difficulty }}     → "beginner"

page.url vs page.id

{{ page.url }}   → "/blog/jekyll-variables-reference/"
{{ page.id }}    → "/2026/08/06/jekyll-variables-reference"

page.url is the clean URL visitors see. page.id is an internal identifier used by some plugins.

page.date

{{ page.date }}                          → 2026-08-06 00:00:00 +0000
{{ page.date | date: "%B %-d, %Y" }}    → August 6, 2026
{{ page.date | date: "%Y-%m-%d" }}      → 2026-08-06
{{ page.date | date: "%s" }}            → Unix timestamp

page.excerpt

{{ page.excerpt }}              → first paragraph (rendered HTML)
{{ page.excerpt | strip_html }} → plain text excerpt
{{ page.excerpt | strip_html | truncatewords: 30 }}

Override the default excerpt in front matter:

excerpt: "A custom summary for this post."

page.next and page.previous

Navigate between posts:

{% raw %}
{% if page.next %}
  <a href="{{ page.next.url }}">Next: {{ page.next.title }}</a>
{% endif %}
{% if page.previous %}
  <a href="{{ page.previous.url }}">Previous: {{ page.previous.title }}</a>
{% endif %}
{% endraw %}

Note: page.next is the chronologically newer post; page.previous is the older one — counterintuitive but correct.

page.categories and page.tags

{% raw %}
{% for category in page.categories %}
  <a href="/category/{{ category | slugify }}/">{{ category }}</a>
{% endfor %}

{% for tag in page.tags %}
  <span class="tag">{{ tag }}</span>
{% endfor %}
{% endraw %}

layout variables

layout contains data from the current layout file’s front matter:

<!-- _layouts/post.html -->
---
layout: default
sidebar: true
show_related: true
---
{{ layout.sidebar }}      → true
{{ layout.show_related }} → true

Useful when a layout needs configuration that individual pages can check:

{% raw %}
{% if layout.sidebar %}
  {% include sidebar.html %}
{% endif %}
{% endraw %}

content

Available only inside layout files. Contains the rendered HTML content being wrapped by the layout:

<!-- _layouts/default.html -->
<main>
  {{ content }}
</main>

content is the output after all inner layouts have been applied. For a post using layout: post (which itself uses layout: default), by the time default.html sees content, it already contains the post’s HTML wrapped in post.html’s structure.

paginator variables

Available on paginated pages when using jekyll-paginate or jekyll-paginate-v2:

Variable Description
paginator.page Current page number
paginator.per_page Posts per page
paginator.posts Posts on the current page
paginator.total_posts Total post count
paginator.total_pages Total page count
paginator.previous_page Previous page number (or nil)
paginator.previous_page_path URL of previous page
paginator.next_page Next page number (or nil)
paginator.next_page_path URL of next page
{% raw %}
{% for post in paginator.posts %}
  <article>
    <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
  </article>
{% endfor %}

<nav class="pagination">
  {% if paginator.previous_page %}
    <a href="{{ paginator.previous_page_path }}">← Newer</a>
  {% endif %}
  <span>Page {{ paginator.page }} of {{ paginator.total_pages }}</span>
  {% if paginator.next_page %}
    <a href="{{ paginator.next_page_path }}">Older →</a>
  {% endif %}
</nav>
{% endraw %}

jekyll variables

Information about the Jekyll build environment:

{{ jekyll.environment }}   → "development" or "production"
{{ jekyll.version }}       → "4.3.2"
{% raw %}
{% if jekyll.environment == "production" %}
  {% include analytics.html %}
{% endif %}
{% endraw %}

Set JEKYLL_ENV=production before building to enable production-only features.

forloop variables

Inside any {% raw %}{% for %}{% endraw %} loop:

{% raw %}
{% for post in site.posts %}
  {{ forloop.index }}    → 1, 2, 3... (1-based)
  {{ forloop.index0 }}   → 0, 1, 2... (0-based)
  {{ forloop.rindex }}   → counts down from total (1-based)
  {{ forloop.rindex0 }}  → counts down from total (0-based)
  {{ forloop.first }}    → true on first iteration
  {{ forloop.last }}     → true on last iteration
  {{ forloop.length }}   → total items in array
{% endfor %}
{% endraw %}

Practical use — add a class to the first item and a divider between items:

{% raw %}
{% for item in list %}
  <div class="item{% if forloop.first %} item--first{% endif %}">
    {{ item.name }}
  </div>
  {% unless forloop.last %}<hr>{% endunless %}
{% endfor %}
{% endraw %}

tablerow variables

Inside a {% raw %}{% tablerow %}{% endraw %} loop:

{% raw %}
{% tablerow item in list cols: 3 %}
  {{ tablerowloop.index }}
  {{ tablerowloop.col }}       → current column (1-based)
  {{ tablerowloop.col0 }}      → current column (0-based)
  {{ tablerowloop.col_first }} → true on first column
  {{ tablerowloop.col_last }}  → true on last column
  {{ tablerowloop.row }}       → current row number
  {{ tablerowloop.first }}     → true on first item
  {{ tablerowloop.last }}      → true on last item
  {{ tablerowloop.length }}    → total items
{% endtablerow %}
{% endraw %}

Quick reference: which variable to use

| You need | Use | |———-|—–| | Site name/URL from config | site.title, site.url | | All blog posts | site.posts | | All pages | site.pages | | Data from _data/nav.yml | site.data.nav | | Custom config value | site.your_key | | Current page title | page.title | | Current page URL | page.url | | Custom front matter value | page.your_key | | Post publish date | page.date | | Post excerpt | page.excerpt | | Next/previous post | page.next, page.previous | | Rendered page content (in layouts) | content | | Build environment | jekyll.environment | | Pagination data | paginator.* | | Loop position | forloop.index, forloop.first, etc. | A Jekyll theme can look polished in a screenshot and be a nightmare to work with in practice. Bad themes have hard-coded values scattered across templates, SCSS that cannot be overridden without editing source files, and JavaScript that blocks rendering on every page load.

A good Jekyll theme does the opposite: it is designed to be used, extended, and maintained — not just previewed. Here is what to look for before you commit.

Clean, Readable Liquid Templates

Open the theme’s _layouts/ and _includes/ directories on GitHub and read a few files. Well-written Liquid templates are:

Modular — the layout is broken into includes (_includes/header.html, _includes/footer.html, _includes/head.html) rather than crammed into one monolithic default.html. This makes it possible to override a single component without copying the entire layout.

Commented where it matters — complex Liquid logic (conditional includes, data lookups, paginator handling) should have a brief comment explaining what it does. Templates without any comments are harder to customise correctly.

Free of hard-coded content — good themes use _config.yml variables for site name, author, social links, and colour settings. A theme with your branding written directly into templates requires manual find-and-replace to customise.

Consistent naming conventions — front matter fields should follow a pattern (title, description, image, author) rather than an idiosyncratic mix that requires reading every template to understand.

Well-Organised SCSS

SCSS structure reveals a lot about how seriously a theme was built. A good Jekyll theme organises styles using:

Variables for everything visual — colours, font sizes, spacing, border radii, and breakpoints should all be defined as SCSS variables or CSS custom properties at the top of the stylesheet. This means you can retheme the entire site by changing a handful of values.

Logical file structure — styles split into logical partials: _variables.scss, _base.scss, _typography.scss, _layout.scss, _components.scss. A single style.scss file with 3,000 lines of undifferentiated CSS is a red flag.

No !important overuse!important is sometimes necessary, but a theme that uses it everywhere is fighting its own specificity and will be painful to customise.

Dark mode handled properly — if the theme supports dark mode, it should use CSS custom properties swapped via a [data-theme="dark"] attribute or prefers-color-scheme media query, not a separate stylesheet loaded with JavaScript.

Performance by Default

A static site has no excuse to be slow. Before buying or installing a theme, check what it loads:

Minimal JavaScript — a blog or portfolio theme should need almost no JavaScript. If a theme loads jQuery, multiple animation libraries, and a carousel script for a site that displays text and images, those are unnecessary dependencies you will carry forever.

Self-hosted or system fonts — themes that load Google Fonts make an external request on every page load. A well-optimised theme either uses system fonts (font-family: system-ui, sans-serif) or bundles the fonts locally with font-display: swap.

Optimised images in templates — check the image includes. Does the theme use loading="lazy" on below-the-fold images? Does it specify width and height attributes to prevent layout shift?

No render-blocking resources — CSS should be in the <head>, JavaScript should be deferred or at the end of <body>. Check the source of the demo — a <script> tag without defer or async in the <head> will block every page from rendering.

Run Lighthouse on the live demo. A good Jekyll theme should score above 90 on Performance with no effort on your part — the theme itself should not be the bottleneck.

SEO Ready Out of the Box

A well-built Jekyll theme handles SEO fundamentals automatically:

jekyll-seo-tag integration — the theme should include {% raw %}{% seo %}{% endraw %} in _layouts/default.html or equivalent. This handles title tags, meta descriptions, Open Graph, Twitter cards, and canonical URLs with a single include.

Proper heading hierarchy — one <h1> per page (the post or page title), with <h2> through <h4> used for content structure. A theme that wraps the site name in an <h1> on every page is hurting your SEO on every post.

RSS feed — the theme should include a <link rel="alternate" type="application/rss+xml"> in the head, pointing to a feed generated by jekyll-feed.

Structured data support — better themes include JSON-LD structured data for articles, breadcrumbs, or site links. This is not required, but it is a sign of a theme built with search visibility in mind.

Clean URLs — the theme should not produce URLs with .html extensions or unnecessary parameters. Jekyll handles this with permalink: pretty in _config.yml — check that the theme’s config sets this or documents how to do it.

Accessibility That Is Not an Afterthought

Accessibility in a theme is not just about compliance — it is about code quality. Themes that are accessible are also better structured, more maintainable, and more usable for everyone.

Semantic HTML — content should use <article>, <nav>, <main>, <aside>, and <footer> appropriately. A theme built entirely with <div> elements is not just inaccessible — it is lazy.

Skip navigation link — a “Skip to content” link as the first focusable element lets keyboard users bypass the navigation on every page. It is one line of HTML and CSS. Themes without it have not thought about keyboard navigation.

ARIA labels on interactive elements — icon-only buttons (like a dark mode toggle or search icon) need aria-label attributes to be usable by screen readers.

Focus styles — pressing Tab through the live demo should show a visible focus ring on every interactive element. Themes that remove focus styles with outline: none fail basic keyboard accessibility.

Colour contrast — body text on its background should meet WCAG AA (4.5:1 ratio minimum). Check this with the browser’s accessibility panel or a contrast checker.

Active Maintenance and a Clear Update History

Even the best theme becomes a liability if it is abandoned. Signs of a well-maintained theme:

A changelog — a CHANGELOG.md or release notes on GitHub showing what changed in each version. This tells you the author thinks carefully about changes and communicates them clearly.

Regular releases — at least a few updates in the past year. Check the releases page on GitHub, not just the commit history.

Responsive issue handling — open the GitHub issues and look for how the author responds to bug reports. Are bugs acknowledged and fixed? Or are issues sitting unanswered for months?

A versioning scheme — themes that use semantic versioning (1.2.0, 1.2.1) signal that the author understands the difference between a breaking change and a patch.

Good Documentation

Documentation is a direct measure of how much the author cares about the people using their theme.

A well-documented Jekyll theme covers:

  • Quick start — how to get the theme running locally in five minutes
  • Configuration reference — every _config.yml option explained with example values
  • Front matter fields — what each layout accepts and what is required vs optional
  • Customisation guide — how to override layouts, styles, and includes without editing theme source files
  • Deployment notes — any hosting-specific configuration required
  • Upgrade guide — what to do when a new version is released

If the only documentation is a README with a screenshot and a “fork this repo” instruction, the author has not thought about the experience of people actually using the theme.

The Quality Checklist

Use this before buying or installing any Jekyll theme:

Code quality

  • Templates are modular (split into _includes/)
  • No hard-coded content — everything comes from _config.yml or front matter
  • SCSS uses variables for colours, fonts, and spacing
  • No excessive !important usage
  • Dark mode uses CSS custom properties, not a separate stylesheet

Performance

  • Lighthouse performance score above 90 on the live demo
  • No unnecessary JavaScript libraries
  • Fonts are self-hosted or use system fonts
  • Images use loading="lazy" and have width/height attributes
  • No render-blocking scripts in <head>

SEO

  • Includes jekyll-seo-tag
  • One <h1> per page
  • RSS feed linked in <head>
  • Clean URLs (no .html extensions)

Accessibility

  • Uses semantic HTML elements (<article>, <nav>, <main>)
  • Has a skip navigation link
  • Icon buttons have aria-label attributes
  • Focus styles are visible
  • Body text passes WCAG AA contrast (4.5:1)

Maintenance

  • Last commit within 12 months
  • Has a changelog or release notes
  • Issues are responded to within a reasonable time
  • Compatible with Jekyll 4.x

Documentation

  • Quick start guide works
  • Configuration options are documented
  • Front matter fields are documented
  • Customisation without editing source files is explained

A theme that scores well on all five areas — code, performance, SEO, accessibility, and maintenance — is genuinely worth using. Most themes will excel in one or two and be mediocre in others. The checklist helps you make that trade-off consciously rather than discovering it after you have built your site.

Ready to find a theme that meets this standard? Browse the JekyllHub theme directory — every theme is hand-reviewed for quality before listing. Liquid tags are the logic layer of Jekyll templates. Wrapped in {% raw %}{% %}{% endraw %} delimiters, they control flow, create variables, loop over data, and embed content — without outputting anything themselves. This is a complete reference for every Liquid tag used in Jekyll.

assign

Creates a variable and assigns it a value. The variable is available for the rest of the template (or until overwritten).

{% raw %}
{% assign title = "My Post" %}
{% assign count = site.posts | size %}
{% assign is_premium = false %}
{% assign tags_list = "jekyll,tutorial,liquid" | split: "," %}
{% endraw %}

Variables created with assign are available in the current scope and any includes called from it.

{% raw %}
{% assign author = site.authors | where: "name", page.author | first %}
{% if author %}
  <img src="{{ author.avatar }}" alt="{{ author.name }}">
{% endif %}
{% endraw %}

capture

Builds a string variable from a block of content — useful when the value spans multiple lines or includes Liquid expressions.

{% raw %}
{% capture post_url %}{{ site.url }}{{ post.url }}{% endcapture %}
<meta property="og:url" content="{{ post_url }}">
{% endraw %}
{% raw %}
{% capture author_bio %}
  {{ page.author }} · {{ page.date | date: "%B %-d, %Y" }} · {{ page.reading_time }} min read
{% endcapture %}
<p class="post-meta">{{ author_bio | strip }}</p>
{% endraw %}

Unlike assign, capture captures everything between its opening and closing tags, including whitespace and newlines. Use | strip to remove leading/trailing whitespace.

if / elsif / else / endif

Conditional rendering. Outputs content only when the condition is true.

{% raw %}
{% if page.price == 0 %}
  <span class="badge">Free</span>
{% elsif page.price < 20 %}
  <span class="badge">Budget</span>
{% else %}
  <span class="badge">Premium</span>
{% endif %}
{% endraw %}

Conditions can use:

  • == equal to
  • != not equal to
  • > >= < <= numeric comparisons
  • contains string/array contains
  • and both conditions true
  • or either condition true
{% raw %}
{% if page.tags contains "jekyll" and page.featured %}
  This is a featured Jekyll post.
{% endif %}

{% if user.name == "admin" or user.role == "editor" %}
  Show edit button
{% endif %}
{% endraw %}

Truthy/falsy: In Liquid, nil and false are falsy. Everything else — including 0, "", and [] — is truthy. This differs from many other languages.

{% raw %}
{% if page.image %}      ← false only if image is nil (not set) or false
{% if page.count > 0 %}  ← more reliable check for zero
{% endraw %}

unless / endunless

The inverse of if — runs the block when the condition is false. Equivalent to {% raw %}{% if not condition %}{% endraw %}.

{% raw %}
{% unless page.hide_sidebar %}
  {% include sidebar.html %}
{% endunless %}

{% unless forloop.last %}
  <hr>
{% endunless %}
{% endraw %}

case / when / else / endcase

Multi-branch conditional, cleaner than a long if/elsif chain when checking a single variable against multiple values.

{% raw %}
{% case page.category %}
  {% when "Tutorial" %}
    <span class="badge badge--blue">Tutorial</span>
  {% when "Comparison" %}
    <span class="badge badge--purple">Comparison</span>
  {% when "Themes", "Design" %}
    <span class="badge badge--green">Design</span>
  {% else %}
    <span class="badge">Article</span>
{% endcase %}
{% endraw %}

Multiple values for the same branch: {% raw %}{% when "Themes", "Design" %}{% endraw %} matches either.

for / endfor

Loops over an array or range. One of the most-used tags in Jekyll templates.

{% raw %}
{% for post in site.posts %}
  <article>
    <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
    <p>{{ post.excerpt | strip_html | truncatewords: 25 }}</p>
  </article>
{% endfor %}
{% endraw %}

Loop parameters

{% raw %}
{% comment %} First 6 posts {% endcomment %}
{% for post in site.posts limit: 6 %}

{% comment %} Skip the first 3 {% endcomment %}
{% for post in site.posts offset: 3 %}

{% comment %} Reverse order {% endcomment %}
{% for post in site.posts reversed %}

{% comment %} Combine: posts 4-9 {% endcomment %}
{% for post in site.posts limit: 6 offset: 3 %}
{% endraw %}

forloop variables

Inside a loop, these special variables describe the current iteration:

{% raw %}
{% for post in site.posts %}
  {% if forloop.first %}<ul>{% endif %}
  <li class="{% if forloop.last %}last{% endif %}">
    {{ forloop.index }}.  {{ post.title }}
  </li>
  {% if forloop.last %}</ul>{% endif %}
{% endfor %}
{% endraw %}
Variable Value
forloop.index Current iteration, 1-based
forloop.index0 Current iteration, 0-based
forloop.rindex Reverse index, 1-based
forloop.rindex0 Reverse index, 0-based
forloop.first true on first iteration
forloop.last true on last iteration
forloop.length Total number of items

else in for loops

Runs when the array is empty:

{% raw %}
{% for theme in site.themes %}
  <div class="theme-card">{{ theme.title }}</div>
{% else %}
  <p>No themes available yet.</p>
{% endfor %}
{% endraw %}

Looping over a number range

{% raw %}
{% for i in (1..5) %}
  <span>Step {{ i }}</span>
{% endfor %}
{% endraw %}

Nested loops

{% raw %}
{% for category in site.categories %}
  <h2>{{ category[0] }}</h2>
  {% for post in category[1] %}
    <a href="{{ post.url }}">{{ post.title }}</a>
  {% endfor %}
{% endfor %}
{% endraw %}

break and continue

Control loop execution:

{% raw %}
{% comment %} Stop after finding first featured post {% endcomment %}
{% for post in site.posts %}
  {% if post.featured %}
    <a href="{{ post.url }}">{{ post.title }}</a>
    {% break %}
  {% endif %}
{% endfor %}

{% comment %} Skip drafts in a custom loop {% endcomment %}
{% for post in site.posts %}
  {% unless post.published %}{% continue %}{% endunless %}
  <li>{{ post.title }}</li>
{% endfor %}
{% endraw %}

include

Inserts the contents of a file from _includes/. One of the most-used tags in Jekyll layouts.

{% raw %}
{% include nav.html %}
{% include footer.html %}
{% include components/card.html %}
{% endraw %}

include with parameters

Pass variables to an include using key=value pairs:

{% raw %}
{% include components/card.html
   title=theme.title
   url=theme.url
   price=theme.price
   image=theme.card_image %}
{% endraw %}

Inside the include, access them with include.keyname:

<!-- _includes/components/card.html -->
<div class="card">
  <h3>{{ include.title }}</h3>
  <a href="{{ include.url }}">View</a>
</div>

include with a variable filename

{% raw %}
{% assign template = "components/card.html" %}
{% include {{ template }} %}
{% endraw %}

Or use include_relative to include from a path relative to the current file:

{% raw %}
{% include_relative ../shared/notice.html %}
{% endraw %}

raw / endraw

Prevents Liquid from processing the enclosed content. Essential when writing Liquid code in blog posts.

{% raw %}
  Use {{ variable }} syntax to output values.
  {% if condition %}...{% endif %}
{% endraw %}

Everything inside {% raw %}...{% endraw %} is output literally, without Liquid processing.

comment / endcomment

Adds a Liquid comment — not rendered in output and not processed:

{% raw %}
{% comment %}
  TODO: add pagination here
  This section is temporarily disabled
{% endcomment %}
{% endraw %}

Unlike HTML comments (<!-- -->), Liquid comments are completely removed from output and cannot be seen by users in the page source.

highlight / endhighlight

Syntax-highlights a code block using Rouge:

{% raw %}
{% highlight ruby %}
def hello
  puts "Hello, Jekyll!"
end
{% endhighlight %}

{% highlight javascript linenos %}
const site = "JekyllHub";
console.log(site);
{% endhighlight %}
{% endraw %}

The optional linenos adds line numbers. The language identifier must be one Rouge supports (ruby, javascript, python, bash, yaml, html, css, json, etc.).

link and post_url

Generate correct URLs for internal pages and posts, accounting for baseurl:

{% raw %}
{% comment %} Link to a page (fails build if page not found) {% endcomment %}
<a href="{% link _pages/about.md %}">About</a>
<a href="{% link _posts/2026-08-03-jekyll-directory-structure.md %}">Read post</a>

{% comment %} Link to a post by filename {% endcomment %}
<a href="{% post_url 2026-08-03-jekyll-directory-structure %}">Read post</a>
{% endraw %}

Both link and post_url cause a build error if the target file does not exist — useful for catching broken internal links. They automatically apply baseurl.

tablerow

Like for, but generates an HTML table:

{% raw %}
<table>
  {% tablerow plugin in site.data.plugins cols: 3 %}
    <td>{{ plugin.name }}</td>
  {% endtablerow %}
</table>
{% endraw %}

cols: sets the number of columns per row. Less commonly used than for, but useful for tabular data.

jekyll_draft and jekyll_version

Available in Jekyll 4+:

{% raw %}
{% comment %} Show content only when serving with --drafts flag {% endcomment %}
{% if jekyll.environment == "development" %}
  <div class="draft-banner">Draft preview</div>
{% endif %}
{% endraw %}

Whitespace control

Liquid tags add blank lines to output. Strip whitespace with -:

{% raw %}
{%- assign foo = "bar" -%}
{%- for item in list -%}
  {{ item }}
{%- endfor -%}
{% endraw %}

The - inside the tag delimiters strips whitespace (including newlines) before or after that tag. Use this when generating clean HTML or JSON output.

Tags vs filters: the difference

People sometimes confuse tags and filters. The distinction:

  • Tags ({% raw %}{% %}{% endraw %}) execute logic — they control flow, assign variables, loop, include files
  • Filters (|) transform values — they modify the output of {{ }} expressions
{% raw %}
{% assign count = site.posts | size %}   ← tag with filter in the value
{{ page.title | upcase }}                ← output with filter
{% for post in site.posts %}             ← loop tag
{% endraw %}

Knowing both tags and filters — and which is which — gives you the full toolkit for working with any Jekyll theme. Liquid is the template language Jekyll uses to make HTML dynamic. It was created by Shopify and is also used in many other platforms. In Jekyll, Liquid lets you output variables, loop through posts, check conditions, and transform data — all within your HTML files.

If you have ever seen {{ page.title }} or {% raw %}{% for post in site.posts %}{% endraw %} in a Jekyll theme, that is Liquid. This guide covers everything you need to know to read, write, and customise Liquid templates.

The three types of Liquid syntax

Liquid uses three distinct delimiters, each with a different purpose:

1. Output tags {{ }}

Double curly braces output the value of a variable or expression:

{{ page.title }}
{{ site.description }}
{{ post.date | date: "%B %-d, %Y" }}

Whatever is inside {{ }} is evaluated and printed to the page.

2. Logic tags {% raw %}{% %}{% endraw %}

Curly brace with percent signs execute logic — control flow, loops, assignments. They do not output anything themselves:

{% raw %}
{% if page.featured %}
  <span class="badge">Featured</span>
{% endif %}

{% for post in site.posts %}
  <h2>{{ post.title }}</h2>
{% endfor %}

{% assign author = site.data.authors | where: "name", page.author | first %}
{% endraw %}

3. Comment tags {% raw %}{% comment %}{% endraw %}

Comments are not rendered in output:

{% raw %}
{% comment %}
  This is a Liquid comment.
  Useful for notes to yourself or temporarily disabling code.
{% endcomment %}
{% endraw %}

Liquid objects in Jekyll

Objects are the data sources available in Liquid. Jekyll provides several built-in objects.

site

Site-wide data from _config.yml and the Jekyll build:

{{ site.title }}           → "JekyllHub"
{{ site.url }}             → "https://jekyllhub.com"
{{ site.description }}     → your site description
{{ site.posts }}           → array of all posts
{{ site.pages }}           → array of all pages
{{ site.themes }}          → array of theme collection items
{{ site.data.navigation }} → contents of _data/navigation.yml
{{ site.time }}            → build time

Any key in _config.yml becomes a site.* variable:

# _config.yml
sendy_list_id: "abc123"
{{ site.sendy_list_id }}   → "abc123"

page

Data about the current page being rendered:

{{ page.title }}           → post or page title
{{ page.url }}             → URL of the current page
{{ page.date }}            → date (for posts)
{{ page.content }}         → rendered HTML content
{{ page.excerpt }}         → post excerpt
{{ page.categories }}      → array of categories
{{ page.tags }}            → array of tags
{{ page.author }}          → value from front matter
{{ page.image }}           → any custom front matter variable

Every front matter key on the current page is available as page.keyname.

layout

Data from the layout file’s front matter:

{{ layout.title }}
{{ layout.sidebar }}

Rarely used, but available if your layout has its own front matter variables.

content

The rendered content of the current page, available only inside layout files:

<!-- _layouts/default.html -->
<main>
  {{ content }}
</main>

forloop (inside loops)

Available inside {% raw %}{% for %}{% endraw %} loops:

{% raw %}
{% for post in site.posts %}
  {{ forloop.index }}      → 1-based position (1, 2, 3...)
  {{ forloop.index0 }}     → 0-based position (0, 1, 2...)
  {{ forloop.first }}      → true on first iteration
  {{ forloop.last }}       → true on last iteration
  {{ forloop.length }}     → total number of items
  {{ forloop.rindex }}     → reverse index (counts down)
{% endfor %}
{% endraw %}

Variables: assign and capture

Create your own variables with assign:

{% raw %}
{% assign greeting = "Hello, world!" %}
{{ greeting }}

{% assign featured = site.posts | where: "featured", true %}
{% assign post_count = site.posts | size %}
{% assign site_url = site.url | append: site.baseurl %}
{% endraw %}

Use capture to build a string from multiple lines:

{% raw %}
{% capture author_link %}
  <a href="/authors/{{ page.author | slugify }}/">{{ page.author }}</a>
{% endcapture %}

{{ author_link }}
{% endraw %}

capture is useful when you need to build a complex string and use it multiple times, or pass it to an include.

Filters

Filters transform the value on the left using a pipe |:

{{ page.title | upcase }}
→ "JEKYLL LIQUID TEMPLATING BASICS"

{{ page.date | date: "%B %-d, %Y" }}
→ "August 4, 2026"

{{ site.posts | size }}
→ 81

{{ "/about/" | relative_url }}
→ "/about/"  (or "/subdir/about/" if baseurl is set)

{{ site.url | append: page.url }}
→ "https://jekyllhub.com/blog/my-post/"

Filters can be chained:

{{ page.title | downcase | replace: " ", "-" | truncate: 30 }}

For a full filter reference, see the Jekyll Liquid Filters Cheatsheet.

Control flow: if, elsif, else, unless

{% raw %}
{% if page.featured %}
  <span class="badge badge--featured">Featured</span>
{% elsif page.trending %}
  <span class="badge badge--trending">Trending</span>
{% else %}
  <span class="badge">Standard</span>
{% endif %}
{% endraw %}

unless is the opposite of if — true when the condition is false:

{% raw %}
{% unless page.hide_toc %}
  {% include toc.html %}
{% endunless %}
{% endraw %}

Comparison operators

{% raw %}
{% if page.price == 0 %}Free{% endif %}
{% if page.price > 0 %}Paid{% endif %}
{% if page.price != 0 %}Not free{% endif %}
{% if page.stars >= 1000 %}Popular{% endif %}
{% if page.title contains "Jekyll" %}...{% endif %}
{% endraw %}

Logical operators

{% raw %}
{% if page.featured and page.price == 0 %}
  Free and featured!
{% endif %}

{% if page.category == "Tutorial" or page.category == "Guide" %}
  Educational content
{% endif %}
{% endraw %}

Checking if a variable exists

{% raw %}
{% if page.image %}
  <img src="{{ page.image | relative_url }}" alt="{{ page.title }}">
{% endif %}

{% if page.tags != empty %}
  <ul>
    {% for tag in page.tags %}
      <li>{{ tag }}</li>
    {% endfor %}
  </ul>
{% endif %}
{% endraw %}

Loops: for

Loop over arrays with {% raw %}{% for %}{% endraw %}:

{% raw %}
{% for post in site.posts %}
  <article>
    <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
    <time>{{ post.date | date: "%B %-d, %Y" }}</time>
    <p>{{ post.excerpt }}</p>
  </article>
{% endfor %}
{% endraw %}

Loop modifiers

{% raw %}
{% comment %} Limit to first 6 items {% endcomment %}
{% for post in site.posts limit: 6 %}
  ...
{% endfor %}

{% comment %} Skip the first 3 items {% endcomment %}
{% for post in site.posts offset: 3 %}
  ...
{% endfor %}

{% comment %} Reverse the order {% endcomment %}
{% for post in site.posts reversed %}
  ...
{% endfor %}

{% comment %} First 6, skip the first 3 {% endcomment %}
{% for post in site.posts limit: 6 offset: 3 %}
  ...
{% endfor %}
{% endraw %}

else in for loops

The else clause runs when the array is empty:

{% raw %}
{% for theme in site.themes %}
  <div class="card">{{ theme.title }}</div>
{% else %}
  <p>No themes found.</p>
{% endfor %}
{% endraw %}

Looping over a range of numbers

{% raw %}
{% for i in (1..5) %}
  <span>{{ i }}</span>
{% endfor %}
→ 1 2 3 4 5
{% endraw %}

break and continue

{% raw %}
{% for post in site.posts %}
  {% if forloop.index > 5 %}
    {% break %}
  {% endif %}
  {{ post.title }}
{% endfor %}

{% for post in site.posts %}
  {% unless post.featured %}
    {% continue %}
  {% endunless %}
  {{ post.title }}  ← only featured posts reach here
{% endfor %}
{% endraw %}

case / when

An alternative to long if/elsif chains:

{% raw %}
{% case page.category %}
  {% when "Tutorial" %}
    <span class="badge badge--tutorial">Tutorial</span>
  {% when "Comparison" %}
    <span class="badge badge--comparison">Comparison</span>
  {% when "Themes" %}
    <span class="badge badge--themes">Themes</span>
  {% else %}
    <span class="badge">Article</span>
{% endcase %}
{% endraw %}

Working with arrays

Filtering arrays

{% raw %}
{% assign free_themes = site.themes | where: "price", 0 %}
{% assign featured_posts = site.posts | where: "featured", true %}
{% assign tutorial_posts = site.posts | where: "category", "Tutorial" %}
{% endraw %}

where_exp for more complex filtering:

{% raw %}
{% assign recent_posts = site.posts | where_exp: "post", "post.date > '2026-01-01'" %}
{% assign popular = site.themes | where_exp: "theme", "theme.stars > 1000" %}
{% endraw %}

Sorting arrays

{% raw %}
{% assign themes_by_stars = site.themes | sort: "stars" | reverse %}
{% assign posts_by_title = site.posts | sort: "title" %}
{% endraw %}

Grouping arrays

{% raw %}
{% assign posts_by_category = site.posts | group_by: "category" %}
{% for group in posts_by_category %}
  <h2>{{ group.name }}</h2>
  {% for post in group.items %}
    <a href="{{ post.url }}">{{ post.title }}</a>
  {% endfor %}
{% endfor %}
{% endraw %}

Getting first/last items

{% raw %}
{% assign latest_post = site.posts | first %}
{{ latest_post.title }}

{% assign oldest_post = site.posts | last %}
{{ oldest_post.title }}
{% endraw %}

raw tag

Prevent Liquid from processing a block — essential when writing about Liquid in a Jekyll blog:

{% raw %}
  This {{ variable }} will not be processed by Liquid.
  {% if true %}This tag will not execute.{% endif %}
{% endraw %}

Use {% raw %} whenever you need to display Liquid code examples.

Whitespace control

Liquid tags add blank lines to output. Use - to strip whitespace:

{% raw %}
{%- for post in site.posts -%}
  <li>{{ post.title }}</li>
{%- endfor -%}
{% endraw %}

The - inside the tag delimiters strips all whitespace (including newlines) before and after the tag.

Practical patterns

Include with a fallback

<meta name="description" content="{{ page.description | default: site.description }}">

Conditional class

{% raw %}
<li class="nav-item{% if page.url == item.url %} nav-item--active{% endif %}">
{% endraw %}

Truncate excerpt

<p>{{ post.excerpt | strip_html | truncatewords: 30 }}</p>

Absolute URL

<meta property="og:url" content="{{ page.url | absolute_url }}">

Build a comma-separated list

{{ page.tags | join: ", " }}
→ "jekyll, tutorial, liquid"

Check if a string contains a word

{% raw %}
{% if page.content contains "Jekyll" %}
  This post mentions Jekyll.
{% endif %}
{% endraw %}

Liquid is straightforward once you understand the three delimiter types and the key objects (site, page, content). Most Jekyll template work uses a small subset of the full Liquid language — the patterns above cover the vast majority of what you will encounter in any theme. When you first open a Jekyll project, the folder structure can look confusing. Underscores everywhere, a _site folder that appears after building, special filenames with dates. Once you understand what each piece does, it all makes sense — Jekyll’s structure is actually quite logical.

Here is a complete reference for every file and folder in a Jekyll project.

The full structure at a glance

my-jekyll-site/
│
├── _config.yml          ← site configuration
├── Gemfile              ← Ruby dependency list
├── Gemfile.lock         ← locked dependency versions
│
├── _posts/              ← blog post files
├── _drafts/             ← unpublished drafts
├── _pages/              ← static page files (optional convention)
│
├── _layouts/            ← HTML wrapper templates
├── _includes/           ← reusable HTML fragments
├── _sass/               ← Sass/SCSS partials
│
├── _data/               ← structured data (YAML, JSON, CSV)
├── _plugins/            ← custom Ruby plugins
│
├── _collections/        ← custom collection directories
│   ├── _themes/
│   └── _authors/
│
├── assets/              ← static files (CSS, JS, images)
│   ├── css/
│   ├── js/
│   └── images/
│
├── index.html           ← homepage
└── _site/               ← generated output (do not edit)

_config.yml

The master configuration file. Controls site-wide settings, plugins, collections, permalink structure, build options, and any custom data you want available in all templates as site.* variables.

title: "My Jekyll Site"
url: "https://example.com"
plugins:
  - jekyll-feed
  - jekyll-seo-tag

Jekyll reads this file at startup only — restart the server after changes.

Gemfile and Gemfile.lock

Gemfile lists your Ruby dependencies — Jekyll itself and any plugins:

source "https://rubygems.org"
gem "jekyll", "~> 4.3"
gem "jekyll-feed"
gem "jekyll-seo-tag"

Gemfile.lock is auto-generated by Bundler and records the exact version of every gem installed. Commit this file — it ensures anyone who clones your project gets identical gem versions.

Never edit Gemfile.lock by hand. Update it with bundle update.

_posts/

All blog posts live here as Markdown (or HTML) files. Jekyll requires a specific naming convention:

YYYY-MM-DD-title-of-post.md

Examples:

_posts/
├── 2026-08-03-jekyll-directory-structure.md
├── 2026-07-29-jekyll-front-matter-guide.md
└── 2026-01-15-my-first-post.md

The date in the filename sets the post’s default date. Jekyll uses it for sorting, URL generation, and the page.date variable. Posts are accessible via site.posts in templates.

_drafts/

Drafts are posts without a date in the filename. They live in _drafts/ and are excluded from normal builds:

_drafts/
├── my-unfinished-post.md
└── ideas-for-later.md

To preview drafts locally: bundle exec jekyll serve --drafts

Drafts are never built in production unless you explicitly pass --drafts to the build command.

_pages/ (convention, not built-in)

Jekyll has no built-in _pages/ directory — but it is a widely used convention for storing static pages separately from posts. Files here are processed exactly like files in the root directory.

_pages/
├── about.md
├── contact.md
├── themes.html
└── faq.md

To make Jekyll process files from _pages/, either list it explicitly in _config.yml or keep your pages in the root directory. Many themes include _pages/ in their configuration via:

include:
  - _pages

Or use a collection:

collections:
  pages:
    output: true
    permalink: /:name/

_layouts/

HTML templates that wrap page content. Jekyll replaces {{ content }} in a layout with the page’s rendered output.

_layouts/
├── default.html    ← base shell (<html>, <head>, nav, footer)
├── page.html       ← inherits default, adds page container
├── post.html       ← inherits default, adds article structure
└── home.html       ← inherits default, adds hero section

Layouts can inherit from each other via front matter:

---
layout: default   ← this layout wraps inside default.html
---

_includes/

Reusable HTML fragments embedded in layouts or content with {% raw %}{% include filename.html %}{% endraw %}.

_includes/
├── head.html              ← <head> contents
├── nav.html               ← navigation bar
├── footer.html            ← footer
├── analytics.html         ← analytics scripts
├── components/
│   ├── card.html          ← theme card component
│   └── badge.html         ← badge component
└── sections/
    ├── home-hero.html     ← homepage hero section
    └── home-newsletter.html

Unlike layouts, includes can be used anywhere — in layouts, in other includes, even mid-content in Markdown files.

_sass/

Sass/SCSS partial files that Jekyll compiles into CSS. Files starting with _ are partials (not compiled to standalone CSS files):

_sass/
├── _variables.scss    ← colour and spacing tokens
├── _base.scss         ← reset, body, typography
├── _nav.scss          ← navigation styles
├── _cards.scss        ← card component styles
├── _post.scss         ← blog post styles
└── _utilities.scss    ← helper classes

These partials are imported by a main SCSS entry file in assets/css/:

/* assets/css/main.scss */
---
---
@import "variables";
@import "base";
@import "nav";
@import "cards";
@import "post";
@import "utilities";

The empty front matter (--- ---) at the top tells Jekyll to process this file through Sass.

_data/

Structured data files in YAML, JSON, CSV, or TSV format. Accessible in all templates as site.data.filename:

_data/
├── navigation.yml     → site.data.navigation
├── authors.yml        → site.data.authors
├── faq.yml            → site.data.faq
├── showcase.yml       → site.data.showcase
└── bundle.yml         → site.data.bundle

Example usage:

{% raw %}
{% for item in site.data.navigation %}
  <a href="{{ item.url }}">{{ item.title }}</a>
{% endfor %}
{% endraw %}

Useful for any structured content that does not need individual pages — navigation menus, team members, FAQs, testimonials, pricing tables.

_plugins/

Custom Ruby plugin files that extend Jekyll’s functionality. Files here are loaded automatically at build time:

_plugins/
├── my_generator.rb    ← custom page generator
├── my_filter.rb       ← custom Liquid filter
└── my_hook.rb         ← Jekyll build hook

Note: Custom plugins in _plugins/ do not work on GitHub Pages (security restriction). They work on Netlify, Cloudflare Pages, and Vercel where you control the build environment.

Custom collection directories

Collections defined in _config.yml get their own _collectionname/ directory:

# _config.yml
collections:
  themes:
    output: true
    permalink: /themes/:name/
  authors:
    output: true
    permalink: /authors/:name/
_themes/
├── minimal-mistakes.md
├── chirpy.md
└── al-folio.md

_authors/
├── marcus-webb.md
└── sarah-chen.md

Collection items are available as site.themes and site.authors in templates.

assets/

Static files served directly — CSS, JavaScript, fonts, and images. Unlike _-prefixed directories, assets/ is copied to _site/ without processing (except for SCSS files with front matter).

assets/
├── css/
│   └── main.scss       ← compiled to main.css
├── js/
│   ├── main.js
│   └── bookmarks.js
├── images/
│   ├── logo.png
│   ├── social-card.png
│   └── blog/
│       └── post-cover.webp
└── fonts/
    └── inter.woff2

Reference assets in templates using relative_url:

<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
<img src="{{ '/assets/images/logo.png' | relative_url }}" alt="Logo">

Root-level files

index.html or index.md — your homepage. Can use any layout.

404.html — custom 404 page. Most hosts serve this automatically for missing pages.

feed.xml or atom.xml — RSS/Atom feed (usually auto-generated by jekyll-feed).

sitemap.xml — XML sitemap (auto-generated by jekyll-sitemap).

robots.txt — instructions for search engine crawlers:

User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml

_redirects — redirect rules for Netlify/Cloudflare Pages.

.gitignore — files to exclude from Git:

_site/
.jekyll-cache/
.sass-cache/
.bundle/
vendor/
node_modules/

_site/

The generated output — never edit files here directly. Jekyll wipes and rebuilds this directory on every build. It mirrors what your visitors see:

_site/
├── index.html
├── about/
│   └── index.html
├── blog/
│   ├── index.html
│   └── jekyll-directory-structure/
│       └── index.html
├── assets/
│   ├── css/
│   │   └── main.css       ← compiled from main.scss
│   └── js/
│       └── main.js
├── feed.xml
└── sitemap.xml

Add _site/ to .gitignore — deploy from your build pipeline, not from a committed _site/.

.jekyll-cache/

Jekyll’s internal build cache. Speeds up incremental builds by storing processed files. Safe to delete if you see stale content — Jekyll regenerates it. Add to .gitignore.

Files Jekyll ignores by default

Jekyll automatically excludes these from the build output:

  • Gemfile and Gemfile.lock
  • node_modules/
  • Any file or directory starting with . (dotfiles)
  • Any file or directory starting with _ (except those explicitly handled)
  • Files listed in exclude: in _config.yml

The build flow

When you run bundle exec jekyll build:

  1. Jekyll reads _config.yml
  2. Reads all files in _posts/, _pages/, _data/, collections
  3. Processes files with front matter through Liquid templating
  4. Applies layouts (wrapping content in layout HTML)
  5. Compiles Sass/SCSS to CSS
  6. Copies static assets unchanged
  7. Writes everything to _site/

Understanding this flow makes it clear why _ directories are special (processed by Jekyll) while assets/ is not (copied as-is), and why changes to _config.yml require a restart. Remote themes are one of the most convenient ways to use a Jekyll theme — especially on GitHub Pages. Instead of installing a theme as a Ruby gem, you reference it directly from its GitHub repository. The hosting platform (GitHub Pages, Netlify, Cloudflare Pages) fetches the theme files at build time and applies them to your site.

What is a remote theme?

A remote theme is a Jekyll theme hosted as a public GitHub repository that you can apply to your site without manually copying its files. You reference it with a single remote_theme setting in _config.yml.

This is different from installing a theme as a gem (gem "minima" in your Gemfile). With remote themes:

  • You do not need to add a gem to your Gemfile for the theme
  • The theme files are fetched from GitHub at each build
  • You can use any version-compatible public Jekyll repository as a theme
  • Updating the theme means changing one line in _config.yml

The jekyll-remote-theme plugin

Remote themes are powered by the jekyll-remote-theme plugin, maintained by GitHub. It is automatically enabled on GitHub Pages. For other platforms (Netlify, Cloudflare Pages, Vercel), you add it yourself.

Setting up on GitHub Pages

GitHub Pages has jekyll-remote-theme built in. Just add remote_theme to _config.yml:

remote_theme: mmistakes/minimal-mistakes

That is the complete setup. No Gemfile changes, no plugin installation.

Setting up on other platforms

Add the plugin to your Gemfile:

group :jekyll_plugins do
  gem "jekyll-remote-theme"
end

Add it to _config.yml:

plugins:
  - jekyll-remote-theme

remote_theme: mmistakes/minimal-mistakes

Run bundle install and commit Gemfile.lock.

Specifying a remote theme

The remote_theme value follows the format owner/repository:

# Use the latest commit on the default branch
remote_theme: mmistakes/minimal-mistakes

# Pin to a specific tag or release
remote_theme: mmistakes/minimal-mistakes@4.26.0

# Pin to a specific branch
remote_theme: mmistakes/minimal-mistakes@master

# Pin to a specific commit SHA (most stable)
remote_theme: mmistakes/minimal-mistakes@d9c6f33

Pinning to a version is strongly recommended for production sites. Without pinning, your site rebuilds with whatever is the latest commit on the theme’s default branch — a theme update could unexpectedly change your site’s appearance.

These themes are widely used and fully support remote_theme:

Theme remote_theme value Best for
Minimal Mistakes mmistakes/minimal-mistakes Blogs, documentation
Just the Docs just-the-docs/just-the-docs Documentation
Cayman pages-themes/cayman@v0.2.0 Project pages
Slate pages-themes/slate@v0.2.0 Project pages
Minima jekyll/minima Simple blogs
al-folio alshedivat/al-folio Academic portfolios

Customising a remote theme

The power of remote themes is that you can override any file from the theme without touching the theme’s repository. Jekyll’s file resolution works like this: your files take precedence over the theme’s files.

To override a theme file, create the same file in your project. Jekyll uses yours and ignores the theme’s version.

Overriding a layout

If the theme has _layouts/post.html and you want to customise it:

  1. Copy the file from the theme’s GitHub repository
  2. Place it at _layouts/post.html in your project
  3. Modify it as needed

Your _layouts/post.html now overrides the theme’s.

Overriding an include

# Theme's version (not in your repo)
_includes/nav.html

# Your override (in your repo — takes precedence)
_includes/nav.html   ← your custom nav

Adding custom CSS

Most remote themes look for a assets/css/style.scss or similar entry point. Add your custom styles:

// assets/css/custom.scss
---
---

// Import the theme's base styles
@import "{{ site.theme }}";

// Your overrides
.site-header {
  background: #1a1a2e;
}

.post-title {
  font-family: "Georgia", serif;
}

For Minimal Mistakes specifically, add to _config.yml:

# Minimal Mistakes custom CSS
head_scripts:
  - /assets/css/custom.css

Or create _sass/custom.scss and import it in the theme’s skin file.

Customising theme configuration

Remote themes typically expose configuration options via _config.yml. Check the theme’s documentation for available settings:

# Minimal Mistakes theme settings
minimal_mistakes_skin: "dark"   # or: air, aqua, contrast, default, dirt, neon, mint, plum, sunrise

# Site navigation
header_pages:
  - about.md
  - contact.md

# Author profile
author:
  name: Marcus Webb
  avatar: /assets/images/avatar.jpg
  bio: "Developer and technical writer."
  links:
    - label: GitHub
      icon: "fab fa-fw fa-github"
      url: "https://github.com/marcuswebb"

Remote themes vs gem-based themes vs downloaded themes

  Remote theme Gem theme Downloaded theme
Files in your repo No No Yes
Easy updates Yes (change one line) Yes (update gem version) No (manual)
Full customisation Yes (override files) Yes (override files) Yes (edit directly)
Works on GitHub Pages Yes Whitelist only Yes
Requires internet at build Yes No No
Build time impact Slightly slower Minimal Minimal

When to use a remote theme

  • You want a well-maintained community theme without vendoring its files
  • You are on GitHub Pages and the theme is not a whitelisted gem
  • You want easy updates by changing a version pin in _config.yml

When to use a gem theme

  • Your platform supports all gems (Netlify, Cloudflare Pages)
  • The theme is distributed as a gem on RubyGems
  • You want offline builds without fetching from GitHub

When to download and own the theme files

  • You plan to heavily customise the theme beyond small overrides
  • You want no external dependency at build time
  • You bought a premium theme and have the source files

Building on top of a remote theme

Many sites use a remote theme as a foundation and add content on top:

my-jekyll-site/
├── _config.yml          ← remote_theme: mmistakes/minimal-mistakes
├── _posts/              ← your content
├── _pages/              ← your pages
├── _data/               ← your data files
├── _layouts/            ← any layout overrides
├── _includes/           ← any include overrides
├── _sass/               ← custom styles
└── assets/
    └── images/          ← your images

The theme provides the layout, CSS, and JavaScript. You provide the content and any customisations. The separation is clean.

Common remote theme issues

Build fails: “Remote theme error”

The most common cause is a rate limit on the GitHub API. Remote themes fetch from GitHub at build time; too many builds in a short window can hit unauthenticated API limits.

Fix: Set a GITHUB_TOKEN environment variable in your build platform. This uses authenticated API requests with higher limits:

# Netlify / Cloudflare Pages environment variable
GITHUB_TOKEN: your_github_personal_access_token

Theme files not updating

If you pinned to a branch (@main) and updated the remote theme, old cached files may still be served. Clear your build platform’s cache or pin to the latest commit SHA.

CSS not loading after customisation

Check your baseurl in _config.yml. Remote themes often have hardcoded paths that conflict with a non-empty baseurl. For a root-domain site, baseurl: "" is correct.

Layout not found

If you reference a layout that exists in the remote theme but get a “layout not found” error, ensure jekyll-remote-theme is listed in your plugins array (for non-GitHub Pages platforms) and in your Gemfile.

Switching themes

Switching remote themes is as simple as changing one line in _config.yml:

# Before
remote_theme: mmistakes/minimal-mistakes

# After
remote_theme: pages-themes/cayman@v0.2.0

Rebuild your site. The new theme applies immediately. Note that any layout names, front matter variables, or configuration keys specific to the old theme may not exist in the new one — you will likely need to update those as well.

Remote themes on GitHub Pages

GitHub Pages enables jekyll-remote-theme by default since 2017. Any public GitHub repository with a valid Jekyll theme structure can be used as a remote theme.

This is particularly useful for using themes that are not on the GitHub Pages gem whitelist — which only includes about 15 official themes. With remote_theme, the entire Jekyll ecosystem is available.

Remote themes are one of the easiest ways to get a professional Jekyll site up and running quickly. Combined with selective file overrides and _config.yml customisation, you can build a unique site on top of a polished theme foundation without managing hundreds of theme files yourself. _config.yml is the single most important file in a Jekyll project. It controls everything: your site’s URL, which plugins run, how collections are defined, what files are excluded from builds, and any custom data you want available across every template. Understanding it thoroughly is essential for anyone building or customising a Jekyll site.

File location and format

_config.yml lives at the root of your Jekyll project:

my-jekyll-site/
├── _config.yml     ← here
├── _posts/
├── _layouts/
├── _includes/
└── index.html

It uses YAML format — indented key-value pairs. Two spaces per indent level, no tabs.

Important: Jekyll reads _config.yml only at startup. If you change it while running jekyll serve, you must restart the server to see the changes take effect. Content changes in posts and pages hot-reload automatically; config changes do not.

Essential site settings

# Site identity
title: "JekyllHub"
description: "A marketplace for premium and free Jekyll themes."

# URLs — critical to get right
url: "https://jekyllhub.com"       # your production domain with scheme
baseurl: ""                         # subdirectory, if any (e.g. "/blog")

# Contact
email: hello@jekyllhub.com

url vs baseurl

This distinction trips up many Jekyll users.

url is your site’s root domain: https://jekyllhub.com. It is used to construct absolute URLs (for RSS feeds, sitemaps, canonical tags).

baseurl is a subdirectory path if your site does not live at the root of the domain. For a site at https://username.github.io/my-project/, set baseurl: "/my-project". For a site at the root, leave it empty: baseurl: "".

In templates, always use the relative_url or absolute_url filters instead of hardcoding paths — they automatically prepend baseurl:

<a href="{{ '/about/' | relative_url }}">About</a>
<link rel="canonical" href="{{ page.url | absolute_url }}">

Build settings

# Build
source: .              # where Jekyll reads files (default: current dir)
destination: _site     # where Jekyll writes output (default: _site)

# Markdown
markdown: kramdown
highlighter: rouge     # syntax highlighting engine

# Kramdown options
kramdown:
  input: GFM                        # GitHub Flavoured Markdown
  hard_wrap: false
  syntax_highlighter: rouge
  syntax_highlighter_opts:
    block:
      line_numbers: true

# Liquid
liquid:
  error_mode: warn      # warn | strict | lax
  strict_filters: false
  strict_variables: false

Plugins

List all plugins in the plugins key:

plugins:
  - jekyll-feed          # generates /feed.xml RSS feed
  - jekyll-seo-tag       # adds meta tags, OG tags, JSON-LD
  - jekyll-sitemap       # generates /sitemap.xml
  - jekyll-paginate-v2   # pagination for posts
  - jekyll-redirect-from # add redirects via front matter
  - jekyll-archives      # generates category and tag archive pages

Plugins must also be in your Gemfile:

group :jekyll_plugins do
  gem "jekyll-feed"
  gem "jekyll-seo-tag"
  gem "jekyll-sitemap"
  gem "jekyll-paginate-v2"
end

GitHub Pages note: GitHub Pages only supports a specific list of whitelisted plugins. If deploying to GitHub Pages, check the whitelist. For full plugin support, use Cloudflare Pages, Netlify, or Vercel with a build step.

Collections

Collections let you create custom content types beyond posts and pages:

collections:
  themes:
    output: true                        # generate individual pages for each item
    permalink: /themes/:name/           # URL pattern
  authors:
    output: true
    permalink: /authors/:name/
  showcase:
    output: false                       # data only, no individual pages

With this configuration, files in _themes/ generate pages at /themes/minimal-mistakes/, etc. Files in _showcase/ are available as site.showcase but do not generate pages.

Front matter defaults

Avoid repeating the same front matter on every post with defaults:

defaults:
  # All posts get layout: post and author: Marcus Webb
  - scope:
      path: ""
      type: posts
    values:
      layout: post
      author: Marcus Webb
      toc: true
      featured: false
      comments: true

  # All pages get layout: page
  - scope:
      path: ""
      type: pages
    values:
      layout: page

  # Theme collection items get layout: theme
  - scope:
      path: ""
      type: themes
    values:
      layout: theme

  # Files in a specific directory
  - scope:
      path: "guides"
    values:
      layout: guide
      sidebar: true

  # A specific file
  - scope:
      path: "index.html"
    values:
      layout: home

Specificity rules: more specific scopes override less specific ones. A file-level front matter value always wins over any default.

Excluding and including files

By default, Jekyll excludes dotfiles, Gemfile, Gemfile.lock, node_modules, and a few others. Customise with:

# Exclude from build output
exclude:
  - .sass-cache/
  - .jekyll-cache/
  - Gemfile
  - Gemfile.lock
  - node_modules/
  - vendor/
  - "*.sh"
  - README.md
  - package.json
  - package-lock.json
  - tools/
  - CHANGELOG.md

# Include files that would otherwise be excluded
include:
  - _redirects      # Netlify/Cloudflare redirects file
  - _headers        # Cloudflare/Netlify headers file
  - .htaccess       # Apache config (dotfile, excluded by default)

Pagination

Using jekyll-paginate-v2:

pagination:
  enabled: true
  per_page: 12
  permalink: "/page/:num/"
  title: ":title - Page :num"
  sort_field: "date"
  sort_reverse: true

# Enable autopages for categories and tags
autopages:
  enabled: true
  categories:
    enabled: true
    permalink: "/category/:cat/"
    layouts:
      - "category.html"
  tags:
    enabled: false

SEO and analytics settings

Using jekyll-seo-tag:

# Used by jekyll-seo-tag
title: "JekyllHub"
tagline: "Find Your Perfect Jekyll Theme"
description: "Browse free and premium Jekyll themes for blogs, portfolios, and business sites."
url: "https://jekyllhub.com"
logo: /assets/images/logo.png
author:
  name: Marcus Webb
  email: marcus@jekyllhub.com
  twitter: marcuswebb

twitter:
  username: jekyllhub
  card: summary_large_image

social:
  name: JekyllHub
  links:
    - https://twitter.com/jekyllhub
    - https://github.com/jekyllhub

# Analytics (custom keys — not built-in Jekyll)
google_analytics: "G-XXXXXXXXXX"
plausible_domain: "jekyllhub.com"

# Newsletter (custom)
sendy_url: "https://sendpress.org/s/subscribe"
sendy_list_id: "YOUR_LIST_ID"

Jekyll Feed settings

feed:
  posts_limit: 20
  excerpt_only: false
  collections:
    - posts

Sass/SCSS settings

sass:
  sass_dir: _sass          # where .scss partials live
  style: compressed        # compressed | expanded | nested | compact
  load_paths:
    - _sass
    - node_modules         # if using npm packages

Custom data available in all templates

Any key in _config.yml is available as site.keyname throughout all templates. Use this to store site-wide settings:

# Custom site settings
nav_links:
  - title: Browse Themes
    url: /themes/
  - title: Blog
    url: /blog/
  - title: Showcase
    url: /showcase/

social_links:
  github: https://github.com/jekyllhub
  twitter: https://twitter.com/jekyllhub

support_email: support@jekyllhub.com
theme_submission_url: /submit/

Access in templates:

{% raw %}
{% for link in site.nav_links %}
  <a href="{{ link.url }}">{{ link.title }}</a>
{% endfor %}

<a href="{{ site.social_links.github }}">GitHub</a>
{% endraw %}

Environment-specific configuration

Use multiple config files for different environments:

# _config.yml (base, committed to repo)
title: "JekyllHub"
url: "https://jekyllhub.com"
google_analytics: ""

# _config.development.yml (local overrides, not committed)
url: "http://localhost:4000"
google_analytics: ""

Run Jekyll with multiple configs — later files override earlier ones:

# Development
bundle exec jekyll serve --config _config.yml,_config.development.yml

# Production
JEKYLL_ENV=production bundle exec jekyll build

Serving options

Settings for jekyll serve:

# Local server
port: 4000
host: "127.0.0.1"
livereload: true          # auto-refresh browser on changes
open_url: true            # open browser automatically

# Show drafts during development
show_drafts: false        # set to true or use --drafts flag
future: false             # show posts with future dates
unpublished: false        # show unpublished posts

Timezone

timezone: "Europe/London"    # IANA timezone name

This affects how page.date is interpreted and how dates are formatted. Set it to your local timezone to avoid date-off-by-one issues.

# For posts
permalink: /:categories/:year/:month/:day/:title/

# Common permalink styles:
permalink: pretty          # /year/month/day/title/
permalink: date            # /year/month/day/title.html
permalink: ordinal         # /year/ordinal/title.html
permalink: weekdate        # /year/week/short_day/title/
permalink: none            # /title.html

A common setup for blogs:

permalink: /blog/:title/

This gives clean, category-free URLs like /blog/jekyll-front-matter-guide/.

Full example _config.yml

# ─── Site Identity ───────────────────────────────────────────────────────
title: "JekyllHub"
tagline: "Find Your Perfect Jekyll Theme"
description: "A marketplace for premium and free Jekyll themes  for blogs, portfolios, documentation, and business sites."
url: "https://jekyllhub.com"
baseurl: ""
email: hello@jekyllhub.com
author: "Marcus Webb"
logo: /assets/images/logo.png

# ─── Build ───────────────────────────────────────────────────────────────
timezone: "Europe/London"
markdown: kramdown
highlighter: rouge
permalink: /blog/:title/

kramdown:
  input: GFM
  syntax_highlighter: rouge

# ─── Plugins ─────────────────────────────────────────────────────────────
plugins:
  - jekyll-feed
  - jekyll-seo-tag
  - jekyll-sitemap
  - jekyll-paginate-v2
  - jekyll-redirect-from

# ─── Collections ─────────────────────────────────────────────────────────
collections:
  themes:
    output: true
    permalink: /themes/:name/
  authors:
    output: true
    permalink: /authors/:name/

# ─── Defaults ────────────────────────────────────────────────────────────
defaults:
  - scope:
      path: ""
      type: posts
    values:
      layout: post
      toc: true
      featured: false
  - scope:
      path: ""
      type: pages
    values:
      layout: page
  - scope:
      path: ""
      type: themes
    values:
      layout: theme
  - scope:
      path: ""
      type: authors
    values:
      layout: author

# ─── Pagination ──────────────────────────────────────────────────────────
pagination:
  enabled: true
  per_page: 12
  permalink: "/page/:num/"
  sort_field: date
  sort_reverse: true

# ─── Analytics ───────────────────────────────────────────────────────────
google_analytics: "G-XXXXXXXXXX"

# ─── Newsletter ──────────────────────────────────────────────────────────
sendy_url: "https://sendpress.org/s/subscribe"
sendy_list_id: ""
sendy_waitlist_id: ""

# ─── Exclude ─────────────────────────────────────────────────────────────
exclude:
  - Gemfile
  - Gemfile.lock
  - node_modules/
  - vendor/
  - tools/
  - package.json
  - README.md

include:
  - _redirects
  - _headers

The _config.yml file is the control panel of your Jekyll site. Mastering it means being able to change almost any aspect of how Jekyll builds and serves your content without touching a single template file. Installing a Jekyll theme takes minutes. Undoing a bad choice takes hours. Before you run bundle install, it is worth spending ten minutes checking these ten things — they will tell you whether a theme is genuinely well built or just good-looking in a screenshot.

1. Responsive Design — Actually Test It

Every theme claims to be responsive. Most are, to some degree. But “responsive” ranges from “barely not broken on mobile” to “carefully designed for every breakpoint.”

Open the live demo and resize your browser window from wide to narrow. Watch specifically for:

  • Navigation — does the hamburger menu work smoothly, or is it an afterthought?
  • Typography — does text remain readable at small sizes, or does it shrink too small?
  • Images — do they scale properly, or do they overflow their containers?
  • Tables and code blocks — do they scroll horizontally, or do they break the layout?

Also use your browser’s DevTools to simulate a real mobile device. Desktop responsive simulation and actual mobile rendering are not the same.

2. GitHub Pages Compatibility

If you want to host on GitHub Pages for free, this is a hard constraint. GitHub Pages runs Jekyll in safe mode — only a specific list of plugins are allowed.

Check the theme’s _config.yml and Gemfile for plugins. If you see anything beyond this standard set, it will not build on GitHub Pages without a CI/CD workaround:

plugins:
  - jekyll-feed
  - jekyll-sitemap
  - jekyll-seo-tag
  - jekyll-paginate
  - jekyll-relative-links

Plugins like jekyll-assets, jekyll-webp, or custom generators will fail. If the theme uses them but you want GitHub Pages, you will need GitHub Actions to build and deploy — which is doable but adds complexity.

3. Last Commit Date

Check the GitHub repository. When was the last commit?

  • Under 6 months — actively maintained
  • 6–18 months — likely fine, minor risk
  • Over 18 months — proceed carefully, check open issues
  • Over 3 years — high risk of incompatibility with Jekyll 4.x

An abandoned theme will not keep up with Jekyll updates, browser changes, or security fixes. At some point it will stop building correctly, and you will have no upstream to pull fixes from.

4. Jekyll Version Compatibility

Related to maintenance — check which version of Jekyll the theme targets. Open the Gemfile or _config.yml and look for a Jekyll version constraint:

gem "jekyll", "~> 4.3"

If the theme was built for Jekyll 2.x or early 3.x, it may use deprecated Liquid syntax, old plugin APIs, or layout structures that have changed. A quick check is to look at the README — does it mention Jekyll 4? Does it use {% raw %}{{ content }}{% endraw %} in _layouts/default.html? Old themes sometimes use the pre-3.0 layout syntax.

5. Documentation Quality

Read the README before installing anything. A well-documented theme should cover:

  • Installation — gem-based or direct file copy, Gemfile requirements
  • Configuration — what goes in _config.yml, with example values
  • Front matter — what fields each layout accepts
  • Customisation — how to override styles or layouts without editing theme files
  • Deployment — any hosting-specific notes

If the README is a screenshot and a link to the demo, expect to spend significant time reverse-engineering how the theme works. That is fine if you enjoy that kind of exploration — but it is a real time cost.

6. Performance — Check the Real Numbers

Open the live demo in Chrome and run Lighthouse (DevTools → Lighthouse tab). Check the Performance score and specifically look at:

  • First Contentful Paint — should be under 1.5s
  • Largest Contentful Paint — should be under 2.5s
  • Total Blocking Time — should be under 300ms
  • Page weight — open the Network tab and check total transfer size

A Jekyll theme has no excuse to be slow. It generates static HTML — if a theme is loading multiple large JavaScript bundles, external font files, or unoptimised images, those are design choices you will carry into production.

7. Accessibility Basics

You do not need to run a full WCAG audit, but checking a few basics takes two minutes and tells you a lot about the quality of the code:

Keyboard navigation — press Tab through the live demo. Can you reach every link and button? Does the focus ring appear?

Colour contrast — use your browser’s accessibility panel or a tool like WebAIM’s contrast checker on the body text and background. WCAG AA requires a 4.5:1 ratio for normal text.

Image alt text — look at the theme’s image includes. Do they use alt="{{ image.alt }}" or alt=""? Blank alt text is sometimes intentional for decorative images, but it should not be a blanket default.

Heading structure — is there one <h1> per page? Do headings follow a logical hierarchy without skipping levels?

Themes that fail basic accessibility checks reveal poor attention to detail in the underlying code.

8. SEO Structure

A Jekyll theme should output clean HTML that search engines can parse easily. Check:

jekyll-seo-tag support — does the theme include {% raw %}{% seo %}{% endraw %} in the <head>? This plugin handles title tags, meta descriptions, Open Graph tags, and Twitter cards automatically.

Canonical URLs — does the theme output <link rel="canonical"> tags? This prevents duplicate content issues.

Structured heading hierarchy — as above, one <h1> per page, used for the post or page title.

RSS feed — does the theme include a link to an RSS/Atom feed? This is important for discoverability and feed aggregators.

Sitemap — does it support jekyll-sitemap for automatic sitemap generation?

9. Browser Support

Most modern Jekyll themes support current browsers without issue, but it is worth checking if your audience includes users on older browsers or specific platforms.

Open the live demo in Firefox, Safari, and Chrome — at minimum. Look for any rendering differences in fonts, layout, or interactive elements. Some themes use CSS features (like container queries or newer selectors) that have uneven support.

If you have analytics from a previous site, check what browsers your audience actually uses before deciding how much weight to give this.

10. Licence and Usage Rights

This one is easy to forget until it matters. Check the theme’s licence before using it commercially:

  • MIT — most permissive, use for anything including commercial projects
  • GPL — copyleft, your site’s code may need to be open source
  • CC BY — requires attribution, fine for most use cases
  • No licence — legally, all rights reserved; do not use commercially without permission

Premium themes typically come with a commercial licence for a set number of sites. Read it carefully if you are building for a client or plan to run ads or sell products on the site.


The Quick Checklist

Run through these before committing:

  • Tested on mobile — navigation, typography, images all work
  • Confirmed GitHub Pages compatible (or alternative build pipeline planned)
  • Last commit within 18 months
  • Targets Jekyll 4.x
  • README covers installation, configuration, and customisation
  • Lighthouse performance score above 80
  • Passes keyboard navigation and contrast checks
  • Includes jekyll-seo-tag and outputs canonical URLs
  • Tested in Firefox and Safari, not just Chrome
  • Licence permits your intended use

A theme that passes all ten is genuinely worth installing. Most themes will pass most of them — the checklist helps you spot the two or three that matter for your specific situation.

Next step: How to Install a Jekyll Theme. Jekyll has two ways to reuse HTML across your site: layouts and includes. Both reduce repetition, but they work differently and serve different purposes. Understanding when to reach for each one is key to building a clean, maintainable Jekyll site.

The short version

  • Layouts wrap content — they are the outer shell (nav, header, footer, <html>)
  • Includes are embedded fragments — reusable chunks pulled into a template at a specific point

A layout is used once per page and applied from the outside. An include is embedded from the inside, anywhere you need it, as many times as you like.

Layouts in detail

Layouts live in _layouts/ and are applied via front matter:

---
layout: post
---

A layout wraps a page’s content using the {{ content }} variable:

<!-- _layouts/post.html -->
---
layout: default
---

<article class="post">
  <h1>{{ page.title }}</h1>
  {{ content }}              ← the post's Markdown renders here
</article>

Key characteristics of layouts:

  • Applied by the page/post via front matter — the content does not choose what goes around it, the layout does
  • Can inherit from other layouts (layout stacking)
  • Only one layout per page
  • Contain major structural sections

Includes in detail

Includes live in _includes/ and are pulled into any template using the include tag:

{% raw %}
{% include nav.html %}
{% include footer.html %}
{% include components/card.html %}
{% endraw %}

A layout file using includes:

{% raw %}
<!-- _layouts/default.html -->
<!DOCTYPE html>
<html lang="en">
<head>
  {% include head.html %}
</head>
<body>
  {% include nav.html %}
  {{ content }}
  {% include footer.html %}
</body>
</html>
{% endraw %}

Key characteristics of includes:

  • Pulled in using {% raw %}{% include %}{% endraw %} from anywhere — layouts, other includes, page content
  • Can be used multiple times on one page
  • Can receive parameters (variables)
  • Contain specific UI components or repeating fragments

A concrete example

Imagine a post page with the following sections:

┌─────────────────────────────────────┐
│  <head> meta, CSS, title            │  ← head.html (include)
│─────────────────────────────────────│
│  Navigation bar                     │  ← nav.html (include)
│─────────────────────────────────────│
│  Article header (title, date)       │  ┐
│  Article body content               │  │ post.html (layout)
│  Author bio                         │  │ using includes:
│  Related posts                      │  │  - author-bio.html
│─────────────────────────────────────│  │  - related-posts.html
│  Footer                             │  ┘
└─────────────────────────────────────┘  ← footer.html (include)

The layout (post.html, inheriting from default.html) provides the outer structure. The includes are the discrete components within that structure.

Passing variables to includes

Includes accept parameters, making them more flexible than layouts:

{% raw %}
{% include components/card.html
   title=theme.title
   url=theme.url
   image=theme.card_image
   price=theme.price %}
{% endraw %}

Inside _includes/components/card.html, the variables are accessed via include.variable_name:

{% raw %}
<!-- _includes/components/card.html -->
<div class="card">
  {% if include.image %}
    <img src="{{ include.image | relative_url }}" alt="{{ include.title }}">
  {% endif %}
  <h3><a href="{{ include.url }}">{{ include.title }}</a></h3>
  {% if include.price == 0 %}
    <span class="badge">Free</span>
  {% else %}
    <span class="price">${{ include.price }}</span>
  {% endif %}
</div>
{% endraw %}

Layouts cannot receive parameters this way — they work with the page’s front matter variables.

When to use a layout

Use a layout when you need to wrap an entire page in a consistent outer structure. Layouts answer the question: “What shell does this type of page use?”

Good candidates for layouts:

  • default.html — the base HTML shell for all pages
  • post.html — article structure for blog posts
  • page.html — standard content page structure
  • theme.html — theme detail page with gallery and sidebar
  • home.html — homepage with hero and special sections

Rule of thumb: if every page of that type shares the same outer structure, it is a layout.

When to use an include

Use an include for any reusable fragment that appears in multiple templates, or any component complex enough to extract for readability.

Good candidates for includes:

  • nav.html — navigation bar (used in every layout)
  • footer.html — footer (used in every layout)
  • head.html<head> contents (meta, CSS, SEO tags)
  • analytics.html — analytics scripts
  • components/card.html — a theme card used in grids
  • author-bio.html — author bio block used in posts
  • related-posts.html — related posts section
  • newsletter-form.html — newsletter signup form

Rule of thumb: if you paste the same HTML in more than one place, extract it to an include.

Using includes inside page content

Includes can be used inside Markdown content, not just in layout files. This is useful for embedding repeating components mid-article:

Here is a callout box:

{% raw %}{% include callout.html type="warning" text="This changed in Jekyll 4.0." %}{% endraw %}

And here is a code block:

The callout.html include renders inline wherever the tag appears.

Organising your _includes folder

For anything beyond a simple site, organise includes into subdirectories:

_includes/
├── head.html
├── nav.html
├── footer.html
├── analytics.html
├── components/
│   ├── card.html
│   ├── badge.html
│   └── breadcrumb.html
├── sections/
│   ├── home-hero.html
│   ├── home-newsletter.html
│   └── home-featured.html
└── partials/
    ├── author-bio.html
    ├── related-posts.html
    └── share-buttons.html

Reference subdirectory includes with the path:

{% raw %}
{% include components/card.html title=theme.title %}
{% include sections/home-hero.html %}
{% endraw %}

Include variables and scope

Variables defined inside an include are local to that include — they do not leak into the parent template. Variables from the parent are accessible in the include via page, site, and layout:

{% raw %}
<!-- _includes/author-bio.html -->
{% assign author = site.authors | where: "name", page.author | first %}
{% if author %}
<div class="author-bio">
  <img src="{{ author.avatar }}" alt="{{ author.name }}">
  <p>{{ author.bio }}</p>
</div>
{% endif %}
{% endraw %}

The page.author variable comes from the post’s front matter. The include accesses it as part of the normal Liquid scope.

Performance: cacheify repeated includes

If an include is used many times on one page (such as a card component inside a loop), Jekyll processes it once per call. For complex includes in large loops, simplify the include or pre-compute values with Liquid assign outside the loop.

{% raw %}
{% comment %} Pre-assign outside the loop {% endcomment %}
{% assign sorted_themes = site.themes | sort: "stars" | reverse %}

{% for theme in sorted_themes %}
  {% include components/card.html theme=theme %}
{% endfor %}
{% endraw %}

The difference in one sentence

A layout is the house; an include is a piece of furniture. The layout determines the structure and surrounds the content; includes are discrete components placed within that structure.

Most Jekyll sites need both: a small set of layouts (3–5) and a larger set of includes (10–20+). Knowing which to use in each situation is what keeps your templates readable and easy to maintain as your site grows. Layouts are Jekyll’s template system — reusable HTML wrappers that surround your content. Every page on your Jekyll site uses a layout, even if you have not thought about it explicitly. Understanding how layouts work, and how to structure them, is one of the most important skills in Jekyll development.

What is a layout?

A layout is an HTML file in the _layouts/ directory that contains a {{ content }} placeholder. When Jekyll builds a page, it takes the page’s content and injects it wherever {{ content }} appears in the layout.

{% raw %}
<!-- _layouts/default.html -->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>{{ page.title }} | {{ site.title }}</title>
  <link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
</head>
<body>
  {% include nav.html %}

  <main>
    {{ content }}
  </main>

  {% include footer.html %}
</body>
</html>
{% endraw %}

When this layout is applied to a post, {{ content }} is replaced with the post’s rendered HTML. The <head>, navigation, and footer appear on every page that uses this layout.

The _layouts directory

All layouts live in _layouts/ at your project root:

_layouts/
├── default.html    # base layout
├── page.html       # for standard pages
├── post.html       # for blog posts
├── theme.html      # for theme collection items
└── home.html       # for the homepage

Jekyll looks for the layout file specified in front matter — layout: post maps to _layouts/post.html.

Applying a layout

Specify a layout in the front matter of any page, post, or collection item:

---
layout: post
title: "My Blog Post"
---

Post content here.

Or use _config.yml defaults to apply layouts automatically to entire directories or types:

# _config.yml
defaults:
  - scope:
      type: posts
    values:
      layout: post
  - scope:
      type: pages
    values:
      layout: page

With this in place, you do not need to specify layout: in every post’s front matter.

Layout inheritance

The most powerful Jekyll layout feature is inheritance — a layout can itself use another layout. This lets you build a hierarchy that avoids repetition.

The base layout

Start with a default.html that contains everything common to all pages: <html>, <head>, nav, footer:

{% raw %}
<!-- _layouts/default.html -->
<!DOCTYPE html>
<html lang="{{ page.lang | default: 'en' }}">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  {% seo %}
  <link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
  {% include analytics.html %}
</head>
<body class="{% if page.dark %}dark{% endif %}">
  {% include nav.html %}

  {{ content }}

  {% include footer.html %}
  <script src="{{ '/assets/js/main.js' | relative_url }}" defer></script>
</body>
</html>
{% endraw %}

A child layout

A post.html layout adds post-specific structure — the article wrapper, header, and sidebar — and uses default.html as its parent via front matter:

{% raw %}
<!-- _layouts/post.html -->
---
layout: default
---

<div class="container post-container">
  <article class="post">
    <header class="post__header">
      <div class="post__meta">
        <span>{{ page.category }}</span>
        <time>{{ page.date | date: "%B %-d, %Y" }}</time>
      </div>
      <h1 class="post__title">{{ page.title }}</h1>
      {% if page.description %}
        <p class="post__description">{{ page.description }}</p>
      {% endif %}
      {% if page.image %}
        <img src="{{ page.image | relative_url }}" alt="{{ page.title }}" class="post__hero">
      {% endif %}
    </header>

    <div class="post__body">
      {{ content }}
    </div>
  </article>

  {% include sidebar.html %}
</div>
{% endraw %}

When a blog post uses layout: post, Jekyll:

  1. Renders the post’s Markdown content to HTML
  2. Injects it into post.html at {{ content }}
  3. Renders the resulting HTML
  4. Injects that into default.html at {{ content }}

This nesting can go as deep as you need.

A typical layout hierarchy

default.html          ← base: <html>, <head>, nav, footer
├── page.html         ← adds: container, optional sidebar
├── post.html         ← adds: article header, author info, TOC
├── home.html         ← adds: hero section, no standard container
└── theme.html        ← adds: gallery, price sidebar, details

Each child adds only what it needs; the parent handles the shared shell.

Accessing variables in layouts

Layouts have access to three levels of data:

page variables — front matter from the current page:

{{ page.title }}
{{ page.description }}
{{ page.author }}
{{ page.date | date: "%B %-d, %Y" }}

site variables — data from _config.yml and the site as a whole:

{{ site.title }}
{{ site.description }}
{{ site.url }}
{{ site.posts }}        — all posts
{{ site.themes }}       — all items in the themes collection

layout variables — front matter from the layout file itself:

{{ layout.title }}
{{ layout.sidebar }}

Conditional content in layouts

Use Liquid conditionals to show or hide layout sections based on page front matter:

{% raw %}
<!-- _layouts/post.html -->
---
layout: default
---

<article>
  {{ content }}

  {% if page.toc %}
    {% include toc.html %}
  {% endif %}

  {% if page.show_author != false %}
    {% include author-bio.html %}
  {% endif %}

  {% if page.related_posts != false %}
    {% include related-posts.html %}
  {% endif %}
</article>
{% endraw %}

Now individual posts can opt out of sections without modifying the layout:

---
layout: post
title: "My Post"
toc: false              # hide table of contents
related_posts: false    # hide related posts
---

Passing data from pages to layouts

Any front matter variable in the page is accessible in the layout. Use this to customise layout behaviour per page:

---
layout: page
title: "Homepage"
hero_image: /assets/images/hero.webp
hero_title: "Find Your Perfect Jekyll Theme"
hero_cta: "Browse Themes"
hero_cta_url: /themes/
body_class: "homepage"
---
{% raw %}
<!-- _layouts/page.html -->
---
layout: default
---

{% if page.hero_image %}
<section class="hero" style="background-image: url('{{ page.hero_image | relative_url }}')">
  <h1>{{ page.hero_title | default: page.title }}</h1>
  {% if page.hero_cta %}
    <a href="{{ page.hero_cta_url }}" class="btn">{{ page.hero_cta }}</a>
  {% endif %}
</section>
{% endif %}

<main class="{{ page.body_class }}">
  {{ content }}
</main>
{% endraw %}

Layout-level front matter

Layouts can have their own front matter, accessible via {{ layout.* }} in includes:

<!-- _layouts/post.html -->
---
layout: default
sidebar: true
show_comments: true
---

This is useful for setting defaults that applies to all pages using a layout, which individual pages can override.

The none layout

To render a file with no layout at all — just raw content — set:

---
layout: none
---

Or use an empty string:

---
layout: ""
---

Useful for: JSON data files, XML sitemaps, text files, or any output that should not be wrapped in HTML.

Example: Building a complete layout system

Here is a complete, practical layout hierarchy for a Jekyll blog:

_layouts/default.html — the shell:

{% raw %}
---
# no layout — this is the base
---
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  {% seo %}
  <link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
</head>
<body>
  {% include nav.html %}
  {{ content }}
  {% include footer.html %}
  <script src="{{ '/assets/js/main.js' | relative_url }}" defer></script>
</body>
</html>
{% endraw %}

_layouts/page.html — for standard pages:

---
layout: default
---
<main class="container page-container">
  <h1>{{ page.title }}</h1>
  {{ content }}
</main>

_layouts/post.html — for blog posts:

{% raw %}
---
layout: default
---
<main class="container">
  <article class="post">
    <h1>{{ page.title }}</h1>
    <time>{{ page.date | date: "%B %-d, %Y" }}</time>
    {{ content }}
  </article>
  {% include related-posts.html %}
</main>
{% endraw %}

_layouts/home.html — for the homepage only:

{% raw %}
---
layout: default
---
{% include home-hero.html %}
{% include featured-themes.html %}
{{ content }}
{% include home-newsletter.html %}
{% endraw %}

This structure is clear, maintainable, and easy to extend. Adding a new page type means adding one layout file — not editing a monolithic template.

Tips for clean layouts

Keep layouts thin. Layouts should structure content — not contain it. Move repeating blocks to _includes/.

Use meaningful layout names. post, page, theme, author are clear. layout1, template_v2 are not.

Default to default. Most child layouts should inherit from default.html, not from each other. Deep chains (default → page → section → content) become hard to follow.

Test with no layout. If a layout-related bug appears, temporarily set layout: none on the affected page to isolate whether the issue is in the content or the layout.

Understanding Jekyll’s layout system is what separates a collection of Markdown files from a real, maintainable website. Once the hierarchy is in place, adding new page types or changing the global structure becomes a matter of editing one file. <!DOCTYPE html>

Jekyll Front Matter: The Complete Guide | JekyllHub
Home Blog Jekyll Front Matter: The Complete Guide
Tutorial

Jekyll Front Matter: The Complete Guide

Everything you need to know about Jekyll front matter — YAML syntax, built-in variables, custom fields, defaults, and real-world examples for posts, pages, and collections.

Jekyll Front Matter: The Complete Guide

Front matter is how Jekyll knows what to do with a file. Without it, Jekyll treats a file as a static asset and copies it unchanged. With it, Jekyll processes the file through its template engine, applies a layout, and builds a page with all the data you specified.

Understanding front matter is foundational to using Jekyll effectively. This guide covers everything from basic syntax to advanced defaults.

What is front matter?

Front matter is a block of YAML at the top of a file, enclosed between triple-dashed lines:

---
layout: post
title: "My First Post"
date: 2026-07-29
---

Content goes here.

The triple dashes are required — both opening and closing. Jekyll strips the front matter block before rendering the content and makes all the variables available in your Liquid templates.

Any file in a Jekyll site that has front matter (even empty front matter --- ---) is processed by Jekyll. Files without front matter are copied as-is.

YAML basics

Front matter uses YAML (YAML Ain’t Markup Language). You only need to know a handful of YAML patterns to write effective front matter.

Strings:

title: "My Post Title"
title: My Post Title        # quotes are optional for simple strings
description: "A post about Jekyll front matter  the basics and beyond."

Numbers:

nav_order: 3
weight: 10

Booleans:

published: true
featured: false
toc: true

Lists (arrays):

tags:
  - jekyll
  - tutorial
  - yaml

# Or inline:
tags: [jekyll, tutorial, yaml]

Nested objects:

author:
  name: Marcus Webb
  email: marcus@example.com
  twitter: marcuswebb

Multiline strings:

description: >
  This is a long description that spans
  multiple lines but will be joined into
  a single paragraph.

excerpt: |
  This preserves
  line breaks
  exactly.

Built-in Jekyll front matter variables

Jekyll recognises several variable names and uses them specially:

layout

Specifies which layout file from _layouts/ to use:

layout: post        # uses _layouts/post.html
layout: page        # uses _layouts/page.html
layout: default     # uses _layouts/default.html
layout: none        # no layout — render content only

If omitted, Jekyll uses no layout (renders content only). Most files should specify a layout.

title

The page title. Available as Jekyll Front Matter: The Complete Guide in templates and used by jekyll-seo-tag for the <title> element:

title: "Jekyll Front Matter: The Complete Guide"

date

For posts in _posts/, the date is normally part of the filename (2026-07-29-my-post.md). You can override or supplement it with a front matter date:

date: 2026-07-29
date: 2026-07-29 14:30:00 +0100    # with time and timezone

The date variable sets page.date, which is used for sorting posts and for display in templates.

published

Controls whether Jekyll includes the page in the build output:

published: false    # page is excluded from build
published: true     # page is included (default)

Drafts in _drafts/ are automatically excluded unless you run jekyll serve --drafts.

Overrides Jekyll’s default URL for the page:

permalink: /about/
permalink: /blog/:year/:month/:title/
permalink: /themes/minimal/

Available :placeholders for posts: :year, :month, :day, :title, :categories, :slug.

categories and tags

Categorise and tag your content:

categories: Tutorial
categories:
  - Tutorial
  - Jekyll

tags: [front-matter, yaml, jekyll]

categories affects the default URL of posts (/tutorial/2026/07/29/my-post/). tags do not affect URLs.

excerpt

By default, Jekyll uses the first paragraph of a post as its excerpt. Override with:

excerpt: "A short custom summary for use in post listings and meta descriptions."

last_modified_at

Used by jekyll-seo-tag and jekyll-sitemap to set the <lastmod> value:

last_modified_at: 2026-07-29

Custom front matter variables

Any variable you add to front matter becomes available in your templates as page.variable_name:

---
layout: post
title: "My Post"
author: Marcus Webb
reading_time: 8
featured_image: /assets/images/hero.webp
show_newsletter: true
difficulty: beginner
---

In your templates:


<p>By {{ page.author }} · {{ page.reading_time }} min read</p>

{% if page.featured_image %}
<img src="{{ page.featured_image }}" alt="{{ page.title }}">
{% endif %}

{% if page.show_newsletter %}
  {% include newsletter-form.html %}
{% endif %}

This pattern is powerful — you can add any metadata to a page and use it anywhere in your templates without touching layout files.

Front matter in different file types

Posts (_posts/)

---
layout: post
title: "How to Install a Jekyll Theme"
description: "Step-by-step guide to installing any Jekyll theme in under 10 minutes."
date: 2026-07-29
last_modified_at: 2026-07-29
image: /assets/images/blog/install-jekyll-theme.webp
author: Marcus Webb
category: Tutorial
tags: [jekyll, themes, tutorial]
featured: false
toc: true
---

Pages (_pages/ or root)

---
layout: page
title: "About JekyllHub"
description: "The story behind JekyllHub  a marketplace for Jekyll themes."
permalink: /about/
nav_order: 4
---

Collection items (_themes/, _authors/, etc.)

---
layout: theme
title: "Minimal Mistakes"
github_url: https://github.com/mmistakes/minimal-mistakes
stars: 12800
price: 0
category: Blog
tags: [responsive, dark-mode, sidebar]
---

Layouts and includes

Layouts and includes can also have front matter, but it is rarely used. One exception: layout inheritance.

---
layout: default    # This layout itself uses another layout
---

Front matter defaults

Repeating the same front matter on every post is tedious. Jekyll’s defaults feature lets you set front matter values globally in _config.yml:

# _config.yml
defaults:
  # Default for all posts
  - scope:
      path: ""
      type: posts
    values:
      layout: post
      author: Marcus Webb
      toc: true
      featured: false

  # Default for all pages
  - scope:
      path: ""
      type: pages
    values:
      layout: page

  # Default for a specific directory
  - scope:
      path: "_themes"
      type: themes
    values:
      layout: theme

  # Default for files matching a path pattern
  - scope:
      path: "guides/**"
    values:
      layout: guide
      show_sidebar: true

With these defaults set, you do not need to specify layout: post or author: Marcus Webb on every post — Jekyll applies them automatically. Front matter in the file still overrides defaults.

Specificity: More specific scopes override less specific ones. A post-level default overrides a site-wide default. Front matter in the file overrides both.

Accessing front matter in templates

All front matter variables are available in Liquid templates:


<!-- In the layout file -->
<h1>{{ page.title }}</h1>
<p>{{ page.description }}</p>
<time>{{ page.date | date: "%B %-d, %Y" }}</time>

<!-- Conditional display -->
{% if page.toc %}
  {% include toc.html %}
{% endif %}

<!-- Iteration over arrays -->
{% for tag in page.tags %}
  <span class="tag">{{ tag }}</span>
{% endfor %}

<!-- Nested objects -->
{{ page.author.name }}
{{ page.author.twitter }}

Accessing front matter from other pages

You can loop through all pages or posts and access their front matter:


<!-- List all posts with their metadata -->
{% for post in site.posts %}
  <article>
    <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
    <p>{{ post.description }}</p>
    {% if post.featured %}
      <span class="badge">Featured</span>
    {% endif %}
  </article>
{% endfor %}

<!-- Filter by front matter value -->
{% assign featured_posts = site.posts | where: "featured", true %}
{% for post in featured_posts %}
  <a href="{{ post.url }}">{{ post.title }}</a>
{% endfor %}

Common front matter patterns

Hiding a page from navigation while keeping it live

---
layout: page
title: "Thank You"
permalink: /thank-you/
sitemap: false
---

Overriding the excerpt

---
layout: post
title: "My Post"
excerpt: "This custom excerpt appears in post listings and meta descriptions instead of the first paragraph."
---

Specifying an OG image for social sharing

---
layout: post
title: "My Post"
image: /assets/images/blog/my-post.webp
---

With jekyll-seo-tag, image is automatically used as the Open Graph image.

Controlling the canonical URL

---
layout: post
title: "My Post"
canonical_url: "https://original-source.com/my-post/"
---

Useful if you are syndicating content from another site.

Validating front matter

YAML syntax errors in front matter cause Jekyll build errors. Common mistakes:

Unquoted colons: A colon in a value must be quoted.

# Bad
title: Jekyll: The Complete Guide

# Good
title: "Jekyll: The Complete Guide"

Tab characters: YAML uses spaces, not tabs. Always indent with spaces.

Inconsistent list formatting:

# Bad — mixing inline and block style
tags: [jekyll
  tutorial]

# Good
tags: [jekyll, tutorial]
# Or
tags:
  - jekyll
  - tutorial

Run bundle exec jekyll build --verbose to see detailed error output when front matter parsing fails.

Front matter is the connective tissue of a Jekyll site — it is how content communicates with templates. Mastering it unlocks the full power of Jekyll’s data-driven architecture.

Share LinkedIn

<!DOCTYPE html>

How to Deploy a Jekyll Site to Firebase Hosting (2026 Guide) | JekyllHub
Home Blog How to Deploy a Jekyll Site to Firebase Hosting (2026 Guide)
Tutorial

How to Deploy a Jekyll Site to Firebase Hosting (2026 Guide)

Deploy Jekyll to Firebase Hosting — complete setup with the Firebase CLI, firebase.json config, custom domains, URL rewrites, and GitHub Actions automation.

How to Deploy a Jekyll Site to Firebase Hosting (2026 Guide)

Firebase Hosting is Google’s static hosting platform — part of the Firebase suite alongside Firestore, Auth, and Cloud Functions. For a Jekyll site, it offers a fast global CDN, free SSL, a generous free tier, and seamless integration if you are already using other Firebase services. Here is how to set it up.

Why Firebase Hosting for Jekyll

  • Free tier — 10GB storage, 10GB/month transfer (Spark plan), unlimited for pay-as-you-go
  • Fast global CDN — Google’s infrastructure, same network used by Google’s own products
  • Instant rollbacks — every deployment is versioned; roll back to any previous version in one click
  • Preview channels — deploy to temporary preview URLs before going live
  • Firebase integration — pair your Jekyll site with Firestore, Auth, or Cloud Functions if needed
  • Custom domain + SSL — free certificate provisioning

Prerequisites

  • A Jekyll site with a Gemfile and committed Gemfile.lock
  • Node.js installed (required for the Firebase CLI)
  • A Firebase account (free at firebase.google.com, uses your Google account)
  • A Firebase project created in the Firebase console

Step 1: Create a Firebase project

  1. Go to console.firebase.google.com
  2. Click Add project
  3. Enter a project name (e.g. jekyllhub)
  4. Disable Google Analytics if you do not need it (you can add it later)
  5. Click Create project

Step 2: Install the Firebase CLI

npm install -g firebase-tools

Verify the installation:

firebase --version

Log in:

firebase login

This opens a browser for Google OAuth authentication.

Step 3: Initialise Firebase in your Jekyll project

In your Jekyll project root:

firebase init hosting

The CLI walks you through setup:

? Which Firebase project do you want to associate with this directory?
  > Use an existing project
  > jekyllhub (jekyllhub)

? What do you want to use as your public directory?
  > _site

? Configure as a single-page app (rewrite all urls to /index.html)?
  > No

? Set up automatic builds and deploys with GitHub?
  > No (we will set this up manually later)

? File _site/404.html already exists. Overwrite?
  > No

This creates two files: firebase.json and .firebaserc.

Step 4: Configure firebase.json

The generated firebase.json is a starting point. Customise it:

{
  "hosting": {
    "public": "_site",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "cleanUrls": true,
    "trailingSlash": true,
    "headers": [
      {
        "source": "/assets/**",
        "headers": [
          {
            "key": "Cache-Control",
            "value": "public, max-age=31536000, immutable"
          }
        ]
      },
      {
        "source": "**/*.html",
        "headers": [
          {
            "key": "Cache-Control",
            "value": "no-cache"
          },
          {
            "key": "X-Content-Type-Options",
            "value": "nosniff"
          },
          {
            "key": "X-Frame-Options",
            "value": "DENY"
          }
        ]
      }
    ],
    "redirects": [
      {
        "source": "/old-post/",
        "destination": "/new-post/",
        "type": 301
      }
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/404.html"
      }
    ]
  }
}

Key settings explained:

  • cleanUrls: true — serves /about/index.html when someone visits /about or /about/
  • trailingSlash: true — adds trailing slashes to URLs (matches Jekyll’s default URL structure)
  • headers — sets HTTP headers per file pattern (long cache for assets, no-cache for HTML)
  • redirects — 301 or 302 redirects processed at the CDN
  • rewrites — the catch-all to 404.html handles unknown URLs

Step 5: Build and deploy

Build your Jekyll site:

JEKYLL_ENV=production bundle exec jekyll build

Deploy to Firebase:

firebase deploy --only hosting

Firebase uploads _site/ to its CDN and gives you a live URL:

✔  Deploy complete!

Project Console: https://console.firebase.google.com/project/jekyllhub/overview
Hosting URL: https://jekyllhub.web.app

Your site is immediately live at your-project.web.app and your-project.firebaseapp.com.

Step 6: Add a custom domain

  1. In the Firebase console, go to HostingAdd custom domain
  2. Enter your domain (e.g. jekyllhub.com)
  3. Firebase shows DNS records to add:
    • Two A records for the root domain pointing to Firebase’s IP addresses
    • A CNAME for www pointing to your-project.web.app
  4. Add these records at your domain registrar
  5. Firebase provisions an SSL certificate automatically once DNS propagates

You can add multiple custom domains at no charge on both the Spark (free) and Blaze (pay-as-you-go) plans.

Step 7: Use preview channels

Firebase preview channels let you deploy to a temporary URL for review before going live — similar to Netlify’s deploy previews:

# Deploy to a named preview channel
firebase hosting:channel:deploy staging

# Output:
# ✔  hosting:jekyllhub:staging: Channel URL (expires 7 days): https://jekyllhub--staging-abc123.web.app

Preview channels expire after 7 days by default. Useful for reviewing design changes before merging to main.

# List active channels
firebase hosting:channel:list

# Delete a channel when done
firebase hosting:channel:delete staging

Step 8: Instant rollback

Every Firebase deployment is stored as a versioned release. Roll back to a previous version instantly:

  1. Firebase console → HostingRelease history
  2. Find the release you want to restore
  3. Click Rollback to this release

The rollback is instant — Firebase just updates its CDN pointers to the previous build.

Or via CLI:

firebase hosting:clone jekyllhub:live jekyllhub:live --version=VERSION_ID

Automate with GitHub Actions

# .github/workflows/deploy.yml
name: Deploy Jekyll to Firebase

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: "3.2"
          bundler-cache: true

      - name: Build Jekyll
        run: JEKYLL_ENV=production bundle exec jekyll build

      - name: Deploy to Firebase (production)
        if: github.ref == 'refs/heads/main'
        uses: FirebaseExtended/action-hosting-deploy@v0
        with:
          repoToken: "$"
          firebaseServiceAccount: "$"
          channelId: live
          projectId: jekyllhub

      - name: Deploy PR preview
        if: github.event_name == 'pull_request'
        uses: FirebaseExtended/action-hosting-deploy@v0
        with:
          repoToken: "$"
          firebaseServiceAccount: "$"
          projectId: jekyllhub
          # No channelId = creates a preview channel automatically

Generate a Firebase service account

  1. Firebase console → Project settingsService accounts
  2. Click Generate new private key → Download the JSON file
  3. Add the entire JSON as a GitHub secret named FIREBASE_SERVICE_ACCOUNT

The GitHub Actions workflow then posts a comment on each PR with the preview URL — the same experience as Netlify deploy previews.

Using rewrites for dynamic routes

If you want to add Firebase Cloud Functions alongside your Jekyll static site (for example, a contact form handler or a newsletter API endpoint), use rewrites:

{
  "hosting": {
    "public": "_site",
    "rewrites": [
      {
        "source": "/api/subscribe",
        "function": "newsletterSubscribe"
      },
      {
        "source": "/api/contact",
        "function": "contactForm"
      },
      {
        "source": "**",
        "destination": "/404.html"
      }
    ]
  }
}

This routes /api/* requests to Cloud Functions while serving everything else as static Jekyll output — a clean way to add dynamic behaviour to a static site without reaching for a full backend.

Firebase Hosting free tier limits

Resource Spark (Free) Blaze (Pay-as-you-go)
Storage 10 GB $0.026/GB
Transfer/month 10 GB $0.15/GB
Custom domains Multiple Multiple
SSL certificates Free Free
Preview channels Yes Yes
Cloud Functions rewrites No Yes

For a personal blog or small project, the free Spark plan is likely sufficient. For a high-traffic site, switch to Blaze (pay-as-you-go) — there is no monthly fee, you only pay for what you use above the free limits.

Troubleshooting

firebase: command not found Run npm install -g firebase-tools and ensure your npm global bin directory is in your PATH.

Deploy fails with Error: HTTP Error: 400 Run firebase login --reauth to refresh your authentication token.

Clean URLs not working Ensure "cleanUrls": true is in firebase.json and you have run firebase deploy after making the change.

CSS/JS returning 404 Verify that _site/assets/ was generated by Jekyll before deploying. Check _config.yml does not exclude your assets directory.

Custom domain shows Firebase default page DNS propagation can take up to 48 hours. Use dig yourdomain.com A to check if the records have propagated. The Firebase console also shows domain verification status.

Firebase Hosting is a solid choice for Jekyll if you are already in the Google/Firebase ecosystem or want built-in preview channels and instant rollbacks. For pure static site hosting without Firebase integration, Cloudflare Pages or Netlify are simpler to set up. But if you need to pair Jekyll with Firebase services — Auth, Firestore, Functions — Firebase Hosting is the natural fit.

Share LinkedIn

<!DOCTYPE html>

How to Deploy a Jekyll Site to AWS (S3 + CloudFront Guide) | JekyllHub
Home Blog How to Deploy a Jekyll Site to AWS (S3 + CloudFront Guide)
Tutorial

How to Deploy a Jekyll Site to AWS (S3 + CloudFront Guide)

Host your Jekyll site on AWS S3 with CloudFront CDN — a complete guide covering S3 bucket setup, CloudFront distribution, custom domains with Route 53, SSL, and CI/CD with GitHub Actions.

How to Deploy a Jekyll Site to AWS (S3 + CloudFront Guide)

Deploying a Jekyll site to AWS gives you enterprise-grade infrastructure with granular control over every aspect of your hosting. The standard setup combines S3 (storage) with CloudFront (CDN) — effectively the same architecture that powers large commercial sites, available for a Jekyll blog at a cost that is often under $1 per month.

Why deploy Jekyll to AWS

  • Near-zero cost — S3 + CloudFront for a typical Jekyll blog costs $0.10–$2/month depending on traffic
  • Enterprise reliability — AWS S3 has 99.999999999% durability; CloudFront has 450+ global edge locations
  • Full control — custom cache policies, custom headers, Lambda@Edge for edge functions
  • No vendor lock-in — standard HTTP hosting, easy to migrate
  • Scales infinitely — handles 10 visitors or 10 million with the same configuration

The trade-off: setup is more involved than Netlify or Cloudflare Pages. It is the right choice when you need maximum control or are already using AWS for other infrastructure.

Architecture overview

Browser → CloudFront (CDN, SSL, caching)
               ↓
          S3 Bucket (static file storage)

CloudFront serves files from the edge closest to each visitor. On cache miss, it fetches from S3. S3 stores your _site/ output.

AWS services used

  • S3 — stores your static files
  • CloudFront — CDN and HTTPS termination
  • ACM (Certificate Manager) — free SSL/TLS certificates
  • Route 53 (optional) — DNS management
  • IAM — access credentials for automated deploys

Step 1: Build your Jekyll site

JEKYLL_ENV=production bundle exec jekyll build

Verify _site/ contains your built output before proceeding.

Step 2: Create an S3 bucket

  1. Go to the AWS S3 console
  2. Click Create bucket
  3. Set Bucket name to your domain (e.g. jekyllhub.com) — use lowercase only
  4. Set AWS Region to the region closest to you (e.g. us-east-1)
  5. Under Block Public Access, uncheck Block all public access (CloudFront needs to read the files)
  6. Acknowledge the warning and click Create bucket

Enable static website hosting

  1. Click your bucket → Properties tab
  2. Scroll to Static website hostingEdit
  3. Select Enable
  4. Set Index document: index.html
  5. Set Error document: 404.html
  6. Save

Note the Bucket website endpoint — you will need it for CloudFront.

Add a bucket policy for public read access

In your bucket → Permissions tab → Bucket policyEdit, paste:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublicReadGetObject",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::jekyllhub.com/*"
    }
  ]
}

Replace jekyllhub.com with your bucket name.

Step 3: Upload your site to S3

Using the AWS CLI (recommended — much faster than the console for many files):

# Install AWS CLI if not already installed
pip install awscli

# Configure with your credentials
aws configure

# Sync your _site/ folder to S3
aws s3 sync _site/ s3://jekyllhub.com   --delete   --cache-control "public, max-age=86400"   --exclude "*.html"   --exclude "*.xml"   --exclude "*.json"

# Upload HTML files with no-cache (so updates are seen immediately)
aws s3 sync _site/ s3://jekyllhub.com   --delete   --cache-control "no-cache, no-store, must-revalidate"   --include "*.html"   --include "*.xml"   --include "*.json"

This two-pass approach caches assets (CSS, JS, images) aggressively while ensuring HTML is always fresh.

Step 4: Request an SSL certificate in ACM

  1. Go to the ACM consolemust be in us-east-1 (CloudFront requires this)
  2. Click Request a certificateRequest a public certificate
  3. Add your domain names: jekyllhub.com and www.jekyllhub.com
  4. Choose DNS validation
  5. Click Request
  6. Add the CNAME records shown to your DNS provider
  7. Wait for status to show Issued (usually 5–30 minutes)

Step 5: Create a CloudFront distribution

  1. Go to the CloudFront console
  2. Click Create distribution
  3. Under Origin:
    • Origin domain: Paste your S3 website endpoint (not the bucket ARN — use the website endpoint that looks like jekyllhub.com.s3-website-us-east-1.amazonaws.com)
    • Protocol: HTTP only (S3 website endpoints do not support HTTPS origin — CloudFront handles SSL at the edge)
  4. Under Default cache behavior:
    • Viewer protocol policy: Redirect HTTP to HTTPS
    • Allowed HTTP methods: GET, HEAD
    • Cache policy: CachingOptimized
  5. Under Settings:
    • Alternate domain names (CNAMEs): Add jekyllhub.com and www.jekyllhub.com
    • Custom SSL certificate: Select the ACM certificate you just created
    • Default root object: index.html
  6. Click Create distribution

The distribution takes 5–15 minutes to deploy globally. You will see a CloudFront domain like d1234abcd.cloudfront.net.

Step 6: Configure DNS

If using Route 53:

  1. Create a hosted zone for your domain
  2. Create an A record as an alias pointing to your CloudFront distribution
  3. Update your domain registrar to use Route 53 nameservers

If using another DNS provider:

  • Create a CNAME record: wwwd1234abcd.cloudfront.net
  • For the root domain, use your registrar’s ALIAS or ANAME feature pointing to the CloudFront domain

Step 7: Handle clean URLs and 404s

Jekyll generates about/index.html for a page at /about/. CloudFront serves index.html at the root but not in subdirectories by default — navigating directly to /about/ returns a 403.

Fix this with a CloudFront Function:

  1. Go to CloudFrontFunctionsCreate function
  2. Name it jekyll-url-rewrite
  3. Paste this code:
function handler(event) {
  var request = event.request;
  var uri = request.uri;

  // Add index.html to directory requests
  if (uri.endsWith("/")) {
    request.uri += "index.html";
  } else if (!uri.includes(".")) {
    request.uri += "/index.html";
  }

  return request;
}
  1. Click Save changesPublish
  2. In your CloudFront distribution → BehaviorsEditFunction associationsViewer request → select your function

This rewrites /about/ to /about/index.html at the edge before CloudFront looks up the file.

Step 8: Automate deploys with GitHub Actions

# .github/workflows/deploy.yml
name: Deploy Jekyll to AWS

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: "3.2"
          bundler-cache: true

      - name: Build Jekyll site
        run: JEKYLL_ENV=production bundle exec jekyll build

      - name: Configure AWS credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-access-key-id: $
          aws-secret-access-key: $
          aws-region: us-east-1

      - name: Sync to S3 (assets — long cache)
        run: |
          aws s3 sync _site/ s3://$             --delete             --cache-control "public, max-age=31536000, immutable"             --exclude "*.html"             --exclude "*.xml"             --exclude "*.json"             --exclude "*.txt"

      - name: Sync to S3 (HTML — no cache)
        run: |
          aws s3 sync _site/ s3://$             --cache-control "no-cache, no-store, must-revalidate"             --include "*.html"             --include "*.xml"             --include "*.json"             --include "*.txt"

      - name: Invalidate CloudFront cache
        run: |
          aws cloudfront create-invalidation             --distribution-id $             --paths "/*"

Add these secrets to your GitHub repository:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • S3_BUCKET (your bucket name)
  • CLOUDFRONT_DISTRIBUTION_ID

Create an IAM user for GitHub Actions

Never use your root AWS credentials in GitHub Actions. Create a dedicated IAM user:

  1. IAM → UsersCreate user → name it jekyll-deploy
  2. Attach this policy directly:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:PutObject", "s3:DeleteObject", "s3:ListBucket"],
      "Resource": [
        "arn:aws:s3:::jekyllhub.com",
        "arn:aws:s3:::jekyllhub.com/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "cloudfront:CreateInvalidation",
      "Resource": "arn:aws:cloudfront::YOUR_ACCOUNT_ID:distribution/YOUR_DISTRIBUTION_ID"
    }
  ]
}
  1. Create access keys for this user and store them as GitHub secrets.

Cost estimate

For a typical Jekyll blog with 10,000 monthly visitors:

Service Monthly cost
S3 storage (100MB) ~$0.002
S3 requests ~$0.05
CloudFront data transfer (1GB) ~$0.085
CloudFront requests (100k) ~$0.008
ACM certificate Free
Route 53 hosted zone $0.50
Total ~$0.65/month

CloudFront has a free tier: 1TB data transfer and 10 million requests per month free for the first 12 months.

Troubleshooting

403 Forbidden on CloudFront Check the bucket policy allows s3:GetObject for all principals, and you used the S3 website endpoint (not the REST endpoint) as the CloudFront origin.

Subdirectory pages return 403 or 404 Ensure you have the CloudFront Function rewriting URLs to index.html — see Step 7.

Old content still showing after deploy The CloudFront cache invalidation in the GitHub Actions workflow clears this. If running manually, create an invalidation for /* in the CloudFront console.

SSL certificate not available in CloudFront ACM certificates must be in the us-east-1 region to be usable with CloudFront. If you created it in another region, request a new one in us-east-1.

AWS S3 + CloudFront is the most scalable and cost-effective way to host a Jekyll site when you need full control over your infrastructure. The setup is more complex than Netlify or Cloudflare Pages, but once the GitHub Actions workflow is in place, deployments are fully automated.

Share LinkedIn

<!DOCTYPE html>

How to Pick the Perfect Jekyll Theme for Your Website | JekyllHub
Home Blog How to Pick the Perfect Jekyll Theme for Your Website
Themes

How to Pick the Perfect Jekyll Theme for Your Website

Learn how to choose the right Jekyll theme for your blog, portfolio, documentation site, or business — with a step-by-step framework and key questions to ask before you commit.

How to Pick the Perfect Jekyll Theme for Your Website

Picking a Jekyll theme feels simple until you are staring at hundreds of options and realise they all look good in the screenshots. The wrong choice means hours of customisation to undo design decisions baked into the theme — or starting over entirely.

This guide gives you a clear framework for choosing the right Jekyll theme the first time, based on your site type, goals, and technical comfort level.

Start with Your Site Type

The single most important filter is what kind of site you are building. Jekyll themes are rarely one-size-fits-all, and the best theme for a technical blog is terrible for a photography portfolio.

Blog — You need a theme with a clean reading experience, good typography, category and tag support, and an RSS feed. Look for themes that handle long-form content well: readable line lengths, sensible heading hierarchy, and code block styling if you write technical content.

Portfolio — Visual hierarchy matters most. Look for full-width project pages, image galleries, and minimal navigation chrome that keeps the focus on your work. Many portfolio themes include a case study layout — check whether that matches how you want to present projects.

Documentation — You need a persistent sidebar navigation, good heading anchors, a search function, and clean code blocks. Just-the-Docs is the dominant choice here, but several alternatives exist depending on whether you need versioning or multi-language support.

Personal site — The most flexible category. A personal site usually combines a short bio, a project list, and a blog. Look for themes that handle all three sections without forcing you to choose between them.

Business or agency — You want landing page sections: hero, features, testimonials, pricing, and a contact form. Most Jekyll themes are blog-first, so business-specific themes are rarer. Check that the theme includes the sections you need before committing.

Resume or CV — Prioritise print styles, clean single-page layouts, and easy content structure. Many resume themes use YAML data files for your experience and skills, which makes updating straightforward.

Define Your Non-Negotiables

Before browsing themes, write down three to five things your site absolutely must have. Examples:

  • Dark mode support
  • GitHub Pages compatibility (no custom plugins)
  • Built-in search
  • Multi-author support
  • Specific colour scheme or aesthetic

Having this list prevents you from falling in love with a beautiful theme that is missing something critical.

Check GitHub Pages Compatibility

If you plan to host on GitHub Pages, this is a hard constraint. GitHub Pages runs Jekyll in safe mode, which blocks custom plugins. Many powerful themes — especially those with advanced search, image processing, or custom generators — require plugins that will not run on GitHub Pages.

Check the theme’s documentation for a “GitHub Pages compatible” note. If it requires a Gemfile with plugins beyond the standard set, you will need to use GitHub Actions or switch to Netlify or Cloudflare Pages to build it.

Evaluate the Demo Carefully

Screenshots lie. A well-designed screenshot can hide a poorly implemented theme. When you look at the live demo, check:

Resize the browser. Does it handle mobile and tablet well, or does it just avoid being broken? Look at the navigation on small screens — hamburger menus that are clunky to use will frustrate your visitors.

Open the browser’s network panel. Check how many requests load and what the page weight is. A theme loading 20 external resources and 500kb of JavaScript is going to hurt your Core Web Vitals.

Read a long piece of content. Go to the blog or docs section and read a full post. Is the typography comfortable? Is the line length sensible (roughly 60–80 characters per line)? Do the headings give clear hierarchy?

Test the dark mode if it exists. Some themes claim dark mode support but implement it poorly — wrong contrast ratios, missed elements, or a jarring switch. Toggle it and check every page type.

Read the Documentation Before Installing

A theme with great documentation is worth ten times a theme with no documentation. Good documentation tells you:

  • How to configure the theme in _config.yml
  • What front matter fields each layout accepts
  • How to override styles without editing the theme source
  • Whether the theme uses a gem or direct file installation
  • What plugins are required

If the README is two paragraphs and a screenshot, expect to spend significant time reverse-engineering the theme to do anything non-trivial.

Check the Maintenance Record

An abandoned Jekyll theme is a liability. Check the GitHub repository:

  • When was the last commit? Anything over 18 months ago is a warning sign.
  • Are there open issues with no response? Specifically look for issues about Jekyll version compatibility.
  • Does the theme support the current Jekyll version (4.x)? Themes written for Jekyll 2.x or 3.x often need fixes to work correctly today.
  • How many open pull requests are there? A large backlog of unmerged PRs suggests the maintainer is not active.

Stars are a rough proxy for popularity, not quality — some well-maintained themes have modest star counts, and some popular but abandoned themes still have thousands of stars from years ago.

Match the Theme to Your Technical Level

Themes vary enormously in how much configuration they expect. Some install with three lines and look good immediately. Others are highly configurable but require you to understand Jekyll collections, SCSS variables, and Liquid templating to get the most out of them.

If you are new to Jekyll: Choose a theme with clear documentation, a working demo you can clone and run locally, and a small surface area. Minima (the default) or Chirpy for blogs, or Just-the-Docs for documentation, are well-documented and actively maintained.

If you are comfortable with Jekyll: You can consider more complex themes with advanced layouts, multiple collections, and deep configuration. Minimal Mistakes is the gold standard here — highly configurable, very well documented, and used by hundreds of thousands of sites.

If you are a developer building for a client: Prioritise themes with clean, readable code you can extend. Look at the Liquid templates and SCSS — do they follow sensible conventions you can hand off to another developer?

Free vs Premium: When to Pay

Free themes cover the majority of use cases well. The main reasons to consider a premium theme are:

  • You need a specific design or feature set that does not exist in free options
  • You want responsive support from the theme author
  • You are building for a client and need a professional, polished result with minimal effort
  • The time saved by a well-built premium theme justifies the cost compared to customising a free one

Premium themes should come with documentation, a clear support policy, and ideally a changelog showing active updates. If a premium theme has not been updated in over a year and offers no support, it is probably not worth buying over a well-maintained free alternative.

A Simple Decision Framework

Run through these questions before committing to a theme:

  1. Does it match my site type (blog, portfolio, docs, business)?
  2. Is it GitHub Pages compatible — or am I comfortable with an alternative build pipeline?
  3. Does the live demo hold up on mobile and under a slow connection?
  4. Has it been updated in the last 12 months?
  5. Does the documentation cover what I need to know?
  6. Are there open issues that suggest the theme is broken or abandoned?
  7. Does it support my non-negotiable features (dark mode, search, etc.)?

If a theme passes all seven, it is worth installing and testing. If it fails more than two, move on — there are enough quality themes available that you do not need to compromise on fundamentals.

Where to Find Quality Jekyll Themes

JekyllHub — curated directory with quality filtering, demo links, and author information. Free and premium options across every category.

GitHub Topics — search jekyll-theme to browse community themes, sorted by stars. Useful for finding niche options not on curated directories.

Jekyll’s official themes page — a short list of officially endorsed themes, useful as a baseline reference.

RubyGems — search for jekyll-theme- to find gem-based themes you can install with a single line in your Gemfile.


Choosing the right theme is worth taking seriously — it affects how your content reads, how your site performs, and how much time you spend maintaining it. A well-chosen theme should feel invisible: it presents your content clearly and gets out of the way.

Once you have picked your theme, see our guide on how to install a Jekyll theme and how to customise a Jekyll theme to get up and running.

Share LinkedIn

<!DOCTYPE html>

How to Deploy a Jekyll Site to Vercel (2026 Guide) | JekyllHub
Home Blog How to Deploy a Jekyll Site to Vercel (2026 Guide)
Tutorial

How to Deploy a Jekyll Site to Vercel (2026 Guide)

Deploy Jekyll to Vercel — step-by-step setup, vercel.json configuration, custom domains, environment variables, and the Vercel CLI.

How to Deploy a Jekyll Site to Vercel (2026 Guide)

Vercel is best known as the home of Next.js, but it works equally well for Jekyll sites. Its build infrastructure is fast, the developer experience is polished, and its free tier is generous. If you want a simple Git-connected deploy with a great CLI, Vercel is worth considering.

Why Vercel for Jekyll

  • Automatic Git deploys — push to GitHub, GitLab, or Bitbucket and Vercel deploys automatically
  • Preview URLs for every PR — every pull request gets a unique shareable preview
  • Fast global CDN — Vercel’s Edge Network serves files from locations worldwide
  • Vercel CLI — deploy from your terminal with a single command
  • Free tier — 100GB bandwidth/month, unlimited personal projects
  • Zero config needed — Vercel detects Jekyll automatically

Prerequisites

  • A Jekyll site in a GitHub, GitLab, or Bitbucket repository
  • A Gemfile with your dependencies
  • A Vercel account (free at vercel.com)

Step 1: Prepare your repository

Ensure you have a Gemfile at the project root:

source "https://rubygems.org"

gem "jekyll", "~> 4.3"
gem "jekyll-feed"
gem "jekyll-seo-tag"
gem "jekyll-sitemap"

Run bundle install and commit the lockfile:

bundle install
git add Gemfile Gemfile.lock
git commit -m "Add Gemfile for Vercel"
git push

Step 2: Import your project to Vercel

  1. Go to vercel.com/new
  2. Click Continue with GitHub (or GitLab/Bitbucket) and authorise Vercel
  3. Find your Jekyll repository and click Import
  4. Vercel detects the framework as Jekyll and pre-fills:
    • Framework Preset: Jekyll
    • Build Command: jekyll build
    • Output Directory: _site
    • Install Command: bundle install
  5. Click Deploy

That is it for a basic setup. Vercel runs bundle install then jekyll build and publishes _site/.

Step 3: Create a vercel.json configuration file

For more control, add a vercel.json to your repository root:

{
  "buildCommand": "jekyll build",
  "outputDirectory": "_site",
  "installCommand": "bundle install",
  "framework": "jekyll",
  "env": {
    "JEKYLL_ENV": "production"
  },
  "headers": [
    {
      "source": "/assets/(.*)",
      "headers": [
        {
          "key": "Cache-Control",
          "value": "public, max-age=31536000, immutable"
        }
      ]
    },
    {
      "source": "/(.*)",
      "headers": [
        {
          "key": "X-Frame-Options",
          "value": "DENY"
        },
        {
          "key": "X-Content-Type-Options",
          "value": "nosniff"
        }
      ]
    }
  ],
  "redirects": [
    {
      "source": "/old-post/",
      "destination": "/new-post/",
      "permanent": true
    }
  ],
  "rewrites": [
    {
      "source": "/blog/",
      "destination": "/blog/index.html"
    }
  ],
  "cleanUrls": true,
  "trailingSlash": true
}

Commit this file — Vercel picks it up automatically on the next deploy.

Step 4: Set environment variables

In the Vercel dashboard:

  1. Go to your project → SettingsEnvironment Variables
  2. Add variables for each environment (Production, Preview, Development)

Useful variables for a Jekyll project:

Variable Value Environment
JEKYLL_ENV production Production
JEKYLL_ENV development Preview
RUBY_VERSION 3.2.2 All

Step 5: Add a custom domain

  1. In your Vercel project, go to SettingsDomains
  2. Enter your domain and click Add
  3. Vercel shows the DNS records to add:
    • For the root domain: an A record pointing to 76.76.21.21
    • For www: a CNAME pointing to cname.vercel-dns.com

Add these records at your domain registrar. SSL is provisioned automatically once DNS propagates (usually within minutes).

Configuring redirects in vercel.json

Vercel handles redirects via vercel.json rather than a _redirects file:

{
  "redirects": [
    {
      "source": "/old-url/",
      "destination": "/new-url/",
      "permanent": true
    },
    {
      "source": "/blog/:year/:month/:day/:slug/",
      "destination": "/blog/:slug/",
      "permanent": true
    }
  ]
}

"permanent": true sends a 301 redirect. Use false for a 302.

Deploying with the Vercel CLI

The Vercel CLI is one of the best features for developers who prefer working in the terminal:

npm install -g vercel
vercel login

Deploy a preview:

vercel

Deploy to production:

vercel --prod

Pull environment variables to your local .env:

vercel env pull .env.local

The CLI is particularly useful for testing your production build locally before pushing:

JEKYLL_ENV=production bundle exec jekyll build
vercel --prod --prebuilt

Preview deployments and branch deploys

Every push to a non-production branch creates a preview deployment at a unique URL (https://your-project-abc123.vercel.app). Share this URL with teammates or clients for review before merging.

Configure which branches trigger deployments in SettingsGitIgnored Build Step.

Specifying Ruby version

Vercel uses a default Ruby version for builds. To pin a specific version, create a .ruby-version file in your project root:

3.2.2

Or set it via the RUBY_VERSION environment variable in your Vercel project settings.

Using GitHub Actions with Vercel (advanced)

For complex builds — fetching content from an API, running a pre-build script — use GitHub Actions:

# .github/workflows/deploy.yml
name: Deploy to Vercel

on:
  push:
    branches: [main]

env:
  VERCEL_ORG_ID: $
  VERCEL_PROJECT_ID: $

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: "3.2"
          bundler-cache: true

      - name: Build Jekyll
        run: JEKYLL_ENV=production bundle exec jekyll build

      - name: Install Vercel CLI
        run: npm install -g vercel

      - name: Pull Vercel environment
        run: vercel pull --yes --environment=production --token=$

      - name: Deploy to Vercel
        run: vercel deploy --prebuilt --prod --token=$

Vercel vs Netlify vs Cloudflare Pages for Jekyll

  Vercel Netlify Cloudflare Pages
Free bandwidth 100GB/month 100GB/month Unlimited
Build minutes 6,000/month 300/month Unlimited
Serverless functions Yes Yes Yes (Workers)
Form handling No Yes (built-in) No
CDN locations ~70 ~100 300+
CLI quality Excellent Good Good

Vercel’s free tier includes 6,000 build minutes — significantly more than Netlify’s 300. For teams with frequent deploys, this matters. Cloudflare Pages has truly unlimited builds and the largest CDN, but Vercel’s developer experience and CLI are the smoothest.

Troubleshooting

Build fails with Could not find gem Ensure Gemfile.lock is committed to your repository. Run bundle install locally and push the lockfile.

404 errors on Jekyll pages Add "cleanUrls": true and "trailingSlash": true to vercel.json to handle Jekyll’s URL structure correctly.

Assets return 404 Verify _site/ contains your assets folder. Check that no exclude: entries in _config.yml are accidentally excluding asset directories.

Custom domain SSL warning SSL is provisioned after DNS propagates. Check DNS propagation with dig yourdomain.com A and wait if records are not yet live.

Vercel is a polished, developer-friendly option for Jekyll deployment — especially if you value a great CLI and want generous build minutes on the free tier.

Share LinkedIn

<!DOCTYPE html>

How to Deploy a Jekyll Site to Netlify (Complete 2026 Guide) | JekyllHub
Home Blog How to Deploy a Jekyll Site to Netlify (Complete 2026 Guide)
Tutorial

How to Deploy a Jekyll Site to Netlify (Complete 2026 Guide)

Everything you need to deploy Jekyll to Netlify — netlify.toml setup, build environment, custom domains, redirects, Netlify Forms, and environment variables.

How to Deploy a Jekyll Site to Netlify (Complete 2026 Guide)

Netlify was the platform that made deploying static sites simple and it remains one of the best choices for Jekyll in 2026. Automatic deploys from Git, preview URLs for every pull request, built-in form handling, serverless functions, and a generous free tier make it a strong option for everything from personal blogs to production sites.

Why Netlify for Jekyll

  • Git-based deploys — push to GitHub, GitLab, or Bitbucket and Netlify builds automatically
  • Preview deployments — every pull request gets a unique live preview URL
  • Netlify Forms — handle contact form submissions without a backend
  • Netlify Functions — add serverless API endpoints alongside your static site
  • Free tier — 100GB bandwidth/month, 300 build minutes/month, unlimited sites
  • Split testing — A/B test different branches of your site

Prerequisites

  • A Jekyll site in a GitHub, GitLab, or Bitbucket repository
  • A Gemfile and committed Gemfile.lock in your repo
  • A Netlify account (free at netlify.com)

Step 1: Prepare your repository

Ensure your repository has a Gemfile:

source "https://rubygems.org"

gem "jekyll", "~> 4.3"
gem "jekyll-feed"
gem "jekyll-seo-tag"
gem "jekyll-sitemap"

Generate and commit Gemfile.lock:

bundle install
git add Gemfile.lock
git commit -m "Add Gemfile.lock for Netlify"
git push

Step 2: Create a netlify.toml file

The netlify.toml file in your repository root controls every aspect of your Netlify build. Create it now:

[build]
  command = "jekyll build"
  publish = "_site"

[build.environment]
  JEKYLL_ENV = "production"
  RUBY_VERSION = "3.2.2"

# Production context — runs on pushes to main
[context.production]
  command = "jekyll build"

# Deploy preview context — runs on pull requests
[context.deploy-preview]
  command = "jekyll build --drafts"

# Branch deploy context — runs on other branches
[context.branch-deploy]
  command = "jekyll build"

[[headers]]
  for = "/assets/*"
  [headers.values]
    Cache-Control = "public, max-age=31536000, immutable"

[[headers]]
  for = "/*"
  [headers.values]
    X-Frame-Options = "DENY"
    X-Content-Type-Options = "nosniff"

Commit this file to your repository.

Step 3: Connect to Netlify

  1. Go to app.netlify.com and log in
  2. Click Add new siteImport an existing project
  3. Choose your Git provider (GitHub, GitLab, or Bitbucket) and authorise Netlify
  4. Select your Jekyll repository
  5. Netlify detects netlify.toml and pre-fills the build settings

Review the settings:

  • Build command: jekyll build
  • Publish directory: _site

Click Deploy site. Netlify runs the build and your site is live at a URL like random-name-123456.netlify.app.

Step 4: Configure environment variables

For sensitive values (API keys, Sendy list IDs) that should not be in your repository, add them in the Netlify UI:

  1. Go to Site configurationEnvironment variablesAdd a variable
  2. Add key-value pairs

In your Jekyll code, reference them as normal site.* config values. To inject Netlify environment variables into Jekyll at build time, use _config.yml overrides:

# In netlify.toml — pass env var to Jekyll config
[build]
  command = "jekyll build --config _config.yml,_config.production.yml"

Create _config.production.yml to merge at build time:

# _config.production.yml — overrides for Netlify production builds
url: "https://jekyllhub.com"
baseurl: ""

Step 5: Set up a custom domain

Option A: Use a domain already with Netlify DNS

  1. Go to Domain managementAdd a domain → enter your domain
  2. Netlify provisions SSL automatically

Option B: Use a domain registered elsewhere Add a CNAME record with your domain registrar:

  • Name: www
  • Value: your-site.netlify.app

For the root domain (@), use an ANAME or ALIAS record pointing to your-site.netlify.app. Not all registrars support ALIAS — Netlify DNS does, and it is free to use.

Redirects with Netlify

Create a _redirects file in your Jekyll source root:

# Redirect non-www to www (or vice versa — pick one)
https://www.jekyllhub.com/* https://jekyllhub.com/:splat 301!

# Redirect old blog URLs
/2025/:month/:day/:slug/ /blog/:slug/ 301

# Proxy an API endpoint (useful for analytics or forms)
/api/* https://your-api.example.com/:splat 200

# Custom 404
/* /404.html 404

Add to _config.yml so Jekyll copies it to _site/:

include:
  - _redirects

Netlify processes _redirects at the CDN level — no server involved.

Using Netlify Forms with Jekyll

Netlify Forms let you collect form submissions without a backend. Add a netlify attribute to any HTML form:

<!-- _includes/contact-form.html -->
<form name="contact" method="POST" data-netlify="true" netlify-honeypot="bot-field">
  <input type="hidden" name="form-name" value="contact">

  <!-- Honeypot field (hidden) -->
  <div style="display:none">
    <input name="bot-field">
  </div>

  <label>Name <input type="text" name="name" required></label>
  <label>Email <input type="email" name="email" required></label>
  <label>Message <textarea name="message" required></textarea></label>
  <button type="submit">Send Message</button>
</form>

Netlify detects the data-netlify="true" attribute during the build and wires up form handling. Submissions appear in Forms in your Netlify dashboard, and you can set up email notifications.

Build minutes and the free tier

Netlify’s free tier includes 300 build minutes per month. A typical Jekyll build takes 30–60 seconds, so you have roughly 300–600 deploys per month before any charges.

To reduce build time, add caching to netlify.toml:

[build]
  command = "jekyll build"
  publish = "_site"

[build.environment]
  BUNDLE_PATH = "vendor/bundle"
  JEKYLL_ENV = "production"

The BUNDLE_PATH = "vendor/bundle" setting caches your Ruby gems between builds — cutting build time from ~60 seconds to ~10 seconds after the first build.

Deploy with the Netlify CLI

For local testing or CI deployments:

npm install -g netlify-cli
netlify login
netlify deploy --dir=_site --prod

The --prod flag deploys to production. Without it, Netlify creates a draft preview URL.

Useful Netlify features for Jekyll sites

Branch deploys: Any branch pushed to GitHub can have its own Netlify URL. Enable in Site configurationBuild & deployBranch deploys.

Deploy notifications: Get a Slack or email notification when deploys succeed or fail. Set up in Site configurationBuild & deployDeploy notifications.

Analytics: Netlify Analytics (paid, $9/month) gives server-side analytics with no JavaScript required — accurate data that ad blockers cannot hide.

Large Media: Store large image files in Git LFS and serve them via Netlify’s CDN — keeps your repository size manageable.

Troubleshooting

Bundler::GemNotFound during build Commit Gemfile.lock and ensure the Ruby version in netlify.toml matches your local environment.

Build succeeds but styles are missing Check url and baseurl in _config.yml. For a root-domain Netlify site, baseurl should be empty ("").

Form submissions not appearing Ensure data-netlify="true" is on the <form> tag and the hidden form-name input matches the form’s name attribute. Jekyll must build the page (not exclude it) for Netlify to detect the form.

Redirect loops Avoid redirecting both www → non-www and non-www → www. Pick one canonical form and redirect only from the other.

Netlify’s balance of simplicity, features, and a generous free tier makes it one of the top choices for Jekyll hosting. The netlify.toml file gives you reproducible, version-controlled build configuration — the same way your Jekyll config works.

Share LinkedIn

<!DOCTYPE html>

How to Deploy a Jekyll Site to Cloudflare Pages (Step-by-Step Guide) | JekyllHub
Home Blog How to Deploy a Jekyll Site to Cloudflare Pages (Step-by-Step Guide)
Tutorial

How to Deploy a Jekyll Site to Cloudflare Pages (Step-by-Step Guide)

Deploy your Jekyll site to Cloudflare Pages — the fastest global CDN for static sites. A complete guide covering setup, build config, custom domains, and redirects.

How to Deploy a Jekyll Site to Cloudflare Pages (Step-by-Step Guide)

Cloudflare Pages is one of the best places to host a Jekyll site in 2026. It is free for unlimited sites, has 300+ CDN locations worldwide, deploys automatically from GitHub or GitLab, and includes built-in DDoS protection from Cloudflare’s network — at no cost. Here is exactly how to set it up.

Why Cloudflare Pages for Jekyll

  • Free tier is genuinely unlimited — no bandwidth limits, unlimited sites, unlimited requests
  • 300+ CDN edge locations — faster global delivery than GitHub Pages or most competitors
  • Automatic HTTPS — SSL certificate provisioned automatically on every domain
  • Preview deployments — every pull request gets a unique preview URL
  • Built-in redirects and headers — via a _redirects file, no server config needed
  • Free custom domains — connect any domain you own at no charge

Prerequisites

  • A Jekyll site in a GitHub or GitLab repository
  • A Cloudflare account (free at cloudflare.com)
  • Your repository must have a Gemfile listing your gems

Step 1: Prepare your Jekyll project

Cloudflare Pages builds your site using bundle exec jekyll build. Make sure your repository has:

A Gemfile:

source "https://rubygems.org"

gem "jekyll", "~> 4.3"
gem "jekyll-feed"
gem "jekyll-seo-tag"
gem "jekyll-sitemap"
# add any other plugins you use

A Gemfile.lock committed to the repository. Run bundle install locally to generate it:

bundle install
git add Gemfile.lock
git commit -m "Add Gemfile.lock"
git push

Cloudflare Pages requires Gemfile.lock to reproduce your build environment.

Step 2: Connect your repository to Cloudflare Pages

  1. Log in to dash.cloudflare.com
  2. Select Workers & Pages from the left sidebar
  3. Click Create applicationPagesConnect to Git
  4. Authorise Cloudflare to access your GitHub or GitLab account
  5. Select your Jekyll repository and click Begin setup

Step 3: Configure the build settings

On the build configuration screen, set:

Setting Value
Framework preset Jekyll
Build command jekyll build
Build output directory _site

Cloudflare automatically detects Jekyll and pre-fills these values. Verify they are correct before continuing.

Setting environment variables

Click Environment variables (advanced) and add:

Variable Value
JEKYLL_ENV production
RUBY_VERSION 3.2.2

The JEKYLL_ENV=production variable enables production-only features in your site (analytics, optimisations). The RUBY_VERSION variable pins the Ruby version Cloudflare uses for the build.

To check which Ruby versions Cloudflare supports, refer to their build image documentation.

Step 4: Deploy

Click Save and Deploy. Cloudflare clones your repository, runs bundle exec jekyll build, and publishes the _site folder to its CDN. The first build typically takes 60–90 seconds.

You will see a live deployment URL in the format your-project.pages.dev — your site is immediately live on Cloudflare’s network.

Step 5: Add a custom domain

  1. In your Pages project, go to Custom domainsSet up a custom domain
  2. Enter your domain (e.g. jekyllhub.com)
  3. Cloudflare adds a DNS record automatically if your domain’s nameservers point to Cloudflare
  4. If your domain is registered elsewhere, you will need to add a CNAME record manually:
    • Name: @ (or www)
    • Target: your-project.pages.dev

SSL is provisioned automatically within a few minutes. Both www and root domain work.

Configuring redirects

Create a _redirects file in your Jekyll source root (not _site — Jekyll copies it automatically):

# Redirect www to non-www
https://www.jekyllhub.com/* https://jekyllhub.com/:splat 301

# Redirect old URLs
/old-post/ /new-post/ 301
/blog/category/themes/ /themes/ 301

# Custom 404
/* /404.html 404

Jekyll needs to copy this file to the build output. Add it to your _config.yml to ensure it is included:

include:
  - _redirects

Configuring custom headers

Create a _headers file in your source root for HTTP headers:

/*
  X-Frame-Options: DENY
  X-Content-Type-Options: nosniff
  Referrer-Policy: strict-origin-when-cross-origin
  Permissions-Policy: camera=(), microphone=(), geolocation=()

/assets/*
  Cache-Control: public, max-age=31536000, immutable

Add _headers to include in _config.yml the same way as _redirects.

Preview deployments

Every pull request to your repository automatically triggers a preview build at a unique URL (https://abc123.your-project.pages.dev). This lets you review changes before merging to main.

To disable preview deployments for a branch, go to your Pages project → DeploymentsBranch control and add branches to the exclusion list.

Using a GitHub Actions workflow (optional)

By default, Cloudflare Pages manages the build. If you need more control — custom Ruby gems, pre-build scripts, fetching from an API — you can trigger deployments from GitHub Actions using the Cloudflare Wrangler action:

# .github/workflows/deploy.yml
name: Deploy to Cloudflare Pages

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: "3.2"
          bundler-cache: true

      - name: Build Jekyll site
        run: JEKYLL_ENV=production bundle exec jekyll build

      - name: Deploy to Cloudflare Pages
        uses: cloudflare/wrangler-action@v3
        with:
          apiToken: $
          accountId: $
          command: pages deploy _site --project-name=your-project-name

Store CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID as secrets in your GitHub repository settings.

Troubleshooting common errors

Build fails with Could not find gem Your Gemfile.lock is missing or not committed. Run bundle install locally, commit Gemfile.lock, and push.

Build fails with ruby: command not found Set the RUBY_VERSION environment variable in your Pages project settings.

Custom domain shows a security warning The SSL certificate is still provisioning. Wait 5–10 minutes and refresh.

_redirects not working Ensure the file is in your Jekyll source root and listed under include: in _config.yml. Verify it was copied to _site/ in your build output.

Jekyll build succeeds but site looks broken Check your baseurl in _config.yml. If it is set to a subdirectory (e.g. /my-repo), remove or blank it for a root-domain deployment.

Cloudflare Pages is fast to set up, genuinely free at scale, and gives your Jekyll site the best global CDN coverage available. For most Jekyll projects, it is the best hosting choice in 2026.

Share LinkedIn

<!DOCTYPE html>

How to Grow Traffic to Your Jekyll Blog (A Practical Guide for 2026) | JekyllHub
Home Blog How to Grow Traffic to Your Jekyll Blog (A Practical Guide for 2026)
Tutorial

How to Grow Traffic to Your Jekyll Blog (A Practical Guide for 2026)

Proven strategies to grow organic traffic to a Jekyll blog — keyword research, on-page SEO, link building, content promotion, and what actually moves the needle.

How to Grow Traffic to Your Jekyll Blog (A Practical Guide for 2026)

A Jekyll blog with zero visitors is just a collection of Markdown files. Getting consistent organic traffic requires deliberate effort — but it is not mysterious. The fundamentals of content marketing and SEO apply equally to static sites. Here is what works in 2026.

Start with Google Search Console

Before doing anything else, connect your Jekyll site to Google Search Console. This is the most important free tool for understanding how Google sees your site.

Add your site at search.google.com/search-console. Verify ownership by adding a meta tag to your Jekyll layout:

<meta name="google-site-verification" content="YOUR_VERIFICATION_CODE">

Search Console shows you: which queries trigger your pages, which pages rank, click-through rates, and crawling errors. You cannot improve what you cannot measure.

Submit your sitemap (generated automatically by jekyll-sitemap):

https://yourdomain.com/sitemap.xml

Keyword research for a Jekyll blog

Every post should target a specific search query your audience types into Google. Writing posts without researching keywords first is the single biggest mistake new bloggers make.

Free keyword research tools:

  • Google Search Console — once you have traffic, shows what you already rank for
  • Google Autocomplete — type “jekyll” into Google and note the suggestions
  • Ahrefs Keyword Generator (free tier) — up to 100 keyword ideas per search
  • AnswerThePublic — generates question-based keywords around a topic
  • Google “People also ask” — free insight into related questions

What to look for:

Target keywords that are specific enough that you can write a definitive answer. “Jekyll” is too broad. “How to add pagination to a Jekyll blog” is specific, answerable, and has clear intent.

Look for keywords where the existing search results are thin, outdated, or from low-authority sites. These are your opportunities to rank.

On-page SEO for Jekyll posts

A well-optimised Jekyll post includes:

Title tag and H1: Include the target keyword naturally. Match search intent — if people search “how to”, your title should be “How to…”.

Meta description: Write a 150–160 character description that describes the post and includes the keyword. Jekyll SEO tag uses description from front matter:

description: "How to add pagination to a Jekyll blog  step by step, with code examples and common error fixes."

Headings structure: Use H2 for major sections, H3 for subsections. Include keyword variations in headings naturally.

Internal links: Link to related posts and theme pages on your site. This distributes authority and keeps readers engaged.

Post length: Comprehensive posts rank better. A 1,500–3,000 word post that fully answers a question outperforms a 400-word overview. Quality beats length, but thoroughness is quality.

Table of contents: toc: true in your front matter adds a TOC for long posts. This helps Google understand your structure and can generate rich snippet sitelinks.

Content strategy: what to write

The fastest path to traffic is writing content people are actively searching for and that existing sites cover poorly.

Three content types that drive Jekyll blog traffic:

1. How-to tutorials — “How to add [feature] to Jekyll” posts attract developers in the middle of a project. They have high intent and convert well to newsletter subscribers and theme buyers.

2. Comparison posts — “Jekyll vs [alternative]” posts attract people evaluating options. These get shared widely and earn backlinks naturally.

3. Best-of lists — “Best Jekyll themes for [use case]” posts attract purchase-intent traffic. These are the highest-converting posts for a theme marketplace blog.

Publishing cadence: One well-researched 1,500+ word post per week consistently outperforms three thin 500-word posts. Quality beats volume.

Backlinks from other sites are the most significant factor in Google ranking. For a Jekyll blog, the highest-leverage link building tactics are:

1. GitHub README mentions

Find open source projects that use Jekyll. If you write a tutorial covering that project, reach out to the maintainer and suggest adding your guide to the project’s README or wiki. Even one link from a popular GitHub repository can significantly boost your domain authority.

2. Answer questions on Stack Overflow and Reddit

Answer Jekyll questions on Stack Overflow (/questions/tagged/jekyll) and the r/Jekyll subreddit with helpful responses that link to your detailed posts. Only link when your post genuinely adds value beyond the answer.

3. Write guest posts

Other developer blogs — CSS-Tricks, Smashing Magazine, LogRocket Blog — accept guest posts. A guest post on a high-authority site can drive meaningful traffic and a permanent backlink. Pitch with a clear angle and a summary of the post.

4. Get listed in resource lists

Search for “best Jekyll resources” and “Jekyll blogs to follow”. Reach out to the authors and suggest adding your site if the content quality warrants it.

5. Digital PR and data posts

Publish original research or data (“We analysed 100 popular Jekyll sites. Here is what we found.”). Data posts get cited in other articles and earn natural backlinks.

Promotion after publishing

Most bloggers publish and immediately move to the next post. The most effective bloggers spend as much time promoting as writing.

Immediate promotion checklist:

  • Share on X/Twitter with a hook (not just “New post:”)
  • Post to relevant subreddits — r/Jekyll, r/webdev, r/programming, r/web_design
  • Share in relevant Discord servers and Slack communities
  • Email your newsletter subscribers
  • Update any older posts that should link to the new post
  • Post to Hacker News (Show HN or relevant link) if it adds value to the community

Medium-term promotion:

Update old posts with links to new, more detailed content. Google rewards freshness — updating a post with new information and re-publishing it can bring back old rankings.

Technical SEO for Jekyll

Your Jekyll site’s technical foundation matters:

Speed: A fast site ranks better. Run PageSpeed Insights monthly and address regressions. Core Web Vitals (LCP, INP, CLS) are ranking factors.

Mobile: Google uses mobile-first indexing. Your site must be fully functional on mobile.

HTTPS: Required for ranking. GitHub Pages and Netlify provide free SSL automatically.

Canonical URLs: The jekyll-seo-tag plugin adds canonical URLs automatically. Verify they are correct — duplicate content from www and non-www versions can split ranking signals.

Structured data: Add JSON-LD to blog posts for rich snippets (article schema, FAQ schema). We covered this in our Jekyll schema markup guide.

Realistic timeline

Traffic growth from SEO is slow at the beginning and exponential over time. A realistic timeline for a new Jekyll blog:

  • Months 1–3: Indexing and baseline traffic. Expect 50–200 monthly visitors from early rankings.
  • Months 4–6: First meaningful rankings for lower-competition keywords. 200–1,000 monthly visitors.
  • Months 6–12: Compounding growth as more posts rank and internal linking boosts authority. 1,000–5,000 monthly visitors.
  • Year 2+: Established domain authority. Top rankings for competitive keywords. 5,000–30,000+ monthly visitors possible.

The bloggers who succeed are the ones still publishing in month 12 when most others have quit. Traffic from SEO is not immediate, but it is durable — a post you write today can send traffic for years.

Start with Search Console, target specific keywords, write comprehensive posts, and promote consistently. That is the whole strategy.

Share LinkedIn

<!DOCTYPE html>

How to Monetize a Jekyll Blog in 2026 (7 Strategies That Actually Work) | JekyllHub
Home Blog How to Monetize a Jekyll Blog in 2026 (7 Strategies That Actually Work)
Tutorial

How to Monetize a Jekyll Blog in 2026 (7 Strategies That Actually Work)

Practical ways to make money from a Jekyll blog — affiliate marketing, sponsorships, digital products, consulting, and more. With realistic income expectations.

How to Monetize a Jekyll Blog in 2026 (7 Strategies That Actually Work)

Jekyll is a static site — it has no built-in monetization features. But that does not mean you cannot make money from it. The absence of a CMS or plugin marketplace just means you need to wire up monetization yourself. Here is how, with realistic numbers.

A note on traffic and income

Every monetization strategy depends on traffic. A Jekyll blog earning meaningful money typically has 10,000+ monthly page views. If you are below that, focus on content and traffic first — the strategies below will scale with your audience.

Strategy 1: Affiliate marketing

Affiliate marketing means promoting other companies’ products and earning a commission when readers buy through your link. It is the most common monetization strategy for developer blogs because it requires no product creation and scales with content.

Programmes worth joining for a Jekyll/developer blog:

  • GitHub Marketplace — affiliate links for tools and apps
  • Digital Ocean / Linode — hosting referrals ($25–100 per referral)
  • Amazon Associates — 3–10% commission on books and tools
  • Gumroad Creator Referrals — earn from referred creators
  • Theme marketplaces — refer buyers to JekyllHub or ThemeForest

What earns: Tutorial posts that recommend specific tools (“The Jekyll plugin I use for X”) convert well. Review posts (“Is X worth it in 2026?”) convert even better. Lists (“Best Jekyll plugins”) convert when readers have clear purchase intent.

Realistic income: $50–500/month at 10k–50k monthly visitors, depending on your niche and audience quality.

Implementation in Jekyll:

Store your affiliate links in _data/affiliates.yml:

digital_ocean:
  url: "https://m.do.co/c/YOURREF"
  label: "DigitalOcean"

Reference in templates:

{% assign do = site.data.affiliates.digital_ocean %}
<a href="{{ do.url }}" rel="nofollow sponsored" target="_blank">
  Try {{ do.label }}
</a>

Strategy 2: Display advertising

Display ads (Google AdSense, Carbon Ads, Ethical Ads) show ads on your pages and pay per thousand impressions (CPM) or per click (CPC).

Best ad networks for developer blogs:

  • Carbon Ads — developer-focused, high CPM, tasteful single ad. Requires application.
  • Ethical Ads — privacy-focused, used by Read the Docs. Pays $2–3 CPM.
  • Google AdSense — lower CPM for developer content (~$2–5), easy to set up.

Realistic income: Carbon Ads pays $1–3 per 1,000 impressions. At 50,000 monthly visitors: $50–150/month. Not transformative, but passive.

Implementation: Add the ad snippet to your _includes/ for easy placement across layouts:

<!-- _includes/carbon-ad.html -->
<script async type="text/javascript" src="//cdn.carbonads.com/carbon.js?serve=YOUR_CODE&placement=jekyllhub" id="_carbonads_js"></script>
{% if site.carbon_ads_code %}
{% include carbon-ad.html %}
{% endif %}

Strategy 3: Sponsored content and newsletter sponsorships

Once you have an audience, companies pay to reach them. A sponsored post or newsletter mention is typically one of the highest-paying per-impression formats for developer content.

Rates (rough benchmarks for developer blogs):

  • Newsletter sponsorship: $50–500 per send (depending on list size)
  • Sponsored post: $200–2,000 per post (depending on traffic and niche)
  • Social mention: $50–300 per post

How to set it up: Create a /advertise/ page with your audience stats (monthly visitors, newsletter subscribers, demographics) and a contact form. Companies will find you.

Use _data/ to manage sponsor information:

# _data/sponsors.yml
current:
  - name: "Netlify"
    url: "https://netlify.com"
    logo: "/assets/images/sponsors/netlify.svg"
    blurb: "The fastest way to build and deploy Jekyll sites."

Strategy 4: Sell digital products

Digital products — ebooks, templates, courses, starter kits — have high margins because there is no inventory or shipping. A Jekyll blog about Jekyll is particularly well-positioned to sell Jekyll-related products.

Products that sell well from developer blogs:

  • Jekyll starter templates — A pre-configured Jekyll setup your readers can buy and build on ($9–49)
  • Ebooks / guides — “The Complete Jekyll Deployment Guide” ($19–39)
  • Video courses — If you have YouTube presence ($49–199)
  • Notion templates, Figma files, design assets — If your blog covers design

Implementation: Use Gumroad, Lemon Squeezy, or Payhip for simple checkout. Embed a buy button in your Jekyll site:

<a href="https://yourstore.gumroad.com/l/product-slug" class="btn btn--primary">
  Buy for $29 →
</a>

Strategy 5: Premium Jekyll themes

If you can build a good Jekyll theme, selling it is one of the best monetization strategies available on a Jekyll blog. Your blog readers are exactly your target buyers.

List on JekyllHub, Gumroad, and ThemeForest. A well-marketed theme at $39 can earn $500–2,000/month with the right SEO and placement.

We covered this in detail in How to Sell a Jekyll Theme.

Strategy 6: Consulting and freelance work

Developer blogs build credibility. If you write about Jekyll professionally, companies building Jekyll sites will find you and some will want to hire you.

Add a /hire/ or /consulting/ page to your site:

---
layout: page
title: "Hire Me"
permalink: /hire/
---

I help companies build fast, maintainable Jekyll sites...

Consulting rates for Jekyll/static site work: $80–200/hour depending on experience and location. Even one project per month can be significant income.

Strategy 7: Newsletter paid subscriptions

If you have a loyal newsletter audience, paid subscriptions via Ghost, Substack, or Lemon Squeezy let you charge for premium content.

This works best when you have a consistent publishing cadence and clearly differentiated free vs premium content. Most successful paid newsletters have 2,000+ free subscribers before launching a paid tier.

Monthly subscription pricing: $5–15/month for consumer content, $20–50/month for professional/B2B content.

Combining strategies

The most successful developer blogs combine multiple streams:

  1. Affiliate links in tutorial content (passive, scales with traffic)
  2. One ad network (Carbon Ads) in the sidebar (low effort, passive)
  3. A digital product (ebook or template) promoted within posts
  4. A consulting page for high-value direct work

This combination can realistically generate $500–2,000/month from a Jekyll blog with 20,000–50,000 monthly visitors — achievable within 12–18 months of consistent publishing.

What not to do

  • Do not add pop-up overlays — they hurt user experience and Core Web Vitals
  • Do not accept every sponsored post offer — one bad endorsement damages trust
  • Do not add multiple ad networks — ad clutter destroys reader experience
  • Do not launch a paid product before you have an audience who trusts you

Build the audience first. The money follows.

Share LinkedIn

<!DOCTYPE html>

How to Add a Custom 404 Page to Your Jekyll Site | JekyllHub
Home Blog How to Add a Custom 404 Page to Your Jekyll Site
Tutorial

How to Add a Custom 404 Page to Your Jekyll Site

Create a custom 404 error page for your Jekyll site — with helpful navigation, search, and suggestions to keep visitors on your site instead of bouncing.

How to Add a Custom 404 Page to Your Jekyll Site

A default 404 page is a dead end. A custom 404 page turns a broken link into an opportunity — pointing visitors to your most popular content, your search page, or your homepage. In Jekyll, creating one takes about 5 minutes.


Step 1: Create the 404 File

Create 404.md or 404.html in your site root:

---
layout: page
title: "Page Not Found"
permalink: /404.html
sitemap: false
---

The filename must be 404.html for hosting platforms to serve it automatically. The permalink: /404.html ensures Jekyll outputs the file at the right path regardless of your global permalink setting.

sitemap: false prevents the 404 page from appearing in your sitemap.


Step 2: Write Helpful Content

A useful 404 page has three things: acknowledgment, navigation options, and ideally a search box.

---
layout: page
title: "Page Not Found"
permalink: /404.html
sitemap: false
---

The page you're looking for doesn't exist or may have been moved.

Here are some helpful links:

- [Home](/) — back to the homepage
- [Themes](/themes/) — browse Jekyll themes
- [Blog](/blog/) — read the latest posts
- [Search](/search/) — search the site

Or try searching for what you need:

Then add a search form at the bottom of the content (or in the layout).


Step 3: Build a Better 404 Layout

For a polished result, create a dedicated layout _layouts/404.html:


---
layout: default
---

<div class="error-page">
  <div class="error-page__code" aria-hidden="true">404</div>
  
  <h1 class="error-page__title">Page not found</h1>
  <p class="error-page__message">
    The page you're looking for doesn't exist or has been moved.
  </p>

  <div class="error-page__search">
    <form action="/search/" method="get" role="search">
      <label for="error-search" class="sr-only">Search the site</label>
      <input type="search" id="error-search" name="q" 
             placeholder="Search for something..." 
             class="error-page__search-input"
             autofocus>
      <button type="submit" class="btn btn--primary">Search</button>
    </form>
  </div>

  <nav class="error-page__nav" aria-label="Suggested pages">
    <p>Or try one of these:</p>
    <ul>
      <li><a href="/">← Back to homepage</a></li>
      <li><a href="/themes/">Browse themes</a></li>
      <li><a href="/blog/">Read the blog</a></li>
      <li><a href="/contact/">Contact us</a></li>
    </ul>
  </nav>

  {% if site.posts.size > 0 %}
  <div class="error-page__popular">
    <h2>Popular posts</h2>
    <ul>
      {% for post in site.posts limit: 4 %}
        <li><a href="{{ post.url }}">{{ post.title }}</a></li>
      {% endfor %}
    </ul>
  </div>
  {% endif %}
</div>

{{ content }}

Update your 404.md to use this layout:

---
layout: 404
title: "Page Not Found"
permalink: /404.html
sitemap: false
---

Step 4: Style It

// _sass/layouts/_404.scss

.error-page {
  max-width: 540px;
  margin: 4rem auto;
  text-align: center;
  padding: 0 1rem;
}

.error-page__code {
  font-size: clamp(5rem, 20vw, 8rem);
  font-weight: 900;
  line-height: 1;
  color: var(--border-color);
  letter-spacing: -0.05em;
  margin-bottom: 0.5rem;
}

.error-page__title {
  font-size: 1.75rem;
  margin-bottom: 0.75rem;
}

.error-page__message {
  color: var(--text-muted);
  margin-bottom: 2rem;
}

.error-page__search {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 2rem;

  form {
    display: flex;
    gap: 0.5rem;
    width: 100%;
  }
}

.error-page__search-input {
  flex: 1;
  padding: 0.625rem 0.875rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  font-size: 1rem;
  background: var(--bg-color);
  color: var(--text-color);

  &:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
  }
}

.error-page__nav {
  text-align: left;
  margin-bottom: 2rem;

  ul {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0;
  }

  li {
    padding: 0.25rem 0;
  }
}

.error-page__popular {
  text-align: left;
  border-top: 1px solid var(--border-color);
  padding-top: 1.5rem;

  h2 {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }

  ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  li {
    padding: 0.2rem 0;
  }
}

Step 5: Verify It Works on Your Hosting Platform

Different platforms serve custom 404 pages differently.

GitHub Pages
GitHub Pages automatically serves 404.html for missing pages. No configuration needed.

Netlify
Netlify serves 404.html automatically. Verify by visiting a non-existent URL on your live site.

Cloudflare Pages
Cloudflare Pages serves 404.html automatically.

Vercel
Add to vercel.json:

{
  "routes": [
    { "handle": "filesystem" },
    { "src": ".*", "dest": "/404.html", "status": 404 }
  ]
}

Test it: Visit https://yourdomain.com/this-page-does-not-exist/ — you should see your custom 404 page, and the browser should show HTTP status 404 (not 200).


Auto-Suggest Based on URL

For extra polish, parse the URL to suggest relevant content:

// In your 404 layout
<script>
  document.addEventListener('DOMContentLoaded', function() {
    const path = window.location.pathname;
    const slug = path.replace(/\//g, ' ').trim();
    
    if (slug) {
      // Pre-fill the search box with the attempted URL slug
      const searchInput = document.getElementById('error-search');
      if (searchInput) {
        searchInput.value = slug.replace(/-/g, ' ');
      }
    }
  });
</script>

This fills the search box with a cleaned version of the failed URL — so if someone visits /themes/minima-theme/ and gets a 404, the search box is pre-filled with “themes minima theme”.


What Makes a Good 404 Page

Do:

  • Keep branding consistent (use your site’s header and footer)
  • Offer clear navigation options
  • Include a search box
  • Show popular or recent content
  • Keep the tone friendly, not apologetic

Don’t:

  • Make it a dead end with only a “Go back” button
  • Use generic error language (“Error 404: Not Found”)
  • Remove the navigation bar
  • Redirect to the homepage automatically (this confuses users and search engines)

A well-crafted 404 page recovers visitors who would otherwise leave. It’s one of the highest ROI improvements you can make in under an hour.

Browse Jekyll themes on JekyllHub — many include a pre-styled 404 page you can customise.

Share LinkedIn

<!DOCTYPE html>

Using Jekyll for Open Source Project Documentation | JekyllHub
Home Blog Using Jekyll for Open Source Project Documentation
Tutorial

Using Jekyll for Open Source Project Documentation

Jekyll is the default documentation platform for thousands of open source projects on GitHub. Here is how to set up, structure, and maintain great project docs with Jekyll.

Using Jekyll for Open Source Project Documentation

Jekyll powers documentation for thousands of open source projects — Bootstrap, Jekyll itself, GitHub’s own docs, and hundreds of others. It is the natural choice for projects already hosted on GitHub, and the most supported static site generator on GitHub Pages.

Here is how to set up professional documentation for your open source project.

Why Jekyll for open source docs

  • GitHub Pages native support — push to a docs/ folder or gh-pages branch and your docs are live instantly
  • Markdown-first — contributors already write Markdown for README files; docs are the same workflow
  • No build step required — GitHub Pages builds Jekyll automatically on every push
  • Versioned with your code — docs live in the same repository as code, so pull requests can include both code and doc changes
  • Free — no hosting cost for open source projects

Two approaches: docs in the repo vs separate docs site

Option A: docs/ folder in your main repository

Jekyll can build from a docs/ folder in your repository. This keeps docs alongside code — ideal for small to medium projects.

In your GitHub repository settings → Pages → Build and deployment, set the source to “Deploy from a branch” and the folder to /docs.

Option B: Separate gh-pages branch

Larger projects often use a dedicated gh-pages branch for documentation. This keeps the main branch clean and allows the docs to have their own git history.

Setting up the docs folder

docs/
├── _config.yml
├── _layouts/
│   ├── default.html
│   └── page.html
├── _includes/
│   ├── nav.html
│   └── sidebar.html
├── assets/
│   ├── css/
│   └── js/
├── index.md          # Landing page / introduction
├── getting-started.md
├── installation.md
├── configuration.md
├── api/
│   ├── overview.md
│   └── reference.md
└── guides/
    ├── quickstart.md
    └── advanced.md

_config.yml for project docs

title: "YourProject Documentation"
description: "The official documentation for YourProject  a [brief description]."
url: "https://yourorg.github.io"
baseurl: "/your-project"

# Theme — just-the-docs is the most popular Jekyll docs theme
remote_theme: just-the-docs/just-the-docs

# Navigation order
nav_order: true

# Search
search_enabled: true

# Footer links
footer_content: "Copyright &copy; 2026 YourProject Contributors."

# GitHub link
gh_edit_link: true
gh_edit_link_text: "Edit this page on GitHub"
gh_edit_repository: "https://github.com/yourorg/your-project"
gh_edit_branch: "main"
gh_edit_source: docs

The Just the Docs theme

Just the Docs is the most popular Jekyll theme for open source documentation. It provides:

  • Responsive sidebar navigation with automatic TOC
  • Full-text client-side search
  • Collapsible navigation sections
  • Breadcrumbs
  • Dark mode
  • Code block copy buttons
  • Custom callout blocks

To use it with GitHub Pages, add to _config.yml:

remote_theme: just-the-docs/just-the-docs

No Gemfile changes needed for GitHub Pages.

Structuring documentation with front matter

Just the Docs uses front matter to control the navigation:

---
layout: default
title: "Getting Started"
nav_order: 2
description: "How to install and set up YourProject in under 5 minutes."
permalink: /getting-started/
---

Parent-child navigation for nested sections:

# Parent page
---
title: "API Reference"
nav_order: 4
has_children: true
---

# Child page
---
title: "Authentication"
parent: "API Reference"
nav_order: 1
---

Writing great documentation

Every docs site needs these pages:

  • Introduction — What is the project? Who is it for? What problem does it solve?
  • Installation — The first thing every new user reads. Be thorough.
  • Quickstart — Get from zero to working example in 5 minutes or less
  • Configuration reference — Every configuration option documented, with type, default, and example
  • API reference (for libraries) — Every public method, parameter, and return value
  • Changelog — What changed in each version

Documentation writing principles:

Write for a reader who has never seen your project. Avoid assuming knowledge. Every code example should be copy-paste runnable. Include expected output.

Use callout boxes for warnings, tips, and important notes:

{: .warning }
This configuration option was deprecated in v2.0. Use `new_option` instead.

{: .note }
This feature requires YourProject v1.5 or higher.

Version-specific documentation

For projects with multiple active versions, use Jekyll collections:

# _config.yml
collections:
  v2:
    output: true
    permalink: /v2/:path/
  v3:
    output: true
    permalink: /v3/:path/

Or use a branch per version and configure separate GitHub Pages deployments.

Automating docs with GitHub Actions

Auto-build and deploy on every push to main:

# .github/workflows/docs.yml
name: Deploy Docs

on:
  push:
    branches: [main]
    paths: ["docs/**"]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ruby/setup-ruby@v1
        with:
          bundler-cache: true
          working-directory: docs
      - run: bundle exec jekyll build
        working-directory: docs
      - uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: $
          publish_dir: docs/_site

Alternatives to consider

Jekyll is excellent for documentation but not the only option. Compare before committing:

Tool Best for
Jekyll + Just the Docs GitHub-hosted projects, Markdown-native teams
Docusaurus React-based projects, versioned docs, MDX
MkDocs Python projects, simple setup
GitBook Teams wanting a hosted, no-build solution
ReadTheDocs Python/Sphinx projects, automatic versioning

For projects already on GitHub with a Markdown-writing team, Jekyll on GitHub Pages is the fastest path from code to professional documentation — often taking less than an hour to set up.

Share LinkedIn

<!DOCTYPE html>

How to Build a Resume or CV Website with Jekyll | JekyllHub
Home Blog How to Build a Resume or CV Website with Jekyll
Tutorial

How to Build a Resume or CV Website with Jekyll

Create a professional online resume or CV with Jekyll — structured front matter, clean layout, PDF export, and free hosting on GitHub Pages.

How to Build a Resume or CV Website with Jekyll

An online resume or CV is one of the most valuable things a developer, designer, academic, or job seeker can have. A Jekyll-based CV gives you full control over the design, is free to host, and can be printed to PDF from the browser. Here is how to build one.

Why Jekyll for a resume?

  • Free to host on GitHub Pages at yourusername.github.io
  • Full design control — no template constraints, no watermarks
  • Easy to update — change a YAML file and push to GitHub
  • Printable — use @media print CSS to create a clean PDF version
  • Versioned — Git history tracks every version of your resume

Structuring resume data in Jekyll

The best approach is to store all resume content in _data/resume.yml — a single YAML file you can update without touching any HTML.

# _data/resume.yml

name: "Marcus Webb"
title: "Senior Software Engineer"
email: "marcus@example.com"
website: "https://marcuswebb.io"
github: "marcuswebb"
linkedin: "marcus-webb"
location: "London, UK"
summary: "Senior software engineer with 8 years of experience building scalable web applications. Specialised in Ruby, JavaScript, and developer tooling."

experience:
  - company: "Acme Corp"
    role: "Senior Software Engineer"
    period: "Jan 2022  Present"
    location: "London, UK"
    highlights:
      - "Led migration of monolith to microservices, reducing deployment time by 60%"
      - "Mentored team of 4 junior engineers"
      - "Implemented CI/CD pipeline with GitHub Actions"

  - company: "Beta Startup"
    role: "Software Engineer"
    period: "Mar 2019  Dec 2021"
    location: "Remote"
    highlights:
      - "Built customer-facing API serving 500k requests/day"
      - "Reduced page load time from 4.2s to 0.8s through performance optimisation"

education:
  - institution: "University of Edinburgh"
    degree: "BSc Computer Science"
    period: "2015  2019"
    grade: "First Class Honours"

skills:
  - category: "Languages"
    items: ["Ruby", "JavaScript", "TypeScript", "Python", "SQL"]
  - category: "Frameworks"
    items: ["Rails", "React", "Node.js", "Jekyll"]
  - category: "Tools"
    items: ["Git", "Docker", "AWS", "PostgreSQL", "Redis"]

projects:
  - name: "JekyllHub"
    url: "https://jekyllhub.com"
    description: "A marketplace for Jekyll themes serving 10,000+ monthly visitors."
    tech: ["Jekyll", "JavaScript", "SCSS"]

certifications:
  - name: "AWS Certified Solutions Architect"
    issuer: "Amazon Web Services"
    year: 2023

Creating the resume layout

Create _layouts/resume.html:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title> — Resume</title>
  <link rel="stylesheet" href="/assets/css/resume.css">
</head>
<body>
  <main class="resume">
    <div class="read-progress" id="read-progress"></div>

<article class="post" itemscope itemtype="https://schema.org/BlogPosting">

  <header class="post-hero">
    <div class="container">
      <div class="post-hero__breadcrumb">
        <a href="/">Home</a>
        <span class="breadcrumb-sep"></span>
        <a href="/blog/">Blog</a>
        <span class="breadcrumb-sep"></span>
        <span>Core Web Vitals for Jekyll Sites: A Practical Optimisation Guide (2026)</span>
      </div>

      <div class="post-hero__inner">
        
        <span class="post-hero__cat">Tutorial</span>
        

        <h1 class="post-hero__title" itemprop="name">Core Web Vitals for Jekyll Sites: A Practical Optimisation Guide (2026)</h1>

        
        <p class="post-hero__desc" itemprop="description">How to measure and improve Core Web Vitals (LCP, INP, CLS) on your Jekyll site — with practical fixes for the most common issues.</p>
        

        <div class="post-hero__meta">
          <span class="post-meta-item">
            <svg width="15" height="15" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg>
            Updated <time itemprop="dateModified" datetime="2026-07-19T00:00:00+00:00">July 19, 2026</time>
          </span>

          <span class="post-meta-item">
            <svg width="15" height="15" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/></svg>
            7 min read
          </span>
        </div>
      </div>
    </div>
  </header>

  
  <div class="post-cover">
    <div class="container">
      <img src="/assets/images/blog/jekyll-core-web-vitals.webp" alt="Core Web Vitals for Jekyll Sites: A Practical Optimisation Guide (2026)" class="post-cover__img" itemprop="image">
    </div>
  </div>
  

  <div class="container">
    <div class="post-body">
      <div class="post-body__main">
        
        <div class="post-toc" id="post-toc" data-collapsed="false" style="display:none">
          <button class="post-toc__label" id="toc-toggle" aria-expanded="false" aria-controls="toc-body">
            <span class="post-toc__label-left">
              <svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 10h16M4 14h10"/></svg>
              Table of Contents
            </span>
            <svg class="post-toc__chevron" width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/></svg>
          </button>
          <nav id="toc-body" class="toc"></nav>
        </div>
        

        <div class="prose" itemprop="articleBody">
          <p>Jekyll sites start with an inherent performance advantage — no database, no server-side rendering, no PHP. But Core Web Vitals are not just about server speed. Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS) depend on how your HTML, CSS, JavaScript, images, and fonts are delivered to the browser.</p>

<p>Here is how to measure and fix each one.</p>

<h2 id="measuring-core-web-vitals">Measuring Core Web Vitals</h2>

<p>Before optimising, measure your current scores:</p>

<p><strong>Google PageSpeed Insights</strong><a href="https://pagespeed.web.dev">pagespeed.web.dev</a> gives you both lab scores and real-world field data (Core Web Vitals from the Chrome User Experience Report).</p>

<p><strong>Chrome DevTools</strong> — Open DevTools → Performance tab → record a page load. Check the LCP marker and layout shift events.</p>

<p><strong>Web Vitals extension</strong> — Install the Google Web Vitals Chrome extension for real-time CWV scores as you browse your site.</p>

<p>Run tests on mobile, not just desktop. Mobile scores are what Google uses for ranking.</p>

<h2 id="largest-contentful-paint-lcp">Largest Contentful Paint (LCP)</h2>

<p>LCP measures how long it takes for the largest visible element to render. The target is under 2.5 seconds. For most Jekyll sites, the LCP element is either a hero image or the largest heading.</p>

<h3 id="fix-1-preload-your-lcp-image">Fix 1: Preload your LCP image</h3>

<p>If your LCP element is a hero image, add a preload hint in <code class="language-plaintext highlighter-rouge">&lt;head&gt;</code>:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>{% if page.image %}
<span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">"preload"</span> <span class="na">as=</span><span class="s">"image"</span> <span class="na">href=</span><span class="s">"{{ page.image | relative_url }}"</span><span class="nt">&gt;</span>
{% endif %}
</code></pre></div></div>

<h3 id="fix-2-use-modern-image-formats">Fix 2: Use modern image formats</h3>

<p>Convert images to WebP (25–35% smaller than JPEG) or AVIF (even smaller):</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cwebp <span class="nt">-q</span> 85 hero.jpg <span class="nt">-o</span> hero.webp
</code></pre></div></div>

<p>Reference with a <code class="language-plaintext highlighter-rouge">&lt;picture&gt;</code> element for fallback:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;picture&gt;</span>
  <span class="nt">&lt;source</span> <span class="na">srcset=</span><span class="s">"/assets/images/hero.avif"</span> <span class="na">type=</span><span class="s">"image/avif"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;source</span> <span class="na">srcset=</span><span class="s">"/assets/images/hero.webp"</span> <span class="na">type=</span><span class="s">"image/webp"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"/assets/images/hero.jpg"</span> <span class="na">alt=</span><span class="s">"Hero"</span> <span class="na">width=</span><span class="s">"1200"</span> <span class="na">height=</span><span class="s">"630"</span><span class="nt">&gt;</span>
<span class="nt">&lt;/picture&gt;</span>
</code></pre></div></div>

<h3 id="fix-3-add-width-and-height-to-images">Fix 3: Add width and height to images</h3>

<p>This prevents layout shift and helps the browser calculate space before the image loads:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"hero.webp"</span> <span class="na">alt=</span><span class="s">"Hero"</span> <span class="na">width=</span><span class="s">"1200"</span> <span class="na">height=</span><span class="s">"630"</span> <span class="na">loading=</span><span class="s">"lazy"</span><span class="nt">&gt;</span>
</code></pre></div></div>

<p>Do not use <code class="language-plaintext highlighter-rouge">loading="lazy"</code> on above-the-fold images — it delays the LCP element. Use <code class="language-plaintext highlighter-rouge">loading="eager"</code> or omit the attribute for hero images.</p>

<h3 id="fix-4-self-host-your-fonts">Fix 4: Self-host your fonts</h3>

<p>Google Fonts adds a cross-origin request that delays rendering. Self-host fonts instead:</p>

<div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">@font-face</span> <span class="p">{</span>
  <span class="nl">font-family</span><span class="p">:</span> <span class="s1">"Inter"</span><span class="p">;</span>
  <span class="nl">src</span><span class="p">:</span> <span class="sx">url("/assets/fonts/inter-v13-latin-regular.woff2")</span> <span class="n">format</span><span class="p">(</span><span class="s1">"woff2"</span><span class="p">);</span>
  <span class="py">font-display</span><span class="p">:</span> <span class="n">swap</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div></div>

<p>The <code class="language-plaintext highlighter-rouge">font-display: swap</code> ensures text is visible while the font loads (using a system font fallback), preventing invisible text during load.</p>

<h3 id="fix-5-eliminate-render-blocking-resources">Fix 5: Eliminate render-blocking resources</h3>

<p>CSS in <code class="language-plaintext highlighter-rouge">&lt;head&gt;</code> blocks rendering. JavaScript in <code class="language-plaintext highlighter-rouge">&lt;head&gt;</code> blocks rendering. Move non-critical CSS to inline critical styles, and add <code class="language-plaintext highlighter-rouge">defer</code> or <code class="language-plaintext highlighter-rouge">async</code> to all scripts:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">&lt;!-- Bad --&gt;</span>
<span class="nt">&lt;script </span><span class="na">src=</span><span class="s">"/assets/js/main.js"</span><span class="nt">&gt;&lt;/script&gt;</span>

<span class="c">&lt;!-- Good --&gt;</span>
<span class="nt">&lt;script </span><span class="na">src=</span><span class="s">"/assets/js/main.js"</span> <span class="na">defer</span><span class="nt">&gt;&lt;/script&gt;</span>
</code></pre></div></div>

<h2 id="interaction-to-next-paint-inp">Interaction to Next Paint (INP)</h2>

<p>INP replaced First Input Delay (FID) in 2024. It measures the time from any user interaction (click, tap, keyboard input) to the next frame painted. The target is under 200ms.</p>

<p>Jekyll sites with minimal JavaScript have excellent INP scores by default. Problems arise when you load heavy JavaScript that blocks the main thread.</p>

<h3 id="fix-1-defer-non-critical-javascript">Fix 1: Defer non-critical JavaScript</h3>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;script </span><span class="na">src=</span><span class="s">"/assets/js/analytics.js"</span> <span class="na">defer</span><span class="nt">&gt;&lt;/script&gt;</span>
<span class="nt">&lt;script </span><span class="na">src=</span><span class="s">"/assets/js/chat-widget.js"</span> <span class="na">defer</span><span class="nt">&gt;&lt;/script&gt;</span>
</code></pre></div></div>

<h3 id="fix-2-avoid-long-tasks">Fix 2: Avoid long tasks</h3>

<p>Any JavaScript task that runs longer than 50ms can delay interactions. Use the Performance tab in Chrome DevTools to find long tasks (shown as red bars in the main thread timeline).</p>

<p>Break up long loops or calculations using <code class="language-plaintext highlighter-rouge">setTimeout</code>:</p>

<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Instead of one blocking loop:</span>
<span class="kd">function</span> <span class="nx">processItems</span><span class="p">(</span><span class="nx">items</span><span class="p">)</span> <span class="p">{</span>
  <span class="nx">items</span><span class="p">.</span><span class="nx">forEach</span><span class="p">(</span><span class="nx">item</span> <span class="o">=&gt;</span> <span class="nx">processItem</span><span class="p">(</span><span class="nx">item</span><span class="p">));</span> <span class="c1">// blocks if items is large</span>
<span class="p">}</span>

<span class="c1">// Break it up:</span>
<span class="kd">function</span> <span class="nx">processItemsAsync</span><span class="p">(</span><span class="nx">items</span><span class="p">,</span> <span class="nx">index</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
  <span class="nx">processItem</span><span class="p">(</span><span class="nx">items</span><span class="p">[</span><span class="nx">index</span><span class="p">]);</span>
  <span class="k">if</span> <span class="p">(</span><span class="nx">index</span> <span class="o">+</span> <span class="mi">1</span> <span class="o">&lt;</span> <span class="nx">items</span><span class="p">.</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span>
    <span class="nx">setTimeout</span><span class="p">(()</span> <span class="o">=&gt;</span> <span class="nx">processItemsAsync</span><span class="p">(</span><span class="nx">items</span><span class="p">,</span> <span class="nx">index</span> <span class="o">+</span> <span class="mi">1</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span>
  <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<h3 id="fix-3-remove-unused-javascript">Fix 3: Remove unused JavaScript</h3>

<p>Audit what JavaScript your site loads with the Chrome DevTools Coverage tab (DevTools → More tools → Coverage). Anything with high unused percentage is a candidate for removal or lazy loading.</p>

<h2 id="cumulative-layout-shift-cls">Cumulative Layout Shift (CLS)</h2>

<p>CLS measures unexpected layout movement — elements jumping around as the page loads. The target is under 0.1. Common causes on Jekyll sites:</p>

<h3 id="fix-1-always-specify-image-dimensions">Fix 1: Always specify image dimensions</h3>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">&lt;!-- Bad — no dimensions, layout shifts when image loads --&gt;</span>
<span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"hero.webp"</span> <span class="na">alt=</span><span class="s">"Hero"</span><span class="nt">&gt;</span>

<span class="c">&lt;!-- Good — browser reserves space --&gt;</span>
<span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"hero.webp"</span> <span class="na">alt=</span><span class="s">"Hero"</span> <span class="na">width=</span><span class="s">"800"</span> <span class="na">height=</span><span class="s">"450"</span><span class="nt">&gt;</span>
</code></pre></div></div>

<p>Or use CSS <code class="language-plaintext highlighter-rouge">aspect-ratio</code>:</p>

<div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">.post-image</span> <span class="p">{</span>
  <span class="py">aspect-ratio</span><span class="p">:</span> <span class="m">16</span> <span class="p">/</span> <span class="m">9</span><span class="p">;</span>
  <span class="nl">width</span><span class="p">:</span> <span class="m">100%</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div></div>

<h3 id="fix-2-avoid-inserting-content-above-existing-content">Fix 2: Avoid inserting content above existing content</h3>

<p>Announcement bars, cookie banners, and newsletter popups that appear after page load cause CLS. Either:</p>

<ul>
  <li>Include them in the initial HTML (so they are rendered with the page, not injected later)</li>
  <li>Reserve space for them with a fixed height placeholder</li>
</ul>

<h3 id="fix-3-use-font-display-swap-and-size-adjust">Fix 3: Use <code class="language-plaintext highlighter-rouge">font-display: swap</code> and size-adjust</h3>

<p>When a custom font loads, it can shift text because metrics differ from the fallback font. Use the <code class="language-plaintext highlighter-rouge">size-adjust</code>, <code class="language-plaintext highlighter-rouge">ascent-override</code>, and <code class="language-plaintext highlighter-rouge">descent-override</code> CSS properties to make your fallback match your custom font:</p>

<div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">@font-face</span> <span class="p">{</span>
  <span class="nl">font-family</span><span class="p">:</span> <span class="s1">"Inter-fallback"</span><span class="p">;</span>
  <span class="nl">src</span><span class="p">:</span> <span class="n">local</span><span class="p">(</span><span class="s1">"Arial"</span><span class="p">);</span>
  <span class="py">size-adjust</span><span class="p">:</span> <span class="m">107%</span><span class="p">;</span>
  <span class="py">ascent-override</span><span class="p">:</span> <span class="m">90%</span><span class="p">;</span>
<span class="p">}</span>

<span class="nt">body</span> <span class="p">{</span>
  <span class="nl">font-family</span><span class="p">:</span> <span class="s1">"Inter"</span><span class="p">,</span> <span class="s1">"Inter-fallback"</span><span class="p">,</span> <span class="nb">sans-serif</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div></div>

<h3 id="fix-4-avoid-dynamically-injected-ads-or-embeds">Fix 4: Avoid dynamically injected ads or embeds</h3>

<p>Third-party embeds (Twitter, YouTube, Google Ads) that do not have reserved space cause significant CLS. Use placeholder containers with explicit dimensions:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;div</span> <span class="na">style=</span><span class="s">"aspect-ratio: 16/9; background: #f3f4f6;"</span><span class="nt">&gt;</span>
  <span class="c">&lt;!-- YouTube embed loads here --&gt;</span>
<span class="nt">&lt;/div&gt;</span>
</code></pre></div></div>

<h2 id="jekyll-specific-optimisations">Jekyll-specific optimisations</h2>

<h3 id="inline-critical-css">Inline critical CSS</h3>

<p>Extract the CSS needed to render above-the-fold content and inline it in <code class="language-plaintext highlighter-rouge">&lt;head&gt;</code>:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;style&gt;</span>
  <span class="c">/* Critical CSS — only what is needed for above-fold content */</span>
  <span class="nt">body</span> <span class="p">{</span> <span class="nl">margin</span><span class="p">:</span> <span class="m">0</span><span class="p">;</span> <span class="nl">font-family</span><span class="p">:</span> <span class="n">system-ui</span><span class="p">,</span> <span class="nb">sans-serif</span><span class="p">;</span> <span class="p">}</span>
  <span class="nc">.navbar</span> <span class="p">{</span> <span class="nl">height</span><span class="p">:</span> <span class="m">64px</span><span class="p">;</span> <span class="nl">background</span><span class="p">:</span> <span class="m">#fff</span><span class="p">;</span> <span class="p">}</span>
  <span class="nc">.hero</span> <span class="p">{</span> <span class="nl">padding</span><span class="p">:</span> <span class="m">4rem</span> <span class="m">1rem</span><span class="p">;</span> <span class="p">}</span>
<span class="nt">&lt;/style&gt;</span>
<span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">"preload"</span> <span class="na">href=</span><span class="s">"/assets/css/main.css"</span> <span class="na">as=</span><span class="s">"style"</span> <span class="na">onload=</span><span class="s">"this.onload=null;this.rel='stylesheet'"</span><span class="nt">&gt;</span>
</code></pre></div></div>

<h3 id="compress-jekyll-output-with-a-plugin">Compress Jekyll output with a plugin</h3>

<p>Add <code class="language-plaintext highlighter-rouge">jekyll-compress-html</code> to minify your HTML output:</p>

<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># Gemfile</span>
<span class="n">gem</span> <span class="s2">"jekyll-compress-html"</span>
</code></pre></div></div>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># _config.yml</span>
<span class="na">compress_html</span><span class="pi">:</span>
  <span class="na">clippings</span><span class="pi">:</span> <span class="s">all</span>
  <span class="na">comments</span><span class="pi">:</span> <span class="s">all</span>
  <span class="na">endings</span><span class="pi">:</span> <span class="s">all</span>
</code></pre></div></div>

<h2 id="target-scores">Target scores</h2>

<table>
  <thead>
    <tr>
      <th>Metric</th>
      <th>Good</th>
      <th>Needs improvement</th>
      <th>Poor</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>LCP</td>
      <td>&lt; 2.5s</td>
      <td>2.5–4s</td>
      <td>&gt; 4s</td>
    </tr>
    <tr>
      <td>INP</td>
      <td>&lt; 200ms</td>
      <td>200–500ms</td>
      <td>&gt; 500ms</td>
    </tr>
    <tr>
      <td>CLS</td>
      <td>&lt; 0.1</td>
      <td>0.1–0.25</td>
      <td>&gt; 0.25</td>
    </tr>
  </tbody>
</table>

<p>A well-optimised Jekyll site can consistently achieve LCP under 1 second, INP under 50ms, and CLS of 0 — well above Google’s “good” threshold for all three metrics.</p>

        </div>

        
        <div class="post-tags">
          
        </div>
        

        <div class="post-share">
          <span class="post-share__label">Share</span>
          <a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fjekyllhub.com%2Ftutorial%2F2026%2F06%2F06%2Fjekyll-core-web-vitals%2F&text=Core+Web+Vitals+for+Jekyll+Sites%3A+A+Practical+Optimisation+Guide+%282026%29" target="_blank" rel="noopener" class="post-share__btn post-share__btn--twitter">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
            X / Twitter
          </a>
          <a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fjekyllhub.com%2Ftutorial%2F2026%2F06%2F06%2Fjekyll-core-web-vitals%2F&title=Core+Web+Vitals+for+Jekyll+Sites%3A+A+Practical+Optimisation+Guide+%282026%29" target="_blank" rel="noopener" class="post-share__btn post-share__btn--linkedin">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
            LinkedIn
          </a>
          <button class="post-share__btn post-share__btn--copy" onclick="JekyllHub.copyPostLink(this)">
            <svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"/></svg>
            <span>Copy Link</span>
          </button>
        </div>

        

        <nav class="post-nav" aria-label="Post navigation">
          <div class="post-nav__prev">
            
            <a href="/tutorial/2026/06/05/jekyll-headless-cms/" class="post-nav__link">
              <span class="post-nav__label">← Previous</span>
              <span class="post-nav__title">Jekyll with a Headless CMS: Contentful, Sanity, and Decap Compared</span>
            </a>
            
          </div>
          <div class="post-nav__center">
            <a href="/blog/" class="btn btn--secondary btn--sm">All Posts</a>
          </div>
          <div class="post-nav__next">
            
            <a href="/tutorial/2026/06/07/jekyll-resume-cv-website/" class="post-nav__link post-nav__link--next">
              <span class="post-nav__label">Next →</span>
              <span class="post-nav__title">How to Build a Resume or CV Website with Jekyll</span>
            </a>
            
          </div>
        </nav>
      </div>

      <aside class="post-body__sidebar">
        <div class="sidebar-card">
          <h3 class="sidebar-card__title">Browse Themes</h3>
          <ul class="post-sidebar__links">
            
            <li><a href="/jekyll-academic-themes/">🎓 Academic Themes</a></li>
            
            <li><a href="/jekyll-blog-themes/">✍️ Blog Themes</a></li>
            
            <li><a href="/jekyll-business-themes/">💼 Business Themes</a></li>
            
            <li><a href="/jekyll-documentation-themes/">📚 Documentation Themes</a></li>
            
            <li><a href="/jekyll-e-commerce-themes/">🛒 E-commerce Themes</a></li>
            
            <li><a href="/jekyll-landing-page-themes/">🚀 Landing Page Themes</a></li>
            
            <li><a href="/jekyll-personal-themes/">👤 Personal Themes</a></li>
            
            <li><a href="/jekyll-portfolio-themes/">🎨 Portfolio Themes</a></li>
            
            <li><a href="/jekyll-resume-cv-themes/">📄 Resume/CV Themes</a></li>
            
            <li><a href="/jekyll-github-pages-themes/"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" style="display:inline;vertical-align:middle;margin-right:4px"><path d="M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>GitHub Pages Themes</a></li>
          </ul>
          <a href="/themes/" class="btn btn--primary btn--full" style="margin-top:var(--space-5)">Browse All Themes →</a>
        </div>

        <div class="sidebar-card" style="margin-top:var(--space-6)">
          <h3 class="sidebar-card__title">Submit Your Theme</h3>
          <p style="font-size:0.875rem;color:var(--text-3);line-height:1.6;margin-bottom:var(--space-4)">Built a Jekyll theme? Share it with thousands of developers.</p>
          <a href="/submit/" class="btn btn--secondary btn--full">Submit a Theme →</a>
        </div>
      </aside>
    </div>
  </div>

  <!-- Related Themes — rendered by JS from SITE_DATA, shuffled per page load -->

  

  
  <section class="post-related-themes" style="display:none">
    <div class="container">
      <h2 class="post-related-themes__title">Themes You Might Like</h2>
      <div class="themes-grid themes-grid--4" id="post-related-themes-grid"
           data-tags="[]"
           data-related-category="Blog"></div>
    </div>
  </section>
  

</article>

<!-- Back to top -->
<button class="back-to-top" id="back-to-top" aria-label="Back to top" onclick="window.scrollTo({top:0,behavior:'smooth'})">
  <svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M5 15l7-7 7 7"/>
  </svg>
</button>
<script src="/assets/js/post.js" defer></script>

  </main>
</body>
</html>

Creating the resume page

Create resume.md (or cv.md) in your project root:

---
layout: resume
permalink: /resume/
---

{% assign r = site.data.resume %}

<header class="resume__header">
  <h1 class="resume__name">{{ r.name }}</h1>
  <p class="resume__title">{{ r.title }}</p>
  <div class="resume__contact">
    <span>{{ r.location }}</span>
    <a href="mailto:{{ r.email }}">{{ r.email }}</a>
    <a href="https://github.com/{{ r.github }}">GitHub</a>
    <a href="https://linkedin.com/in/{{ r.linkedin }}">LinkedIn</a>
    <a href="{{ r.website }}">{{ r.website }}</a>
  </div>
</header>

<section class="resume__section">
  <h2>Summary</h2>
  <p>{{ r.summary }}</p>
</section>

<section class="resume__section">
  <h2>Experience</h2>
  {% for job in r.experience %}
  <div class="resume__job">
    <div class="resume__job-header">
      <div>
        <h3>{{ job.role }}</h3>
        <p class="resume__company">{{ job.company }} · {{ job.location }}</p>
      </div>
      <span class="resume__period">{{ job.period }}</span>
    </div>
    <ul>
      {% for highlight in job.highlights %}
      <li>{{ highlight }}</li>
      {% endfor %}
    </ul>
  </div>
  {% endfor %}
</section>

<section class="resume__section">
  <h2>Education</h2>
  {% for edu in r.education %}
  <div class="resume__job">
    <div class="resume__job-header">
      <div>
        <h3>{{ edu.degree }}</h3>
        <p class="resume__company">{{ edu.institution }}</p>
      </div>
      <span class="resume__period">{{ edu.period }}</span>
    </div>
    {% if edu.grade %}<p>{{ edu.grade }}</p>{% endif %}
  </div>
  {% endfor %}
</section>

<section class="resume__section">
  <h2>Skills</h2>
  {% for skill_group in r.skills %}
  <div class="resume__skills">
    <strong>{{ skill_group.category }}:</strong>
    {{ skill_group.items | join: " · " }}
  </div>
  {% endfor %}
</section>

<section class="resume__section">
  <h2>Projects</h2>
  {% for project in r.projects %}
  <div class="resume__project">
    <h3><a href="{{ project.url }}">{{ project.name }}</a></h3>
    <p>{{ project.description }}</p>
    <p class="resume__tech">{{ project.tech | join: " · " }}</p>
  </div>
  {% endfor %}
</section>

Add print styles to make the resume look great when saved as PDF (File → Print → Save as PDF in Chrome):

/* assets/css/resume.css */

.resume {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem;
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 0.9rem;
  color: #1a1a1a;
  line-height: 1.5;
}

.resume__header { margin-bottom: 1.5rem; }
.resume__name { font-size: 1.75rem; font-weight: 700; margin: 0; }
.resume__title { color: #555; margin: 0.25rem 0; }
.resume__contact { display: flex; gap: 1rem; flex-wrap: wrap; font-size: 0.8rem; margin-top: 0.5rem; }
.resume__contact a { color: #2563eb; text-decoration: none; }

.resume__section { margin-bottom: 1.5rem; }
.resume__section h2 { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.1em; color: #555; border-bottom: 1px solid #e5e7eb; padding-bottom: 0.25rem; margin-bottom: 0.75rem; }

.resume__job { margin-bottom: 1rem; }
.resume__job-header { display: flex; justify-content: space-between; align-items: flex-start; }
.resume__job h3 { margin: 0; font-size: 1rem; }
.resume__company { color: #555; margin: 0.1rem 0; font-size: 0.85rem; }
.resume__period { font-size: 0.8rem; color: #888; white-space: nowrap; }
.resume__job ul { margin: 0.5rem 0 0 1.2rem; padding: 0; }
.resume__job li { margin-bottom: 0.25rem; }

.resume__skills { margin-bottom: 0.4rem; }
.resume__tech { font-size: 0.8rem; color: #555; }

@media print {
  body { background: white; }
  .resume { max-width: 100%; padding: 0; }
  a { color: inherit !important; text-decoration: none !important; }
  .resume__contact a::after { content: " (" attr(href) ")"; font-size: 0.7rem; }
  @page { margin: 1.5cm; }
}

Hosting on GitHub Pages

Push your Jekyll resume to a GitHub repository named yourusername.github.io. GitHub Pages automatically builds and deploys it. Your resume is live at https://yourusername.github.io/resume/ — free, forever, with a custom domain if you want one.

Jekyll resume themes

Rather than building from scratch, you can use an existing Jekyll resume theme:

  • Researcher — academic-focused single-page theme
  • Online CV — clean, single-page resume layout
  • al-folio — popular academic portfolio with publications support

Browse the Resume/CV category on JekyllHub for curated options.

Tips for an effective online resume

Keep it to one page for print. Use the print CSS to verify everything fits on one A4 or Letter page when printed.

Use plain language. Write bullet points that start with action verbs: “Built”, “Led”, “Reduced”, “Implemented”. Quantify results where possible.

Keep the YAML updated. The advantage of data-driven resumes is that a single file change updates every page. Update _data/resume.yml after each role, not just before applying.

Add a PDF download link. Include a button that opens the print dialog:

<button onclick="window.print()">Download PDF</button>
Share LinkedIn

<!DOCTYPE html>

Core Web Vitals for Jekyll Sites: A Practical Optimisation Guide (2026) | JekyllHub
Home Blog Core Web Vitals for Jekyll Sites: A Practical Optimisation Guide (2026)
Tutorial

Core Web Vitals for Jekyll Sites: A Practical Optimisation Guide (2026)

How to measure and improve Core Web Vitals (LCP, INP, CLS) on your Jekyll site — with practical fixes for the most common issues.

Core Web Vitals for Jekyll Sites: A Practical Optimisation Guide (2026)

Jekyll sites start with an inherent performance advantage — no database, no server-side rendering, no PHP. But Core Web Vitals are not just about server speed. Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS) depend on how your HTML, CSS, JavaScript, images, and fonts are delivered to the browser.

Here is how to measure and fix each one.

Measuring Core Web Vitals

Before optimising, measure your current scores:

Google PageSpeed Insightspagespeed.web.dev gives you both lab scores and real-world field data (Core Web Vitals from the Chrome User Experience Report).

Chrome DevTools — Open DevTools → Performance tab → record a page load. Check the LCP marker and layout shift events.

Web Vitals extension — Install the Google Web Vitals Chrome extension for real-time CWV scores as you browse your site.

Run tests on mobile, not just desktop. Mobile scores are what Google uses for ranking.

Largest Contentful Paint (LCP)

LCP measures how long it takes for the largest visible element to render. The target is under 2.5 seconds. For most Jekyll sites, the LCP element is either a hero image or the largest heading.

Fix 1: Preload your LCP image

If your LCP element is a hero image, add a preload hint in <head>:

{% if page.image %}
<link rel="preload" as="image" href="{{ page.image | relative_url }}">
{% endif %}

Fix 2: Use modern image formats

Convert images to WebP (25–35% smaller than JPEG) or AVIF (even smaller):

cwebp -q 85 hero.jpg -o hero.webp

Reference with a <picture> element for fallback:

<picture>
  <source srcset="/assets/images/hero.avif" type="image/avif">
  <source srcset="/assets/images/hero.webp" type="image/webp">
  <img src="/assets/images/hero.jpg" alt="Hero" width="1200" height="630">
</picture>

Fix 3: Add width and height to images

This prevents layout shift and helps the browser calculate space before the image loads:

<img src="hero.webp" alt="Hero" width="1200" height="630" loading="lazy">

Do not use loading="lazy" on above-the-fold images — it delays the LCP element. Use loading="eager" or omit the attribute for hero images.

Fix 4: Self-host your fonts

Google Fonts adds a cross-origin request that delays rendering. Self-host fonts instead:

@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/inter-v13-latin-regular.woff2") format("woff2");
  font-display: swap;
}

The font-display: swap ensures text is visible while the font loads (using a system font fallback), preventing invisible text during load.

Fix 5: Eliminate render-blocking resources

CSS in <head> blocks rendering. JavaScript in <head> blocks rendering. Move non-critical CSS to inline critical styles, and add defer or async to all scripts:

<!-- Bad -->
<script src="/assets/js/main.js"></script>

<!-- Good -->
<script src="/assets/js/main.js" defer></script>

Interaction to Next Paint (INP)

INP replaced First Input Delay (FID) in 2024. It measures the time from any user interaction (click, tap, keyboard input) to the next frame painted. The target is under 200ms.

Jekyll sites with minimal JavaScript have excellent INP scores by default. Problems arise when you load heavy JavaScript that blocks the main thread.

Fix 1: Defer non-critical JavaScript

<script src="/assets/js/analytics.js" defer></script>
<script src="/assets/js/chat-widget.js" defer></script>

Fix 2: Avoid long tasks

Any JavaScript task that runs longer than 50ms can delay interactions. Use the Performance tab in Chrome DevTools to find long tasks (shown as red bars in the main thread timeline).

Break up long loops or calculations using setTimeout:

// Instead of one blocking loop:
function processItems(items) {
  items.forEach(item => processItem(item)); // blocks if items is large
}

// Break it up:
function processItemsAsync(items, index = 0) {
  processItem(items[index]);
  if (index + 1 < items.length) {
    setTimeout(() => processItemsAsync(items, index + 1), 0);
  }
}

Fix 3: Remove unused JavaScript

Audit what JavaScript your site loads with the Chrome DevTools Coverage tab (DevTools → More tools → Coverage). Anything with high unused percentage is a candidate for removal or lazy loading.

Cumulative Layout Shift (CLS)

CLS measures unexpected layout movement — elements jumping around as the page loads. The target is under 0.1. Common causes on Jekyll sites:

Fix 1: Always specify image dimensions

<!-- Bad — no dimensions, layout shifts when image loads -->
<img src="hero.webp" alt="Hero">

<!-- Good — browser reserves space -->
<img src="hero.webp" alt="Hero" width="800" height="450">

Or use CSS aspect-ratio:

.post-image {
  aspect-ratio: 16 / 9;
  width: 100%;
}

Fix 2: Avoid inserting content above existing content

Announcement bars, cookie banners, and newsletter popups that appear after page load cause CLS. Either:

  • Include them in the initial HTML (so they are rendered with the page, not injected later)
  • Reserve space for them with a fixed height placeholder

Fix 3: Use font-display: swap and size-adjust

When a custom font loads, it can shift text because metrics differ from the fallback font. Use the size-adjust, ascent-override, and descent-override CSS properties to make your fallback match your custom font:

@font-face {
  font-family: "Inter-fallback";
  src: local("Arial");
  size-adjust: 107%;
  ascent-override: 90%;
}

body {
  font-family: "Inter", "Inter-fallback", sans-serif;
}

Fix 4: Avoid dynamically injected ads or embeds

Third-party embeds (Twitter, YouTube, Google Ads) that do not have reserved space cause significant CLS. Use placeholder containers with explicit dimensions:

<div style="aspect-ratio: 16/9; background: #f3f4f6;">
  <!-- YouTube embed loads here -->
</div>

Jekyll-specific optimisations

Inline critical CSS

Extract the CSS needed to render above-the-fold content and inline it in <head>:

<style>
  /* Critical CSS — only what is needed for above-fold content */
  body { margin: 0; font-family: system-ui, sans-serif; }
  .navbar { height: 64px; background: #fff; }
  .hero { padding: 4rem 1rem; }
</style>
<link rel="preload" href="/assets/css/main.css" as="style" onload="this.onload=null;this.rel='stylesheet'">

Compress Jekyll output with a plugin

Add jekyll-compress-html to minify your HTML output:

# Gemfile
gem "jekyll-compress-html"
# _config.yml
compress_html:
  clippings: all
  comments: all
  endings: all

Target scores

Metric Good Needs improvement Poor
LCP < 2.5s 2.5–4s > 4s
INP < 200ms 200–500ms > 500ms
CLS < 0.1 0.1–0.25 > 0.25

A well-optimised Jekyll site can consistently achieve LCP under 1 second, INP under 50ms, and CLS of 0 — well above Google’s “good” threshold for all three metrics.

Share LinkedIn

<!DOCTYPE html>

Jekyll with a Headless CMS: Contentful, Sanity, and Decap Compared | JekyllHub
Home Blog Jekyll with a Headless CMS: Contentful, Sanity, and Decap Compared
Tutorial

Jekyll with a Headless CMS: Contentful, Sanity, and Decap Compared

Add a visual content editor to your Jekyll site without giving up static performance. A comparison of Contentful, Sanity, and Decap CMS for Jekyll.

Jekyll with a Headless CMS: Contentful, Sanity, and Decap Compared

Jekyll stores content as Markdown files — ideal for developers, frustrating for non-technical editors who want a visual dashboard. A headless CMS solves this by providing a content editing interface while keeping Jekyll as the static site builder.

Here is how the major options compare, and how to set each one up.

What is a headless CMS?

A headless CMS separates the content editing interface (“head”) from the front-end presentation. Editors log into a dashboard to write and manage content. The CMS stores content and exposes it via an API or writes it back to files. Jekyll consumes that content at build time.

The result: your editors get a friendly UI; your site is still static HTML.

Option 1: Decap CMS (formerly Netlify CMS)

Decap CMS is the most Jekyll-native option. It is an open-source, Git-based CMS — it reads and writes directly to your repository, so content stays in Markdown files alongside your code. No external API, no additional database.

How it works

Editors log into /admin/ on your site. The dashboard reads your existing Markdown files from Git, lets editors create and edit posts, and commits changes back to the repository. Your CI/CD pipeline (Netlify, Cloudflare Pages) picks up the commit and rebuilds the site.

Setup

Create admin/index.html:

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Content Manager</title>
</head>
<body>
  <script src="https://unpkg.com/decap-cms@^3.0.0/dist/decap-cms.js"></script>
</body>
</html>

Create admin/config.yml:

backend:
  name: git-gateway
  branch: main

media_folder: "assets/images/uploads"
public_folder: "/assets/images/uploads"

collections:
  - name: "posts"
    label: "Blog Posts"
    folder: "_posts"
    create: true
    slug: "---"
    fields:
      - { label: "Layout", name: "layout", widget: "hidden", default: "post" }
      - { label: "Title", name: "title", widget: "string" }
      - { label: "Description", name: "description", widget: "text" }
      - { label: "Date", name: "date", widget: "datetime" }
      - { label: "Author", name: "author", widget: "string" }
      - { label: "Body", name: "body", widget: "markdown" }

Enable Identity and Git Gateway in your Netlify dashboard under Site settings → Identity.

Pros: Free, Git-based, no external API, content stays in your repository.
Cons: Requires Netlify for OAuth; limited widgets compared to commercial options.

Option 2: Contentful

Contentful is a cloud-based headless CMS with a polished editor, powerful content modelling, and a generous free tier (25,000 records, 2 users). Content is stored in Contentful’s cloud and delivered via their API.

How it works with Jekyll

Unlike Decap, Contentful does not write Markdown files — it stores content in the cloud. You use a build plugin or a custom Ruby script to fetch content from Contentful’s API at build time and generate Jekyll data files or Markdown posts.

Using a Jekyll Contentful plugin

# Gemfile
gem "jekyll-contentful-data-import"
# _config.yml
contentful:
  spaces:
    - example:
        space: YOUR_SPACE_ID
        access_token: YOUR_ACCESS_TOKEN
        cda_query:
          include: 2
        all_entries: true

Run bundle exec jekyll contentful to pull content before building. In CI, add this step to your build command:

bundle exec jekyll contentful && bundle exec jekyll build

Content arrives as YAML data files in _data/contentful/spaces/. You loop through them in Liquid like any other data:

{% for post in site.data.contentful.spaces.example.blogPost %}
<h2></h2>
{% endfor %}

Pros: Polished editor, strong content modelling, free tier is generous, good for large teams.
Cons: Content lives in the cloud (not your repo), API dependency at build time, can be complex to set up.

Option 3: Sanity

Sanity is a flexible, API-first headless CMS with a real-time collaborative editor (Sanity Studio) you can customise with JavaScript. It is particularly popular for structured content and complex content models.

How it works with Jekyll

Sanity stores content in its cloud. You fetch it at build time using a Ruby script or the Sanity JavaScript client.

Install the Sanity CLI and create a project:

npm create sanity@latest

Fetch content at build time with a Node.js script:

// tools/fetch-sanity.js
const { createClient } = require("@sanity/client");
const fs = require("fs");
const path = require("path");

const client = createClient({
  projectId: "YOUR_PROJECT_ID",
  dataset: "production",
  useCdn: true,
  apiVersion: "2024-01-01",
});

async function fetchPosts() {
  const posts = await client.fetch(`*[_type == "post"]{title, slug, body, publishedAt}`);
  
  posts.forEach(post => {
    const content = `---
layout: post
title: "${post.title}"
date: ${post.publishedAt}
---

${post.body}`;
    
    const filename = `${post.publishedAt.split("T")[0]}-${post.slug.current}.md`;
    fs.writeFileSync(path.join("_posts", filename), content);
  });
  
  console.log(`Fetched ${posts.length} posts`);
}

fetchPosts();

Add to your build command:

node tools/fetch-sanity.js && bundle exec jekyll build

Pros: Extremely flexible content model, real-time collaboration, excellent for complex structured content.
Cons: More setup than Decap, content not in your repo, costs money beyond the free tier.

Comparison table

  Decap CMS Contentful Sanity
Content storage Git (your repo) Cloud Cloud
Free tier Free (open source) 25k records, 2 users Up to 3 users
Setup complexity Low Medium Medium-High
Editor experience Good Excellent Excellent
Content modelling YAML config Drag-and-drop JavaScript
Real-time collab No Yes (paid) Yes
Best for Small teams, developers Mid-size teams Complex content

Which should you choose?

Choose Decap CMS if: Your team is small, you want content in Git, you are already on Netlify, and you want zero additional infrastructure cost.

Choose Contentful if: You have non-technical editors who need a polished experience, your content model is straightforward, and you want a managed solution with a free tier.

Choose Sanity if: You need a highly customised editing experience, complex structured content with references and blocks, or real-time collaboration out of the box.

For most Jekyll sites with one or two editors, Decap CMS is the right choice — it is free, keeps content in Git, and requires no external API at build time.

Share LinkedIn

<!DOCTYPE html>

How to Add a CMS to Jekyll with Decap CMS (Formerly Netlify CMS) | JekyllHub
Home Blog How to Add a CMS to Jekyll with Decap CMS (Formerly Netlify CMS)
Tutorial

How to Add a CMS to Jekyll with Decap CMS (Formerly Netlify CMS)

Add a visual content editor to your Jekyll site using Decap CMS — set up the admin panel, configure collections, and let non-developers publish posts without touching code.

How to Add a CMS to Jekyll with Decap CMS (Formerly Netlify CMS)

Jekyll is code-first — posts are Markdown files, publishing means a Git commit. That’s great for developers but a barrier for non-technical collaborators. Decap CMS (the open-source successor to Netlify CMS) adds a visual editing interface to any Jekyll site, backed by your Git repository. No database, no separate server.


What Is Decap CMS?

Decap CMS is an open-source, Git-based content management system. It adds an /admin page to your site with a visual editor. When a content editor saves a post, Decap CMS commits the Markdown file to your GitHub repository — the same way you would from the command line, but through a web interface.

Key points:

  • Runs entirely in the browser — no server needed
  • Saves content as Markdown files in your repository
  • Authenticates via GitHub, GitLab, or Bitbucket OAuth
  • Free and open-source (MIT licence)
  • Works with GitHub Pages, Netlify, and Cloudflare Pages

Step 1: Create the Admin Folder

Create an admin/ folder in your Jekyll site root with two files:

admin/index.html:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta name="robots" content="noindex">
  <title>Content Manager</title>
</head>
<body>
  <script src="https://unpkg.com/decap-cms@^3.0.0/dist/decap-cms.js"></script>
</body>
</html>

admin/config.yml:

This is the main configuration file — it defines your content collections and fields.


backend:
  name: github
  repo: yourusername/your-repo-name
  branch: main

media_folder: "assets/images/uploads"
public_folder: "/assets/images/uploads"

collections:
  - name: "posts"
    label: "Blog Posts"
    folder: "_posts"
    create: true
    slug: "{{year}}-{{month}}-{{day}}-{{slug}}"
    fields:
      - { label: "Title", name: "title", widget: "string" }
      - { label: "Description", name: "description", widget: "string" }
      - { label: "Date", name: "date", widget: "datetime" }
      - { label: "Cover Image", name: "image", widget: "image", required: false }
      - { label: "Author", name: "author", widget: "string", required: false }
      - { label: "Category", name: "category", widget: "string", required: false }
      - label: "Tags"
        name: "tags"
        widget: "list"
        field: { label: "Tag", name: "tag", widget: "string" }
      - { label: "Featured", name: "featured", widget: "boolean", default: false }
      - { label: "Body", name: "body", widget: "markdown" }


Step 2: Set Up Authentication

Decap CMS needs a way to authenticate with GitHub. Choose one:

Option A: Netlify Identity (Easiest, Netlify only)

If your site is on Netlify:

  1. Enable Netlify Identity in your site’s Netlify dashboard → Identity → Enable
  2. Under Registration preferences, set to Invite only
  3. Under External providers, enable GitHub
  4. Add the Netlify Identity widget to your site:

In admin/index.html, add before </head>:

<script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>

Also add to your _layouts/default.html before </body>:

<script>
  if (window.netlifyIdentity) {
    window.netlifyIdentity.on("init", user => {
      if (!user) {
        window.netlifyIdentity.on("login", () => {
          document.location.href = "/admin/";
        });
      }
    });
  }
</script>
<script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>
  1. Invite users in Netlify → Identity → Invite users

Option B: GitHub OAuth App (Works on any host)

  1. Go to GitHub → Settings → Developer settings → OAuth Apps → New OAuth App
  2. Set:
    • Application name: Your Site CMS
    • Homepage URL: https://yourdomain.com
    • Authorization callback URL: https://api.netlify.com/auth/done
  3. Copy the Client ID and Client Secret
  4. In Netlify Dashboard → Site settings → Access control → OAuth → Install provider → GitHub → paste Client ID and Secret

Update admin/config.yml:

backend:
  name: github
  repo: yourusername/your-repo-name
  branch: main
  base_url: https://api.netlify.com
  auth_endpoint: auth

Step 3: Configure Your Collections

A collection maps to a folder of content files. Configure one for each content type you want editors to manage.

Posts Collection


- name: "posts"
  label: "Blog Posts"
  folder: "_posts"
  create: true
  slug: "{{year}}-{{month}}-{{day}}-{{slug}}"
  preview_path: "blog/{{slug}}"
  fields:
    - { label: "Layout", name: "layout", widget: "hidden", default: "post" }
    - { label: "Title", name: "title", widget: "string" }
    - { label: "Description", name: "description", widget: "string", hint: "150-160 characters for SEO" }
    - { label: "Publish Date", name: "date", widget: "datetime" }
    - { label: "Cover Image", name: "image", widget: "image", required: false }
    - label: "Category"
      name: "category"
      widget: "select"
      options: ["Tutorial", "Blog", "Themes", "SEO", "Comparison"]
    - label: "Tags"
      name: "tags"
      widget: "list"
    - { label: "Featured Post", name: "featured", widget: "boolean", default: false }
    - { label: "Body", name: "body", widget: "markdown" }

Pages Collection

- name: "pages"
  label: "Pages"
  files:
    - label: "About"
      name: "about"
      file: "_pages/about.md"
      fields:
        - { label: "Title", name: "title", widget: "string" }
        - { label: "Body", name: "body", widget: "markdown" }
    - label: "Contact"
      name: "contact"
      file: "_pages/contact.md"
      fields:
        - { label: "Title", name: "title", widget: "string" }
        - { label: "Body", name: "body", widget: "markdown" }

Themes Collection (for JekyllHub)


- name: "themes"
  label: "Themes"
  folder: "_themes"
  create: true
  slug: "{{slug}}"
  fields:
    - { label: "Title", name: "title", widget: "string" }
    - { label: "Description", name: "description", widget: "text" }
    - { label: "Demo URL", name: "demo_url", widget: "string" }
    - { label: "GitHub URL", name: "github_url", widget: "string" }
    - { label: "Stars", name: "stars", widget: "number" }
    - label: "Price Type"
      name: "price_type"
      widget: "select"
      options: ["free", "premium"]
    - { label: "Card Image", name: "card_image", widget: "image" }
    - { label: "Body", name: "body", widget: "markdown" }


Step 4: Add admin/ to Your Build

Make sure the admin/ folder is included in your Jekyll build. By default it is — Jekyll copies non-underscored folders to _site/.

If you have a .gitignore that excludes admin/, remove that exclusion.

Verify by running bundle exec jekyll build and checking that _site/admin/index.html exists.


Step 5: Exclude admin from Sitemap

You don’t want the admin panel showing up in your sitemap or search results:

# admin/index.html front matter (add front matter to the file)
---
sitemap: false
---

Or in _config.yml:

exclude:
  - admin/config.yml

Using the CMS

Once set up, your editors visit https://yourdomain.com/admin/ and log in with GitHub. They see a dashboard with all your configured collections.

Creating a post: Click the collection, click New Post, fill in the fields, write in the Markdown editor, click Publish. Decap CMS commits the file to your repository, triggering a rebuild.

Editing existing content: Browse the collection, click a file, edit, save.

Media uploads: Images drag-and-drop into the Markdown editor and are saved to your assets/images/uploads/ folder.


Editorial Workflow (Optional)

Enable draft/review workflow so posts go through approval before publishing:

# admin/config.yml
publish_mode: editorial_workflow

This adds a Kanban-style board with Drafts, In Review, and Ready columns. Content stays as a branch until approved, then merges to main.


Alternatives to Decap CMS

Tool Price Best for
Decap CMS Free Git-based, self-hosted
CloudCannon $45+/month Most polished Jekyll CMS
Forestry.io Free (limited) Simple visual editing
TinaCMS Free (limited) Real-time inline editing
Contentful Free (limited) API-first, enterprise

For most Jekyll sites, Decap CMS hits the right balance of features and cost (free). CloudCannon is worth it if you’re managing content for clients or a team.


Browse Jekyll themes on JekyllHub — all themes work with Decap CMS as the admin panel.

Share LinkedIn

<!DOCTYPE html>

How to Add Interactivity to Jekyll with Alpine.js | JekyllHub
Home Blog How to Add Interactivity to Jekyll with Alpine.js
Tutorial

How to Add Interactivity to Jekyll with Alpine.js

Alpine.js is a lightweight JavaScript framework perfect for Jekyll sites. Learn how to add dropdowns, tabs, modals, accordions, and more without a build step.

How to Add Interactivity to Jekyll with Alpine.js

Jekyll produces static HTML — no JavaScript framework, no reactive state, just pages. That is a feature, not a bug. But sometimes you need a little interactivity: a mobile menu toggle, a tab component, an accordion, a modal. Writing vanilla JavaScript for each one is repetitive. React is massive overkill.

Alpine.js is the perfect middle ground. It is a 15kb library that adds reactive behaviour directly in your HTML — no build step, no component files, no bundler required.

What is Alpine.js?

Alpine.js lets you add JavaScript behaviour to HTML elements using special attributes: x-data, x-show, x-bind, x-on, and a handful of others. If you know Tailwind CSS, Alpine has the same philosophy applied to JavaScript — declare behaviour in your markup.

<div x-data="{ open: false }">
  <button @click="open = !open">Toggle</button>
  <div x-show="open">I am visible when open is true</div>
</div>

That is it. No component files, no state management, no compilation.

Adding Alpine.js to Jekyll

Option 1: CDN (simplest)

Add Alpine via CDN in your _layouts/default.html before the closing </body>:

<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>

The defer attribute ensures Alpine loads after the DOM is ready. This is all you need for most use cases.

Option 2: npm install

If you already have a Node.js build pipeline:

npm install alpinejs

Then import in your JS entry point:

import Alpine from "alpinejs";
window.Alpine = Alpine;
Alpine.start();

Practical examples for Jekyll sites

Mobile navigation menu

The most common use case on any Jekyll site:

<nav x-data="{ mobileOpen: false }">
  <div class="navbar__inner">
    <a href="/" class="navbar__logo">JekyllHub</a>

    <!-- Desktop links -->
    <ul class="navbar__links">
      <li><a href="/themes/">Browse</a></li>
      <li><a href="/blog/">Blog</a></li>
    </ul>

    <!-- Mobile toggle -->
    <button @click="mobileOpen = !mobileOpen" :aria-expanded="mobileOpen">
      <span x-show="!mobileOpen"></span>
      <span x-show="mobileOpen"></span>
    </button>
  </div>

  <!-- Mobile menu -->
  <div x-show="mobileOpen" x-transition @click.away="mobileOpen = false">
    <ul>
      <li><a href="/themes/">Browse</a></li>
      <li><a href="/blog/">Blog</a></li>
    </ul>
  </div>
</nav>

FAQ accordion

<div class="faq" x-data="{ active: null }">
  {% for item in site.data.faq %}
  <div class="faq-item">
    <button
      class="faq-question"
      @click="active = active === {{ forloop.index }} ? null : {{ forloop.index }}"
      :aria-expanded="active === {{ forloop.index }}"
    >
      {{ item.question }}
      <span x-text="active === {{ forloop.index }} ? '−' : '+'"></span>
    </button>
    <div
      class="faq-answer"
      x-show="active === {{ forloop.index }}"
      x-transition
    >
      {{ item.answer }}
    </div>
  </div>
  {% endfor %}
</div>

Tab component

<div x-data="{ tab: 'themes' }">
  <!-- Tab buttons -->
  <div class="tabs">
    <button
      @click="tab = 'themes'"
      :class="tab === 'themes' ? 'tab--active' : ''"
    >Themes</button>
    <button
      @click="tab = 'posts'"
      :class="tab === 'posts' ? 'tab--active' : ''"
    >Posts</button>
  </div>

  <!-- Tab panels -->
  <div x-show="tab === 'themes'">
    <!-- themes content -->
  </div>
  <div x-show="tab === 'posts'">
    <!-- posts content -->
  </div>
</div>
<div x-data="{ open: false, image: '' }">
  <!-- Trigger buttons on theme cards -->
  {% for theme in site.themes %}
  <button
    @click="open = true; image = '{{ theme.card_image | relative_url }}'"
  >
    <img src="{{ theme.card_image | relative_url }}" alt="{{ theme.title }}">
  </button>
  {% endfor %}

  <!-- Modal overlay -->
  <div
    x-show="open"
    x-transition
    @click="open = false"
    @keydown.escape.window="open = false"
    class="modal-overlay"
  >
    <div @click.stop class="modal-panel">
      <button @click="open = false" class="modal-close"></button>
      <img :src="image" class="modal-image">
    </div>
  </div>
</div>

Dark mode toggle

<button
  x-data
  @click="
    document.documentElement.classList.toggle('dark');
    localStorage.setItem('theme',
      document.documentElement.classList.contains('dark') ? 'dark' : 'light'
    )
  "
  aria-label="Toggle dark mode"
>
  🌙
</button>

On page load, restore the saved preference:

<script>
  if (localStorage.theme === 'dark' ||
      (!localStorage.theme && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
    document.documentElement.classList.add('dark');
  }
</script>

Search input filter

Filter a list of items client-side without a full search library:

<div x-data="{ query: '' }">
  <input
    x-model="query"
    type="search"
    placeholder="Filter themes..."
    class="search-input"
  >

  <div class="theme-grid">
    {% for theme in site.themes %}
    <div
      class="theme-card"
      x-show="'{{ theme.title | downcase }}'.includes(query.toLowerCase())"
    >
      <h3>{{ theme.title }}</h3>
    </div>
    {% endfor %}
  </div>
</div>

Alpine.js directives reference

Directive What it does
x-data Defines a reactive data scope
x-show Toggles element visibility
x-if Conditionally renders element (removes from DOM)
x-for Loops over an array
x-model Two-way data binding on inputs
x-text Sets element text content
x-html Sets inner HTML
x-bind or : Binds an attribute to a value
x-on or @ Attaches event listeners
x-transition Adds enter/leave CSS transitions
x-ref Gives an element a reference
x-cloak Hides element until Alpine initialises

Preventing flash of Alpine markup

Before Alpine initialises, x-show elements may flash visible. Prevent this with x-cloak:

<style>[x-cloak] { display: none !important; }</style>

<div x-data="{ open: false }" x-cloak>
  <div x-show="open">Hidden until Alpine loads</div>
</div>

Alpine.js vs vanilla JavaScript for Jekyll

For simple toggles and one-off interactions, vanilla JS is fine. Alpine becomes valuable when you have multiple interactive components that would otherwise require repetitive vanilla JS — menus, accordions, tabs, modals, filters. Alpine makes each one a few lines of HTML rather than a script block.

The 15kb cost is worth paying when you have three or more interactive components. If you only need one toggle on your entire site, a three-line vanilla JS function is lighter.

Alpine and Jekyll together give you the interactivity of a framework site with the speed and simplicity of a static one.

Share LinkedIn

<!DOCTYPE html>

How to Use Tailwind CSS with Jekyll (2026 Guide) | JekyllHub
Home Blog How to Use Tailwind CSS with Jekyll (2026 Guide)
Tutorial

How to Use Tailwind CSS with Jekyll (2026 Guide)

A step-by-step guide to setting up Tailwind CSS v4 with Jekyll — installation, PostCSS config, purging unused styles, and a working example.

How to Use Tailwind CSS with Jekyll (2026 Guide)

Tailwind CSS and Jekyll are a natural combination — Tailwind’s utility-first approach works beautifully in Liquid templates, and the purging process eliminates unused classes for a tiny final CSS bundle. Here is how to set it up properly in 2026.

Prerequisites

You need Node.js installed alongside Ruby and Jekyll. Check both are available:

node --version   # v18 or higher recommended
ruby --version   # 3.1 or higher
jekyll --version # 4.x

This approach integrates Tailwind into Jekyll’s asset pipeline via PostCSS.

Step 1: Initialise npm in your Jekyll project

cd your-jekyll-site
npm init -y

Step 2: Install Tailwind and PostCSS

npm install -D tailwindcss @tailwindcss/postcss postcss autoprefixer

Step 3: Initialise Tailwind

npx tailwindcss init

This creates tailwind.config.js in your project root.

Step 4: Configure Tailwind content paths

Edit tailwind.config.js to scan your Jekyll template files:

/** @type {import("tailwindcss").Config} */
module.exports = {
  content: [
    "./_includes/**/*.html",
    "./_layouts/**/*.html",
    "./_pages/**/*.html",
    "./_posts/**/*.md",
    "./*.html",
  ],
  theme: {
    extend: {},
  },
  plugins: [],
};

Step 5: Create a PostCSS config

Create postcss.config.js in your project root:

module.exports = {
  plugins: {
    "@tailwindcss/postcss": {},
    autoprefixer: {},
  },
};

Step 6: Create your Tailwind input CSS

Create assets/css/tailwind.css:

@import "tailwindcss";

Step 7: Add a build script to package.json

{
  "scripts": {
    "build:css": "postcss assets/css/tailwind.css -o assets/css/main.css",
    "watch:css": "postcss assets/css/tailwind.css -o assets/css/main.css --watch",
    "dev": "npm run watch:css & bundle exec jekyll serve",
    "build": "npm run build:css && JEKYLL_ENV=production bundle exec jekyll build"
  }
}

In _layouts/default.html, replace your existing CSS link:

<link rel="stylesheet" href="/assets/css/main.css">

Step 9: Add compiled CSS to .gitignore (optional)

echo "assets/css/main.css" >> .gitignore

Add it to your git history if you prefer to commit the compiled output for simpler CI/CD.

Step 10: Run the development server

npm run dev

This runs Tailwind in watch mode alongside jekyll serve. Changes to your HTML templates trigger Tailwind to recompile; changes to your Markdown content trigger Jekyll to rebuild.

Method 2: Tailwind CDN (quick start, not for production)

For rapid prototyping, the Tailwind Play CDN works immediately with no build step:

<script src="https://cdn.tailwindcss.com"></script>

Add this to your <head>. This is only for development and prototyping — the CDN loads the full unoptimised Tailwind bundle (~3MB). Never use it in production.

Using Tailwind in Liquid templates

With Tailwind set up, you can use utility classes directly in your layouts and includes:

<!-- _layouts/default.html -->
<nav class="sticky top-0 z-50 bg-white border-b border-gray-100 shadow-sm">
  <div class="max-w-6xl mx-auto px-4 flex items-center justify-between h-16">
    <a href="/" class="text-xl font-bold text-blue-600">JekyllHub</a>
    <ul class="flex gap-6">
      <li><a href="/themes/" class="text-gray-600 hover:text-blue-600 transition-colors">Browse</a></li>
      <li><a href="/blog/" class="text-gray-600 hover:text-blue-600 transition-colors">Blog</a></li>
    </ul>
  </div>
</nav>
<!-- _layouts/post.html -->
<article class="max-w-2xl mx-auto px-4 py-16">
  <h1 class="text-4xl font-bold tracking-tight text-gray-900 mb-4">
    How to Use Tailwind CSS with Jekyll (2026 Guide)
  </h1>
  <div class="prose prose-lg text-gray-700">
    <div class="read-progress" id="read-progress"></div>

<article class="post" itemscope itemtype="https://schema.org/BlogPosting">

  <header class="post-hero">
    <div class="container">
      <div class="post-hero__breadcrumb">
        <a href="/">Home</a>
        <span class="breadcrumb-sep"></span>
        <a href="/blog/">Blog</a>
        <span class="breadcrumb-sep"></span>
        <span>Jekyll vs Webflow: Which Is Right for Your Website in 2026?</span>
      </div>

      <div class="post-hero__inner">
        
        <span class="post-hero__cat">Comparison</span>
        

        <h1 class="post-hero__title" itemprop="name">Jekyll vs Webflow: Which Is Right for Your Website in 2026?</h1>

        
        <p class="post-hero__desc" itemprop="description">Jekyll and Webflow are both used to build beautiful, fast websites — but they work completely differently. Here is how to choose between them.</p>
        

        <div class="post-hero__meta">
          <span class="post-meta-item">
            <svg width="15" height="15" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg>
            Updated <time itemprop="dateModified" datetime="2026-07-15T00:00:00+00:00">July 15, 2026</time>
          </span>

          <span class="post-meta-item">
            <svg width="15" height="15" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/></svg>
            5 min read
          </span>
        </div>
      </div>
    </div>
  </header>

  
  <div class="post-cover">
    <div class="container">
      <img src="/assets/images/blog/jekyll-vs-webflow.webp" alt="Jekyll vs Webflow: Which Is Right for Your Website in 2026?" class="post-cover__img" itemprop="image">
    </div>
  </div>
  

  <div class="container">
    <div class="post-body">
      <div class="post-body__main">
        
        <div class="post-toc" id="post-toc" data-collapsed="false" style="display:none">
          <button class="post-toc__label" id="toc-toggle" aria-expanded="false" aria-controls="toc-body">
            <span class="post-toc__label-left">
              <svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 10h16M4 14h10"/></svg>
              Table of Contents
            </span>
            <svg class="post-toc__chevron" width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/></svg>
          </button>
          <nav id="toc-body" class="toc"></nav>
        </div>
        

        <div class="prose" itemprop="articleBody">
          <p>Jekyll and Webflow represent two very different approaches to building websites. Jekyll is a code-first static site generator. Webflow is a visual design tool that generates clean HTML and CSS without writing code. Both produce fast, beautifully designed websites — but the path to get there is completely different.</p>

<h2 id="what-each-tool-is">What each tool is</h2>

<p><strong>Jekyll</strong> is a static site generator you run on your computer. You write Markdown for content, HTML and Liquid for templates, and SCSS for styles. The output is a folder of static files you deploy to any host.</p>

<p><strong>Webflow</strong> is a visual web design platform — you design in a browser-based editor similar to Figma or Adobe XD, and Webflow generates the HTML, CSS, and JavaScript. You host on Webflow’s infrastructure or export the code.</p>

<h2 id="who-each-tool-is-for">Who each tool is for</h2>

<p>Jekyll is for developers and technical users. You need to be comfortable with the command line, text editors, Git, and markup languages. A non-technical person can learn it, but it takes time.</p>

<p>Webflow is for designers and non-developers. Its visual canvas is intuitive for anyone who has used a design tool. You can build a production-quality website without writing a single line of code.</p>

<h2 id="cost-comparison">Cost comparison</h2>

<table>
  <thead>
    <tr>
      <th>Plan</th>
      <th>Jekyll</th>
      <th>Webflow</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Hosting</td>
      <td>Free (GitHub Pages/Cloudflare)</td>
      <td>$14–$39+/month</td>
    </tr>
    <tr>
      <td>CMS (managed content)</td>
      <td>Free</td>
      <td>Included in Business plan</td>
    </tr>
    <tr>
      <td>E-commerce</td>
      <td>Free (+ transaction fees)</td>
      <td>$29–$212/month</td>
    </tr>
    <tr>
      <td>Custom code</td>
      <td>Full access</td>
      <td>Paid plans</td>
    </tr>
    <tr>
      <td>Team collaboration</td>
      <td>Git (free)</td>
      <td>$19–$49/seat/month</td>
    </tr>
  </tbody>
</table>

<p>Jekyll can be hosted for free indefinitely. Webflow’s site plans start at $14/month and scale up. For a developer, Jekyll is dramatically cheaper. For a non-developer who would otherwise hire a developer, Webflow’s cost may be justified.</p>

<h2 id="design-flexibility">Design flexibility</h2>

<p>Webflow gives you pixel-perfect control over layout and design through its visual canvas. Animations, interactions, and responsive breakpoints are set visually. What you see in the editor is almost exactly what you get in the browser.</p>

<p>Jekyll gives you total control through code — but you need to write it. You can build anything in Jekyll that you can build in HTML and CSS, but there is no visual editor. Design changes happen in a text file.</p>

<p><strong>For designers:</strong> Webflow.<br />
<strong>For developers:</strong> Jekyll.</p>

<h2 id="content-management">Content management</h2>

<p>Webflow has a built-in CMS with a visual editor for non-technical content editors. You define content types (blog posts, team members, products), your editors fill them in through the dashboard, and Webflow builds the pages.</p>

<p>Jekyll stores content as Markdown files in a repository. Non-technical editors can use a headless CMS like Decap CMS or Forestry.io that provides a dashboard in front of the Git repository — but it requires setup.</p>

<p><strong>Winner for non-technical content editing:</strong> Webflow.</p>

<h2 id="performance">Performance</h2>

<p>Both platforms produce fast websites. Jekyll outputs pure static HTML with no server-side processing. Webflow adds some of its own JavaScript for interactions and the Webflow hosting infrastructure uses a global CDN.</p>

<p>In practice, both score 90+ on Google Lighthouse. Jekyll has a slight edge for minimal sites because it ships zero framework JavaScript. Webflow sites with complex animations can become heavy.</p>

<h2 id="ownership-and-portability">Ownership and portability</h2>

<p>Jekyll content is Markdown files on your computer. You own them completely, can move hosts at any time, and are not dependent on any platform.</p>

<p>Webflow is more of a platform lock-in. You can export the static HTML/CSS, but the CMS content and dynamic features do not export cleanly. Moving away from Webflow means rebuilding your content structure.</p>

<p><strong>Winner for ownership:</strong> Jekyll.</p>

<h2 id="when-to-choose-jekyll">When to choose Jekyll</h2>

<ul>
  <li>You are a developer or willing to learn basic web technologies</li>
  <li>Cost is a primary concern (free vs $14+/month)</li>
  <li>You want complete ownership of your code and content</li>
  <li>You have a blog or documentation site that does not need complex animations</li>
  <li>You want to host on GitHub Pages for free</li>
</ul>

<h2 id="when-to-choose-webflow">When to choose Webflow</h2>

<ul>
  <li>You are a designer who does not code</li>
  <li>You need to build and iterate on complex, animated layouts quickly</li>
  <li>Your client or team needs a visual CMS without a developer in the loop</li>
  <li>You are building a marketing site that needs frequent design changes</li>
  <li>Budget is less of a concern than speed of design iteration</li>
</ul>

<h2 id="the-middle-ground">The middle ground</h2>

<p>Some teams use Webflow for design exploration and Jekyll for production — Webflow to prototype quickly, then port the design to Jekyll for long-term control and free hosting. This is more work upfront but pays off for sites that need to last years.</p>

<p>If you are a developer who values control and low cost, Jekyll is the right choice. If you are a designer who wants to ship beautiful sites without touching code, Webflow earns its price tag.</p>

<p>Browse <a href="/themes/">Jekyll themes on JekyllHub</a> to see what is achievable without Webflow.</p>

        </div>

        
        <div class="post-tags">
          
        </div>
        

        <div class="post-share">
          <span class="post-share__label">Share</span>
          <a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fjekyllhub.com%2Fcomparison%2F2026%2F06%2F01%2Fjekyll-vs-webflow%2F&text=Jekyll+vs+Webflow%3A+Which+Is+Right+for+Your+Website+in+2026%3F" target="_blank" rel="noopener" class="post-share__btn post-share__btn--twitter">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
            X / Twitter
          </a>
          <a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fjekyllhub.com%2Fcomparison%2F2026%2F06%2F01%2Fjekyll-vs-webflow%2F&title=Jekyll+vs+Webflow%3A+Which+Is+Right+for+Your+Website+in+2026%3F" target="_blank" rel="noopener" class="post-share__btn post-share__btn--linkedin">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
            LinkedIn
          </a>
          <button class="post-share__btn post-share__btn--copy" onclick="JekyllHub.copyPostLink(this)">
            <svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"/></svg>
            <span>Copy Link</span>
          </button>
        </div>

        

        <nav class="post-nav" aria-label="Post navigation">
          <div class="post-nav__prev">
            
            <a href="/comparison/2026/05/31/jekyll-vs-ghost/" class="post-nav__link">
              <span class="post-nav__label">← Previous</span>
              <span class="post-nav__title">Jekyll vs Ghost: Which Platform Is Right for Your Blog in 2026?</span>
            </a>
            
          </div>
          <div class="post-nav__center">
            <a href="/blog/" class="btn btn--secondary btn--sm">All Posts</a>
          </div>
          <div class="post-nav__next">
            
            <a href="/tutorial/2026/06/02/jekyll-tailwind-css/" class="post-nav__link post-nav__link--next">
              <span class="post-nav__label">Next →</span>
              <span class="post-nav__title">How to Use Tailwind CSS with Jekyll (2026 Guide)</span>
            </a>
            
          </div>
        </nav>
      </div>

      <aside class="post-body__sidebar">
        <div class="sidebar-card">
          <h3 class="sidebar-card__title">Browse Themes</h3>
          <ul class="post-sidebar__links">
            
            <li><a href="/jekyll-academic-themes/">🎓 Academic Themes</a></li>
            
            <li><a href="/jekyll-blog-themes/">✍️ Blog Themes</a></li>
            
            <li><a href="/jekyll-business-themes/">💼 Business Themes</a></li>
            
            <li><a href="/jekyll-documentation-themes/">📚 Documentation Themes</a></li>
            
            <li><a href="/jekyll-e-commerce-themes/">🛒 E-commerce Themes</a></li>
            
            <li><a href="/jekyll-landing-page-themes/">🚀 Landing Page Themes</a></li>
            
            <li><a href="/jekyll-personal-themes/">👤 Personal Themes</a></li>
            
            <li><a href="/jekyll-portfolio-themes/">🎨 Portfolio Themes</a></li>
            
            <li><a href="/jekyll-resume-cv-themes/">📄 Resume/CV Themes</a></li>
            
            <li><a href="/jekyll-github-pages-themes/"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" style="display:inline;vertical-align:middle;margin-right:4px"><path d="M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>GitHub Pages Themes</a></li>
          </ul>
          <a href="/themes/" class="btn btn--primary btn--full" style="margin-top:var(--space-5)">Browse All Themes →</a>
        </div>

        <div class="sidebar-card" style="margin-top:var(--space-6)">
          <h3 class="sidebar-card__title">Submit Your Theme</h3>
          <p style="font-size:0.875rem;color:var(--text-3);line-height:1.6;margin-bottom:var(--space-4)">Built a Jekyll theme? Share it with thousands of developers.</p>
          <a href="/submit/" class="btn btn--secondary btn--full">Submit a Theme →</a>
        </div>
      </aside>
    </div>
  </div>

  <!-- Related Themes — rendered by JS from SITE_DATA, shuffled per page load -->

  

  
  <section class="post-related-themes" style="display:none">
    <div class="container">
      <h2 class="post-related-themes__title">Themes You Might Like</h2>
      <div class="themes-grid themes-grid--4" id="post-related-themes-grid"
           data-tags="[]"
           data-related-category="Blog"></div>
    </div>
  </section>
  

</article>

<!-- Back to top -->
<button class="back-to-top" id="back-to-top" aria-label="Back to top" onclick="window.scrollTo({top:0,behavior:'smooth'})">
  <svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M5 15l7-7 7 7"/>
  </svg>
</button>
<script src="/assets/js/post.js" defer></script>

  </div>
</article>

Adding the Tailwind Typography plugin

The @tailwindcss/typography plugin adds beautiful prose styling for Markdown-rendered content — exactly what you need for blog posts:

npm install -D @tailwindcss/typography

In tailwind.config.js:

module.exports = {
  // ...
  plugins: [
    require("@tailwindcss/typography"),
  ],
};

Then wrap your post content in a prose class:

<div class="prose prose-lg prose-blue max-w-none">
  <div class="read-progress" id="read-progress"></div>

<article class="post" itemscope itemtype="https://schema.org/BlogPosting">

  <header class="post-hero">
    <div class="container">
      <div class="post-hero__breadcrumb">
        <a href="/">Home</a>
        <span class="breadcrumb-sep"></span>
        <a href="/blog/">Blog</a>
        <span class="breadcrumb-sep"></span>
        <span>Jekyll vs Webflow: Which Is Right for Your Website in 2026?</span>
      </div>

      <div class="post-hero__inner">
        
        <span class="post-hero__cat">Comparison</span>
        

        <h1 class="post-hero__title" itemprop="name">Jekyll vs Webflow: Which Is Right for Your Website in 2026?</h1>

        
        <p class="post-hero__desc" itemprop="description">Jekyll and Webflow are both used to build beautiful, fast websites — but they work completely differently. Here is how to choose between them.</p>
        

        <div class="post-hero__meta">
          <span class="post-meta-item">
            <svg width="15" height="15" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg>
            Updated <time itemprop="dateModified" datetime="2026-07-15T00:00:00+00:00">July 15, 2026</time>
          </span>

          <span class="post-meta-item">
            <svg width="15" height="15" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/></svg>
            5 min read
          </span>
        </div>
      </div>
    </div>
  </header>

  
  <div class="post-cover">
    <div class="container">
      <img src="/assets/images/blog/jekyll-vs-webflow.webp" alt="Jekyll vs Webflow: Which Is Right for Your Website in 2026?" class="post-cover__img" itemprop="image">
    </div>
  </div>
  

  <div class="container">
    <div class="post-body">
      <div class="post-body__main">
        
        <div class="post-toc" id="post-toc" data-collapsed="false" style="display:none">
          <button class="post-toc__label" id="toc-toggle" aria-expanded="false" aria-controls="toc-body">
            <span class="post-toc__label-left">
              <svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 10h16M4 14h10"/></svg>
              Table of Contents
            </span>
            <svg class="post-toc__chevron" width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/></svg>
          </button>
          <nav id="toc-body" class="toc"></nav>
        </div>
        

        <div class="prose" itemprop="articleBody">
          <p>Jekyll and Webflow represent two very different approaches to building websites. Jekyll is a code-first static site generator. Webflow is a visual design tool that generates clean HTML and CSS without writing code. Both produce fast, beautifully designed websites — but the path to get there is completely different.</p>

<h2 id="what-each-tool-is">What each tool is</h2>

<p><strong>Jekyll</strong> is a static site generator you run on your computer. You write Markdown for content, HTML and Liquid for templates, and SCSS for styles. The output is a folder of static files you deploy to any host.</p>

<p><strong>Webflow</strong> is a visual web design platform — you design in a browser-based editor similar to Figma or Adobe XD, and Webflow generates the HTML, CSS, and JavaScript. You host on Webflow’s infrastructure or export the code.</p>

<h2 id="who-each-tool-is-for">Who each tool is for</h2>

<p>Jekyll is for developers and technical users. You need to be comfortable with the command line, text editors, Git, and markup languages. A non-technical person can learn it, but it takes time.</p>

<p>Webflow is for designers and non-developers. Its visual canvas is intuitive for anyone who has used a design tool. You can build a production-quality website without writing a single line of code.</p>

<h2 id="cost-comparison">Cost comparison</h2>

<table>
  <thead>
    <tr>
      <th>Plan</th>
      <th>Jekyll</th>
      <th>Webflow</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Hosting</td>
      <td>Free (GitHub Pages/Cloudflare)</td>
      <td>$14–$39+/month</td>
    </tr>
    <tr>
      <td>CMS (managed content)</td>
      <td>Free</td>
      <td>Included in Business plan</td>
    </tr>
    <tr>
      <td>E-commerce</td>
      <td>Free (+ transaction fees)</td>
      <td>$29–$212/month</td>
    </tr>
    <tr>
      <td>Custom code</td>
      <td>Full access</td>
      <td>Paid plans</td>
    </tr>
    <tr>
      <td>Team collaboration</td>
      <td>Git (free)</td>
      <td>$19–$49/seat/month</td>
    </tr>
  </tbody>
</table>

<p>Jekyll can be hosted for free indefinitely. Webflow’s site plans start at $14/month and scale up. For a developer, Jekyll is dramatically cheaper. For a non-developer who would otherwise hire a developer, Webflow’s cost may be justified.</p>

<h2 id="design-flexibility">Design flexibility</h2>

<p>Webflow gives you pixel-perfect control over layout and design through its visual canvas. Animations, interactions, and responsive breakpoints are set visually. What you see in the editor is almost exactly what you get in the browser.</p>

<p>Jekyll gives you total control through code — but you need to write it. You can build anything in Jekyll that you can build in HTML and CSS, but there is no visual editor. Design changes happen in a text file.</p>

<p><strong>For designers:</strong> Webflow.<br />
<strong>For developers:</strong> Jekyll.</p>

<h2 id="content-management">Content management</h2>

<p>Webflow has a built-in CMS with a visual editor for non-technical content editors. You define content types (blog posts, team members, products), your editors fill them in through the dashboard, and Webflow builds the pages.</p>

<p>Jekyll stores content as Markdown files in a repository. Non-technical editors can use a headless CMS like Decap CMS or Forestry.io that provides a dashboard in front of the Git repository — but it requires setup.</p>

<p><strong>Winner for non-technical content editing:</strong> Webflow.</p>

<h2 id="performance">Performance</h2>

<p>Both platforms produce fast websites. Jekyll outputs pure static HTML with no server-side processing. Webflow adds some of its own JavaScript for interactions and the Webflow hosting infrastructure uses a global CDN.</p>

<p>In practice, both score 90+ on Google Lighthouse. Jekyll has a slight edge for minimal sites because it ships zero framework JavaScript. Webflow sites with complex animations can become heavy.</p>

<h2 id="ownership-and-portability">Ownership and portability</h2>

<p>Jekyll content is Markdown files on your computer. You own them completely, can move hosts at any time, and are not dependent on any platform.</p>

<p>Webflow is more of a platform lock-in. You can export the static HTML/CSS, but the CMS content and dynamic features do not export cleanly. Moving away from Webflow means rebuilding your content structure.</p>

<p><strong>Winner for ownership:</strong> Jekyll.</p>

<h2 id="when-to-choose-jekyll">When to choose Jekyll</h2>

<ul>
  <li>You are a developer or willing to learn basic web technologies</li>
  <li>Cost is a primary concern (free vs $14+/month)</li>
  <li>You want complete ownership of your code and content</li>
  <li>You have a blog or documentation site that does not need complex animations</li>
  <li>You want to host on GitHub Pages for free</li>
</ul>

<h2 id="when-to-choose-webflow">When to choose Webflow</h2>

<ul>
  <li>You are a designer who does not code</li>
  <li>You need to build and iterate on complex, animated layouts quickly</li>
  <li>Your client or team needs a visual CMS without a developer in the loop</li>
  <li>You are building a marketing site that needs frequent design changes</li>
  <li>Budget is less of a concern than speed of design iteration</li>
</ul>

<h2 id="the-middle-ground">The middle ground</h2>

<p>Some teams use Webflow for design exploration and Jekyll for production — Webflow to prototype quickly, then port the design to Jekyll for long-term control and free hosting. This is more work upfront but pays off for sites that need to last years.</p>

<p>If you are a developer who values control and low cost, Jekyll is the right choice. If you are a designer who wants to ship beautiful sites without touching code, Webflow earns its price tag.</p>

<p>Browse <a href="/themes/">Jekyll themes on JekyllHub</a> to see what is achievable without Webflow.</p>

        </div>

        
        <div class="post-tags">
          
        </div>
        

        <div class="post-share">
          <span class="post-share__label">Share</span>
          <a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fjekyllhub.com%2Fcomparison%2F2026%2F06%2F01%2Fjekyll-vs-webflow%2F&text=Jekyll+vs+Webflow%3A+Which+Is+Right+for+Your+Website+in+2026%3F" target="_blank" rel="noopener" class="post-share__btn post-share__btn--twitter">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
            X / Twitter
          </a>
          <a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fjekyllhub.com%2Fcomparison%2F2026%2F06%2F01%2Fjekyll-vs-webflow%2F&title=Jekyll+vs+Webflow%3A+Which+Is+Right+for+Your+Website+in+2026%3F" target="_blank" rel="noopener" class="post-share__btn post-share__btn--linkedin">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
            LinkedIn
          </a>
          <button class="post-share__btn post-share__btn--copy" onclick="JekyllHub.copyPostLink(this)">
            <svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"/></svg>
            <span>Copy Link</span>
          </button>
        </div>

        

        <nav class="post-nav" aria-label="Post navigation">
          <div class="post-nav__prev">
            
            <a href="/comparison/2026/05/31/jekyll-vs-ghost/" class="post-nav__link">
              <span class="post-nav__label">← Previous</span>
              <span class="post-nav__title">Jekyll vs Ghost: Which Platform Is Right for Your Blog in 2026?</span>
            </a>
            
          </div>
          <div class="post-nav__center">
            <a href="/blog/" class="btn btn--secondary btn--sm">All Posts</a>
          </div>
          <div class="post-nav__next">
            
            <a href="/tutorial/2026/06/02/jekyll-tailwind-css/" class="post-nav__link post-nav__link--next">
              <span class="post-nav__label">Next →</span>
              <span class="post-nav__title">How to Use Tailwind CSS with Jekyll (2026 Guide)</span>
            </a>
            
          </div>
        </nav>
      </div>

      <aside class="post-body__sidebar">
        <div class="sidebar-card">
          <h3 class="sidebar-card__title">Browse Themes</h3>
          <ul class="post-sidebar__links">
            
            <li><a href="/jekyll-academic-themes/">🎓 Academic Themes</a></li>
            
            <li><a href="/jekyll-blog-themes/">✍️ Blog Themes</a></li>
            
            <li><a href="/jekyll-business-themes/">💼 Business Themes</a></li>
            
            <li><a href="/jekyll-documentation-themes/">📚 Documentation Themes</a></li>
            
            <li><a href="/jekyll-e-commerce-themes/">🛒 E-commerce Themes</a></li>
            
            <li><a href="/jekyll-landing-page-themes/">🚀 Landing Page Themes</a></li>
            
            <li><a href="/jekyll-personal-themes/">👤 Personal Themes</a></li>
            
            <li><a href="/jekyll-portfolio-themes/">🎨 Portfolio Themes</a></li>
            
            <li><a href="/jekyll-resume-cv-themes/">📄 Resume/CV Themes</a></li>
            
            <li><a href="/jekyll-github-pages-themes/"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" style="display:inline;vertical-align:middle;margin-right:4px"><path d="M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>GitHub Pages Themes</a></li>
          </ul>
          <a href="/themes/" class="btn btn--primary btn--full" style="margin-top:var(--space-5)">Browse All Themes →</a>
        </div>

        <div class="sidebar-card" style="margin-top:var(--space-6)">
          <h3 class="sidebar-card__title">Submit Your Theme</h3>
          <p style="font-size:0.875rem;color:var(--text-3);line-height:1.6;margin-bottom:var(--space-4)">Built a Jekyll theme? Share it with thousands of developers.</p>
          <a href="/submit/" class="btn btn--secondary btn--full">Submit a Theme →</a>
        </div>
      </aside>
    </div>
  </div>

  <!-- Related Themes — rendered by JS from SITE_DATA, shuffled per page load -->

  

  
  <section class="post-related-themes" style="display:none">
    <div class="container">
      <h2 class="post-related-themes__title">Themes You Might Like</h2>
      <div class="themes-grid themes-grid--4" id="post-related-themes-grid"
           data-tags="[]"
           data-related-category="Blog"></div>
    </div>
  </section>
  

</article>

<!-- Back to top -->
<button class="back-to-top" id="back-to-top" aria-label="Back to top" onclick="window.scrollTo({top:0,behavior:'smooth'})">
  <svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M5 15l7-7 7 7"/>
  </svg>
</button>
<script src="/assets/js/post.js" defer></script>

</div>

This automatically styles headings, paragraphs, code blocks, blockquotes, lists, and tables in rendered Markdown without any additional CSS.

Dark mode with Tailwind

Enable dark mode in tailwind.config.js:

module.exports = {
  darkMode: "class",
  // ...
};

Then your Jekyll dark mode toggle (which adds a dark class to <html>) works automatically with Tailwind’s dark: variants:

<div class="bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100">
  Content
</div>

Production build

For production, run:

npm run build

Tailwind scans all your template files, keeps only the utility classes you actually use, and outputs a tiny CSS file — often under 20kb for a standard site.

Common pitfalls

Dynamic class names not included: Tailwind scans for class names as strings. If you build class names dynamically in Liquid, Tailwind will not detect them:


{# This will NOT work — Tailwind cannot detect dynamic class names #}
<div class="text-{{ page.color }}-600">...</div>

{# Use conditional logic instead #}
{% if page.color == "blue" %}
<div class="text-blue-600">...</div>
{% elsif page.color == "red" %}
<div class="text-red-600">...</div>
{% endif %}

Forgetting to rebuild CSS: When running without the watch script, remember to rebuild CSS after changing templates or adding new Tailwind classes. The dev script handles this automatically.

Tailwind and Jekyll together give you a modern, utility-first CSS workflow with all the simplicity of a static site. Once the setup is in place, building layouts is fast and the output is lean.

Share LinkedIn

<!DOCTYPE html>

Jekyll vs Webflow: Which Is Right for Your Website in 2026? | JekyllHub
Home Blog Jekyll vs Webflow: Which Is Right for Your Website in 2026?
Comparison

Jekyll vs Webflow: Which Is Right for Your Website in 2026?

Jekyll and Webflow are both used to build beautiful, fast websites — but they work completely differently. Here is how to choose between them.

Jekyll vs Webflow: Which Is Right for Your Website in 2026?

Jekyll and Webflow represent two very different approaches to building websites. Jekyll is a code-first static site generator. Webflow is a visual design tool that generates clean HTML and CSS without writing code. Both produce fast, beautifully designed websites — but the path to get there is completely different.

What each tool is

Jekyll is a static site generator you run on your computer. You write Markdown for content, HTML and Liquid for templates, and SCSS for styles. The output is a folder of static files you deploy to any host.

Webflow is a visual web design platform — you design in a browser-based editor similar to Figma or Adobe XD, and Webflow generates the HTML, CSS, and JavaScript. You host on Webflow’s infrastructure or export the code.

Who each tool is for

Jekyll is for developers and technical users. You need to be comfortable with the command line, text editors, Git, and markup languages. A non-technical person can learn it, but it takes time.

Webflow is for designers and non-developers. Its visual canvas is intuitive for anyone who has used a design tool. You can build a production-quality website without writing a single line of code.

Cost comparison

Plan Jekyll Webflow
Hosting Free (GitHub Pages/Cloudflare) $14–$39+/month
CMS (managed content) Free Included in Business plan
E-commerce Free (+ transaction fees) $29–$212/month
Custom code Full access Paid plans
Team collaboration Git (free) $19–$49/seat/month

Jekyll can be hosted for free indefinitely. Webflow’s site plans start at $14/month and scale up. For a developer, Jekyll is dramatically cheaper. For a non-developer who would otherwise hire a developer, Webflow’s cost may be justified.

Design flexibility

Webflow gives you pixel-perfect control over layout and design through its visual canvas. Animations, interactions, and responsive breakpoints are set visually. What you see in the editor is almost exactly what you get in the browser.

Jekyll gives you total control through code — but you need to write it. You can build anything in Jekyll that you can build in HTML and CSS, but there is no visual editor. Design changes happen in a text file.

For designers: Webflow.
For developers: Jekyll.

Content management

Webflow has a built-in CMS with a visual editor for non-technical content editors. You define content types (blog posts, team members, products), your editors fill them in through the dashboard, and Webflow builds the pages.

Jekyll stores content as Markdown files in a repository. Non-technical editors can use a headless CMS like Decap CMS or Forestry.io that provides a dashboard in front of the Git repository — but it requires setup.

Winner for non-technical content editing: Webflow.

Performance

Both platforms produce fast websites. Jekyll outputs pure static HTML with no server-side processing. Webflow adds some of its own JavaScript for interactions and the Webflow hosting infrastructure uses a global CDN.

In practice, both score 90+ on Google Lighthouse. Jekyll has a slight edge for minimal sites because it ships zero framework JavaScript. Webflow sites with complex animations can become heavy.

Ownership and portability

Jekyll content is Markdown files on your computer. You own them completely, can move hosts at any time, and are not dependent on any platform.

Webflow is more of a platform lock-in. You can export the static HTML/CSS, but the CMS content and dynamic features do not export cleanly. Moving away from Webflow means rebuilding your content structure.

Winner for ownership: Jekyll.

When to choose Jekyll

  • You are a developer or willing to learn basic web technologies
  • Cost is a primary concern (free vs $14+/month)
  • You want complete ownership of your code and content
  • You have a blog or documentation site that does not need complex animations
  • You want to host on GitHub Pages for free

When to choose Webflow

  • You are a designer who does not code
  • You need to build and iterate on complex, animated layouts quickly
  • Your client or team needs a visual CMS without a developer in the loop
  • You are building a marketing site that needs frequent design changes
  • Budget is less of a concern than speed of design iteration

The middle ground

Some teams use Webflow for design exploration and Jekyll for production — Webflow to prototype quickly, then port the design to Jekyll for long-term control and free hosting. This is more work upfront but pays off for sites that need to last years.

If you are a developer who values control and low cost, Jekyll is the right choice. If you are a designer who wants to ship beautiful sites without touching code, Webflow earns its price tag.

Browse Jekyll themes on JekyllHub to see what is achievable without Webflow.

Share LinkedIn

<!DOCTYPE html>

Jekyll vs Ghost: Which Platform Is Right for Your Blog in 2026? | JekyllHub
Home Blog Jekyll vs Ghost: Which Platform Is Right for Your Blog in 2026?
Comparison

Jekyll vs Ghost: Which Platform Is Right for Your Blog in 2026?

Jekyll and Ghost both power great blogs — but they are built differently. A practical comparison of cost, features, writing experience, and audience growth tools.

Jekyll vs Ghost: Which Platform Is Right for Your Blog in 2026?

Jekyll and Ghost are both popular choices for bloggers and writers, but they come from opposite ends of the web publishing spectrum. Jekyll is a static site generator built around files and code. Ghost is a Node.js publishing platform with a polished admin interface, built-in newsletter tools, and membership features.

Here is how to choose between them.

What each platform is

Jekyll is a static site generator. You write posts as Markdown files on your computer, run a build command, and deploy the output as plain HTML files. There is no admin dashboard, no database, and no user accounts. Everything lives in files you own.

Ghost is a self-hosted or managed CMS (content management system) with a Node.js backend. It has a beautiful rich-text editor, built-in newsletter delivery via Mailgun, membership and paid subscription features, and analytics. Think of it as a modern alternative to WordPress, purpose-built for publishing.

Writing experience

Ghost has one of the best writing experiences available. Its editor is clean, distraction-free, and feature-rich — cards for images, embeds, code blocks, and tables without leaving the editor. Publishing is a single click.

Jekyll requires writing Markdown in a text editor, committing files to Git, and pushing to trigger a build. For developers this is comfortable. For writers who are not developers, it introduces friction at every step.

Winner for writing experience: Ghost, significantly.

Cost

Hosting option Jekyll Ghost
Free tier GitHub Pages (free, custom domain) Not available
Entry self-hosted Free (pay only for hosting ~$5/mo) ~$5–10/mo VPS + setup time
Managed hosting Netlify/Cloudflare free tier Ghost Pro starts at $9/mo
Pro managed ~$0–20/mo $25–199/mo (Ghost Pro)

Jekyll can be hosted for free indefinitely on GitHub Pages or Cloudflare Pages. Ghost’s managed hosting (Ghost Pro) starts at $9/month and scales with traffic.

Winner for cost: Jekyll.

Newsletter and membership

This is where Ghost has a decisive advantage. Ghost includes built-in newsletter functionality — readers subscribe on your site, and you send email newsletters directly from the Ghost admin. Paid memberships (Stripe integration) let you charge subscribers for premium content.

Jekyll has none of this built in. You need to wire up a separate newsletter service (Mailchimp, Sendy, ConvertKit), build subscription forms manually, and handle payments through a third-party service like Gumroad or Lemon Squeezy.

If audience building and monetisation via newsletters and memberships are central to your goals, Ghost’s built-in tools save significant time and money.

Winner for newsletters and memberships: Ghost.

Themes and design

Jekyll has a large ecosystem of free themes on GitHub and dedicated marketplaces like JekyllHub. Themes are plain HTML, CSS, and Liquid — readable and modifiable by anyone with basic web knowledge.

Ghost themes use Handlebars templating and require understanding Ghost’s data API. There are quality free and paid Ghost themes, but the ecosystem is smaller than Jekyll’s.

Winner for theme variety: Jekyll.

SEO

Both platforms can achieve excellent SEO. Jekyll gives you full control over every meta tag, URL, and page structure. Ghost has built-in SEO settings (custom meta titles, descriptions, canonical URLs) accessible from the admin UI without touching code.

For technical SEO control: Jekyll. For ease of SEO management: Ghost.

Performance

Jekyll is faster because it is static HTML. Ghost is a Node.js application with a database — slightly slower on initial server response, though Ghost uses aggressive caching and performs very well in practice.

Winner on raw performance: Jekyll, but the difference is negligible for most sites.

Content ownership and portability

Jekyll stores your content as plain Markdown files on your computer. You own them completely — no export needed, no platform lock-in. If Jekyll disappeared tomorrow, your posts would still exist as readable text files.

Ghost stores content in a SQLite or MySQL database. Exporting is supported, but you are one more step removed from your content.

Winner for ownership: Jekyll.

When to choose Jekyll

  • You are a developer or comfortable with Git and Markdown
  • You want zero hosting costs
  • You do not need a newsletter or memberships built in
  • You want full control over your site’s code and design
  • Your audience already knows how to find you

When to choose Ghost

  • You want a beautiful writing experience without touching code
  • You want built-in newsletter delivery and subscriber management
  • You want to run paid memberships or premium content
  • You publish frequently and need a fast editorial workflow
  • You are migrating from WordPress and want something simpler

The hybrid approach

Many writers use both: Jekyll for the public-facing site and a dedicated newsletter service (Sendy, ConvertKit) for audience building. You get Jekyll’s performance, ownership, and cost benefits, plus a solid newsletter tool. This is what JekyllHub uses.

Neither platform is universally better. Ghost wins on writing experience and audience tools. Jekyll wins on cost, performance, ownership, and design control. Pick based on what matters most to you.

Share LinkedIn

<!DOCTYPE html>

Jekyll vs Astro: Which Static Site Generator Should You Use in 2026? | JekyllHub
Home Blog Jekyll vs Astro: Which Static Site Generator Should You Use in 2026?
Comparison

Jekyll vs Astro: Which Static Site Generator Should You Use in 2026?

An honest comparison of Jekyll and Astro — performance, themes, learning curve, content handling, and which one is right for your next site.

Jekyll vs Astro: Which Static Site Generator Should You Use in 2026?

Astro launched in 2021 and quickly became one of the most talked-about static site generators. Jekyll has been around since 2008 and remains one of the most widely used. In 2026 both are mature, actively maintained, and capable of building fast, beautiful sites. So how do you choose?

What each tool is

Jekyll is a Ruby-based static site generator built around Markdown content and Liquid templating. It has no JavaScript framework dependency, outputs plain HTML, and integrates natively with GitHub Pages. It is the go-to tool for simple, content-focused sites.

Astro is a JavaScript-based web framework that pioneered the “islands architecture” — by default it ships zero JavaScript to the browser, but it lets you embed interactive components from React, Vue, Svelte, Solid, or any other framework in isolated islands. It handles both static generation and server-side rendering.

Performance: the key difference

Both Jekyll and Astro ship minimal JavaScript by default. But their approach differs fundamentally.

Jekyll outputs plain HTML with zero JS unless you add it yourself. There is no framework overhead at all.

Astro introduces the concept of component islands — interactive components that hydrate on the client. A static Astro page also ships zero JavaScript, but the moment you add an interactive component, Astro ships only that component’s JS, not a full framework bundle. This is more efficient than React or Vue, but still more than Jekyll’s zero.

For pure content sites (blogs, docs, portfolios): Jekyll and Astro perform equally well — both score 99–100 on Lighthouse with no effort.

For sites with some interactivity (search, tabs, carousels): Astro has an architectural advantage — it handles interactive components more cleanly than adding jQuery or vanilla JS to Jekyll.

Learning curve

Jekyll requires: YAML front matter, Markdown, and Liquid templating. No programming knowledge required. A non-developer can be productive in an afternoon.

Astro requires: Markdown or MDX, the .astro component syntax (similar to JSX), and JavaScript/TypeScript. If you want to use component frameworks, you need to know React, Vue, or Svelte. The barrier is meaningfully higher.

For non-developers or those new to web development: Jekyll wins.

For JavaScript developers: Astro’s component model will feel natural.

Content handling

Both tools handle Markdown content well. Astro adds MDX support out of the box — Markdown with embedded JavaScript components. This is powerful for interactive documentation or content with embedded demos.

Jekyll’s Liquid templating is simpler but less expressive. You cannot embed dynamic components mid-content without reaching for JavaScript.

For a pure blog or documentation site, Markdown is enough. MDX becomes valuable when your content itself needs to be interactive — embedding a live code editor in a tutorial, for example.

Themes and ecosystem

Jekyll has a larger, more established theme ecosystem. Hundreds of free themes exist on GitHub and dedicated marketplaces like JekyllHub. Themes are plain HTML, CSS, and Liquid — easy to understand and modify without a build step.

Astro themes exist and are growing rapidly — the official Astro themes directory has hundreds of options. But many require framework knowledge (React or Vue) to customise meaningfully.

Winner for theme selection and ease of customisation: Jekyll.

Build times

Site size Jekyll Astro
50 pages ~3 seconds ~5 seconds
500 pages ~15 seconds ~20 seconds
5,000 pages ~2–3 minutes ~3–5 minutes

Both are fast. Jekyll has a slight edge on large sites because it does not bundle JavaScript, but the difference is rarely meaningful in practice.

Hosting

Both deploy to Netlify, Cloudflare Pages, and Vercel with zero configuration. Jekyll deploys natively to GitHub Pages. Astro requires a build step even for GitHub Pages (via GitHub Actions), but this is well-documented and straightforward.

When to choose Jekyll

  • You want simplicity above all else
  • You are not a JavaScript developer
  • You want native GitHub Pages hosting with no build configuration
  • Your content is Markdown and your layouts are HTML — no framework components needed
  • You want themes you can read and modify without understanding a component system

When to choose Astro

  • You are a JavaScript developer comfortable with components
  • You want to mix static content with interactive UI components
  • You want MDX — Markdown with embedded components
  • You need server-side rendering alongside static pages (Astro handles both)
  • You are migrating from a framework-heavy setup and want to reduce JavaScript

The bottom line

For a blog, portfolio, documentation site, or small business website with no interactive components: Jekyll is the simpler, faster path to production. It has more themes, easier hosting, and a lower learning curve.

For a site that needs some interactive components embedded in content — a tutorial platform, a documentation site with live examples, a landing page with tabs and demos — Astro is the better architectural choice.

In 2026, Astro is arguably the more exciting tool. But exciting does not always mean right for your project. If your site is primarily words, Jekyll is still the most efficient path from blank page to live site.

Browse free and premium Jekyll themes on JekyllHub to see what is possible.

Share LinkedIn

<!DOCTYPE html>

Accessibility Best Practices for Jekyll Themes (WCAG 2.2 Guide) | JekyllHub
Home Blog Accessibility Best Practices for Jekyll Themes (WCAG 2.2 Guide)
Tutorial

Accessibility Best Practices for Jekyll Themes (WCAG 2.2 Guide)

Build accessible Jekyll themes that meet WCAG 2.2 standards — semantic HTML, keyboard navigation, colour contrast, ARIA labels, skip links, and automated testing.

Accessibility Best Practices for Jekyll Themes (WCAG 2.2 Guide)

Accessibility is not a nice-to-have — it determines whether your content reaches everyone. An inaccessible Jekyll theme excludes users with visual, motor, and cognitive disabilities, and it signals to search engines that your site is lower quality. This guide covers the practical changes that move a Jekyll theme from unusable to WCAG 2.2 AA compliant.


Why Accessibility Matters for Jekyll Sites

  • Legal: WCAG 2.1 AA is a legal requirement for public-facing sites in the EU, UK, US (ADA), and many other countries
  • SEO: Accessible HTML is semantically rich HTML — the same practices that help screen readers help search engines
  • Reach: 15% of the global population has some form of disability; poor accessibility excludes them
  • Quality signal: Google’s page quality guidelines explicitly include accessibility as a factor

1. Semantic HTML Structure

The single most impactful accessibility change is using the right HTML elements.

Use Landmark Elements

<!-- Wrong -->
<div class="header">...</div>
<div class="nav">...</div>
<div class="main">...</div>
<div class="footer">...</div>

<!-- Right -->
<header class="site-header">...</header>
<nav class="site-nav" aria-label="Main navigation">...</nav>
<main id="main-content" class="site-main">...</main>
<footer class="site-footer">...</footer>

Screen reader users navigate by landmark. Without <header>, <nav>, <main>, <footer>, they can’t jump to sections.

Heading Hierarchy

One <h1> per page. Then <h2> for major sections, <h3> for subsections:


<!-- _layouts/default.html -->
<!-- The page title is always the H1 -->

<!-- _layouts/post.html -->
<h1 class="post-title">{{ page.title }}</h1>

<!-- Post content headings start at H2 -->
<!-- In Markdown: ## Section → <h2>, ### Subsection → <h3> -->

In _config.yml, configure kramdown to handle heading anchors:

kramdown:
  auto_ids: true

Use <article>, <section>, <aside>


<article class="post">          <!-- Self-contained content -->
  <header class="post-header">  <!-- Intro of the article -->
    <h1>{{ page.title }}</h1>
  </header>
  <section class="post-content"> <!-- Thematic section -->
    {{ content }}
  </section>
  <footer class="post-footer">  <!-- Metadata, tags -->
    ...
  </footer>
</article>

<aside class="sidebar" aria-label="Sidebar"> <!-- Supplementary content -->
  ...
</aside>


2. Keyboard Navigation

Every interactive element must be reachable and operable with a keyboard alone — no mouse required.

Add a skip link as the very first element in <body>. Users who navigate by keyboard can skip the nav and jump straight to content:

<!-- In _layouts/default.html, first element inside <body> -->
<a href="#main-content" class="skip-link">Skip to main content</a>

<header>...</header>
<main id="main-content">...</main>
.skip-link {
  position: absolute;
  top: -100%;
  left: 1rem;
  background: var(--color-primary);
  color: #fff;
  padding: 0.5rem 1rem;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  font-weight: 600;
  text-decoration: none;
  z-index: 999;
  transition: top 0.2s;

  &:focus {
    top: 0;
  }
}

This link is invisible until a keyboard user tabs to it — then it appears at the top of the screen.

Focus Styles

Never remove focus outlines:

// Wrong
*:focus { outline: none; }
*:focus-visible { outline: none; }

// Right — enhance the focus style instead of removing it
*:focus-visible {
  outline: 3px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 2px;
}

:focus-visible shows the outline only for keyboard navigation, not mouse clicks — so it doesn’t feel cluttered for mouse users.

Mobile Navigation Toggle

<button class="nav-toggle" 
        aria-controls="main-menu"
        aria-expanded="false"
        aria-label="Open navigation menu">
  <span aria-hidden="true"></span>
</button>

<nav id="main-menu" aria-label="Main navigation">
  ...
</nav>
const toggle = document.querySelector('.nav-toggle');
const menu = document.querySelector('#main-menu');

toggle.addEventListener('click', () => {
  const isOpen = toggle.getAttribute('aria-expanded') === 'true';
  toggle.setAttribute('aria-expanded', String(!isOpen));
  // Show/hide menu
});

The aria-expanded attribute tells screen readers whether the menu is open or closed.


3. Colour Contrast

WCAG 2.2 AA requires:

  • Normal text (< 18pt): minimum 4.5:1 contrast ratio against background
  • Large text (≥ 18pt or 14pt bold): minimum 3:1 contrast ratio
  • UI components (buttons, inputs, focus indicators): minimum 3:1

Check Your Colours

Use WebAIM Contrast Checker or the browser DevTools accessibility panel.

Common failures in Jekyll themes:

  • Light grey text on white: #999 on #fff = 2.85:1 (fails AA)
  • Placeholder text in forms: often too light
  • Disabled button text
// Common fixes
$color-text-muted: #6b7280;    // 4.6:1 on white — just passes AA
$color-text-muted: #595959;    // 7:1 on white — passes AAA, safer

// Never use lighter than #767676 for body text on white

Dark Mode Contrast

Check both light and dark mode. A common mistake is fixing contrast in light mode and breaking it in dark mode:

:root {
  --text-muted: #6b7280;     // 4.6:1 on #fff ✓
}

[data-theme="dark"] {
  --text-muted: #9ca3af;     // 4.6:1 on #1f2937 ✓ — check this independently
}

4. Images and Alt Text

Every <img> needs an alt attribute. Its value depends on the image’s purpose:

<!-- Meaningful image — describe what it shows -->
<img src="jekyll-setup.png" alt="Terminal showing Jekyll server starting on port 4000">

<!-- Decorative image — empty alt, so screen readers skip it -->
<img src="divider.svg" alt="" role="presentation">

<!-- Image that IS the content of a link — describe the destination -->
<a href="/themes/chirpy/">
  <img src="chirpy-preview.jpg" alt="Chirpy Jekyll theme preview">
</a>

In Jekyll templates, use front matter for alt text:


{% if post.image %}
  <img src="{{ post.image | relative_url }}" 
       alt="{{ post.image_alt | default: post.title }}"
       loading="lazy"
       width="800" height="450">
{% endif %}


5. Forms

<form>
  <!-- Every input needs a visible, programmatically-associated label -->
  <div class="form-group">
    <label for="email">Email address</label>
    <input type="email" id="email" name="email" 
           required
           aria-describedby="email-hint"
           autocomplete="email">
    <p id="email-hint" class="form-hint">We'll never share your email.</p>
  </div>

  <!-- Don't use placeholder as a label substitute -->
  <!-- Placeholders disappear when typing — users forget what the field is for -->

  <!-- Error messages -->
  <input type="email" 
         aria-invalid="true"
         aria-describedby="email-error">
  <p id="email-error" role="alert" class="form-error">
    Please enter a valid email address.
  </p>

  <button type="submit">Subscribe</button>
</form>

<!-- Links must describe their destination -->
<!-- Wrong -->
<a href="/themes/minimal-mistakes/">Click here</a>

<!-- Right -->
<a href="/themes/minimal-mistakes/">View Minimal Mistakes theme</a>

<!-- When context makes it clear, aria-label can supplement -->
<a href="/themes/chirpy/" aria-label="View Chirpy Jekyll theme details">
  Chirpy
</a>

<!-- Buttons must describe their action -->
<!-- Wrong -->
<button onclick="toggleMenu()"></button>

<!-- Right -->
<button onclick="toggleMenu()" aria-label="Open navigation menu"></button>

<!-- Don't use <a> for actions that aren't navigation -->
<!-- Wrong -->
<a href="#" onclick="submitForm()">Submit</a>

<!-- Right -->
<button type="submit">Submit</button>

7. Automated Testing

axe DevTools

Install the axe DevTools browser extension — it scans any page and reports WCAG violations with severity levels and fix guidance.

htmlproofer

Check for missing alt text and broken links as part of your build:

bundle exec htmlproofer ./_site \
  --checks Images,Links \
  --disable-external \
  --ignore-empty-alt

Lighthouse

Google’s Lighthouse (built into Chrome DevTools → Lighthouse tab) includes an Accessibility audit. Aim for 90+ score.

# Or run from CLI
npx lighthouse https://yourdomain.com --only-categories=accessibility

Manual Testing

Tools catch about 30% of accessibility issues. Also test:

  • Tab through the entire page with keyboard only — can you reach everything?
  • Test with a screen reader: NVDA (Windows, free), VoiceOver (Mac, built-in)
  • Zoom browser to 200% — does layout break?
  • Test in forced colours mode (Windows High Contrast)

Quick Wins Checklist

  • lang attribute on <html>: <html lang="en">
  • Skip link to main content
  • <main id="main-content"> landmark
  • One <h1> per page
  • All images have alt attributes
  • All form inputs have associated <label> elements
  • Focus styles visible (not outline: none)
  • Text contrast 4.5:1 minimum
  • Interactive elements reachable by keyboard
  • aria-label on icon-only buttons
  • aria-current="page" on active nav link
  • Lighthouse accessibility score 90+

Accessible themes are better themes — cleaner HTML, better SEO, and a wider audience. Browse Jekyll themes on JekyllHub and check the theme’s accessibility score before choosing.


References

Share LinkedIn

<!DOCTYPE html>

How to Sell a Jekyll Theme: A Complete Guide for Developers | JekyllHub
Home Blog How to Sell a Jekyll Theme: A Complete Guide for Developers
Tutorial

How to Sell a Jekyll Theme: A Complete Guide for Developers

A step-by-step guide to building, packaging, and selling Jekyll themes — where to sell, how to price, what buyers expect, and how to handle support.

How to Sell a Jekyll Theme: A Complete Guide for Developers

Building a great Jekyll theme is one thing. Turning it into a product people will pay for is another. This guide covers everything — from what buyers expect to how to handle support — based on what works in the Jekyll theme marketplace in 2026.

Is there a market for Jekyll themes?

Yes, but it is a niche one. Jekyll has a dedicated, technical user base that values quality over quantity. Buyers are typically developers, technical writers, and small businesses who understand what they are paying for.

The upside: buyers in this market are more tolerant of complexity, less likely to expect a point-and-click theme manager, and willing to pay fair prices for well-built themes. The downside: the audience is smaller than WordPress or Webflow.

A good premium Jekyll theme priced at $29–$49 with minimal marketing can realistically earn $200–$1,000/month from a marketplace. The ceiling is higher with traffic from your own audience or SEO.

What makes a sellable Jekyll theme

1. A genuine use case

The best-selling themes solve a specific problem for a specific audience. “A clean blog theme” competes with hundreds of free options. “A documentation theme for developer tools with versioned sidebars and dark mode” has a clearly defined buyer.

Before you build, ask: who buys this, and why would they pay instead of using a free alternative?

2. Real demo content

Buyers make decisions based on the demo. A theme with placeholder “Lorem ipsum” text and grey boxes looks unfinished. Fill your demo with realistic, well-written content that makes the design shine.

3. Multiple screenshots

Buyers want to see the theme across contexts: the homepage, a post page, the mobile view, dark mode, and key components. Plan for at least 5–8 high-quality screenshots at 1440×900px.

4. Clean, documented code

Premium buyers will customise your theme. They will read your HTML, SCSS, and Liquid. Code quality matters. Use meaningful class names, comment complex logic, and follow a consistent structure.

5. A _config.yml that does the work

Great themes expose customisation through _config.yml — colours, fonts, nav links, social handles, analytics IDs. Buyers should be able to personalise the theme without touching a single layout file.

# Example theme config
theme_color: "#2563EB"
show_newsletter: true
footer_links:
  - title: "Twitter"
    url: "https://twitter.com/yourhandle"
  - title: "GitHub"
    url: "https://github.com/yourhandle"

6. Solid documentation

Write a README that covers: requirements, installation, configuration, customisation, and common questions. Buyers who cannot install your theme will ask for refunds. Good docs prevent support tickets.

How to package your theme for sale

File structure

A well-packaged Jekyll theme includes:

your-theme/
├── _includes/
├── _layouts/
├── _sass/
├── assets/
│   ├── css/
│   ├── js/
│   └── images/
├── _config.yml
├── Gemfile
├── index.html
├── README.md
└── LICENSE.md

The Gemfile

Specify your dependencies explicitly:

source "https://rubygems.org"

gem "jekyll", "~> 4.3"
gem "jekyll-feed"
gem "jekyll-seo-tag"
gem "jekyll-sitemap"

The LICENSE

Most Jekyll themes use the MIT licence for the code, with an extended licence for commercial use. Be explicit about what buyers can and cannot do:

  • Can they use the theme on a client project? (Usually yes with an extended licence)
  • Can they resell or redistribute the theme? (Usually no)
  • Can they use the demo images? (Usually no — stock photos have their own licences)

Demo content

Include sample posts, pages, and data files that demonstrate every feature. The goal is that a buyer can run bundle install && jekyll serve and immediately see a polished demo, not a broken shell.

Where to sell Jekyll themes

JekyllHub

JekyllHub is a dedicated Jekyll theme marketplace — the only one focused exclusively on Jekyll. This means buyers are qualified: they are looking specifically for Jekyll themes, not browsing a general marketplace. Submit your theme at /submit/.

Gumroad

Simple, low-friction digital product sales. You keep 91% of revenue (9% fee). Great for selling directly to your own audience. No approval process.

Lemon Squeezy

Similar to Gumroad with better checkout localisation and VAT handling for European customers. Worth considering if you have international buyers.

Your own site

The highest margin option. A dedicated product page on your own site with a Stripe-powered checkout (via Snipcart, Gumroad embed, or Lemon Squeezy) keeps 95–98% of revenue. Requires you to drive your own traffic.

ThemeForest / Envato

The largest marketplace but extremely competitive and with higher fees. Requires an exclusive or non-exclusive listing decision. Approval takes weeks. Worth it if you want maximum reach; not worth it for a first theme.

Pricing your theme

Jekyll themes typically sell in three tiers:

Tier Price What buyers expect
Basic $19–$29 Clean design, standard features, minimal docs
Standard $39–$59 Polished design, full features, good docs, 6 months support
Extended $99–$149 White-label rights, priority support, future updates included

Do not underprice to compete with free themes. Buyers who choose premium are paying for quality, support, and trust. A $9 premium theme signals low value, not a bargain.

Handling support

Support is where theme sales get complicated. Budget time for it before you launch.

Set expectations upfront: State clearly in your listing what is and is not covered by support. “I will help with installation and configuration issues. I do not customise the theme for individual buyers.”

Create a FAQ page: Document the ten most common questions before launch. Most support requests cover the same ground.

Use GitHub Issues: Keep support conversations in a public Issue tracker where answers are searchable. This reduces repeat questions.

Set a timeline: Respond within 48 business hours. Anything slower leads to chargebacks.

Marketing your theme

Get listed on JekyllHub. Buyers browse theme directories. Being listed is the minimum.

Write a blog post about how you built it. The Jekyll community reads technical content. A behind-the-scenes build post can drive hundreds of qualified visitors.

Tweet the launch. The Jekyll and static site community on Twitter is small but engaged.

SEO the demo. Your live demo site should be indexed by Google. Name the demo something like your-theme-demo.com and optimise the title and description. Searches for “jekyll [niche] theme” will find it.

Offer a free version. A stripped-down free version with a link to the premium version is one of the most effective ways to convert. People try the free, like the structure, and pay to unlock the full version.

Update and maintain your theme

A theme you abandon becomes unsellable. Jekyll versions change, browser behaviour changes, and buyers expect their purchase to keep working.

Commit to a minimum support period (6–12 months) and communicate updates clearly. A Jekyll 4 → 5 migration guide for your theme buyers will generate goodwill and reduce chargeback requests.

The short version

  1. Build for a specific audience with a clear use case
  2. Make a polished demo with real content
  3. Write proper documentation
  4. List on JekyllHub and Gumroad at minimum
  5. Price for value, not to undercut free alternatives
  6. Budget time for support before you launch

The Jekyll theme market is small enough that a high-quality, well-marketed theme can stand out without a large audience. Start there.

Submit your theme to JekyllHub →

Share LinkedIn

<!DOCTYPE html>

Best Jekyll Themes for Writers and Bloggers in 2026 | JekyllHub
Home Blog Best Jekyll Themes for Writers and Bloggers in 2026
Themes

Best Jekyll Themes for Writers and Bloggers in 2026

The best Jekyll themes for writers, bloggers, and storytellers — beautiful typography, distraction-free reading, and clean writing-focused layouts.

Best Jekyll Themes for Writers and Bloggers in 2026

Writers have different needs from developers. You want beautiful typography, generous line spacing, a clean reading experience, and a design that makes your words the star. You do not want to configure build pipelines or understand SCSS variables.

Here are the best Jekyll themes for writers and bloggers in 2026 — and what to look for in each.

What writers need in a Jekyll theme

A great writing theme gets these things right:

Typography: This is everything. Look for a serif or carefully chosen sans-serif body font at a comfortable size (18–21px), a line height of 1.6–1.8, and a measure (line length) of 60–75 characters. If the demo page reads well, the theme is doing its job.

Reading time estimate: Readers appreciate knowing whether an article is a 2-minute skim or a 15-minute read. Good writing themes show this automatically.

Table of contents: For long-form articles and essays, an auto-generated TOC sidebar is invaluable.

Post series or related articles: If you write in themes or series, look for a theme that surfaces related content naturally.

No distractions: Floating share buttons, autoplay videos, cookie banners, and sidebar ads all hurt the reading experience. The best writing themes strip all of this away.

Dark mode: Many readers prefer dark mode, especially in the evening. A theme with a clean, well-designed dark mode shows the author cares about their readers.

Best free themes for writers

Chirpy

Chirpy is widely used by technical writers. It has a clean left sidebar with categories and a reading progress bar. The default typography is excellent for technical content with code. Dark mode is polished and automatic.

Best for: Technical writing, tutorials, developer notes.

Minima

The default Jekyll theme and still one of the best choices for pure writing. No sidebars, no distractions, clean typography on a white background. Zero setup. If you want to focus purely on your words, Minima is the honest choice.

Best for: Personal blogs, essays, journaling.

Cayman Blog

A clean, single-column theme derived from the popular Cayman GitHub Pages theme. Excellent for long-form writing with a simple navigation and generous whitespace.

Best for: Personal sites, writing portfolios.

Klise

Dark by default, high contrast, typographically focused. Klise is minimal in the best sense — every pixel has a reason. If you prefer writing against a dark background, this is the cleanest option available.

Best for: Writers who prefer dark mode, personal blogs.

Massively (Jekyll port)

Based on the popular HTML5 UP template, the Jekyll port of Massively offers large featured images, a clean reading layout, and a strong editorial feel. If your writing benefits from visual storytelling with images, this works well.

Best for: Lifestyle writers, travel bloggers, narrative journalism.

What typography details to check

When evaluating a theme, open the demo post and check:

  1. Body font size — Is the text at least 17–18px? Anything smaller is too small for comfortable long-form reading.

  2. Line height — Should be at least 1.6. Cramped leading (line spacing) makes text feel dense and hard to read.

  3. Line length (measure) — Count the characters per line in the main content area. 60–75 is ideal. Much shorter feels choppy; much longer makes eyes lose their place.

  4. Heading hierarchy — H2 and H3 should be visually distinct but not jarring. Good themes use weight and size, not just colour.

  5. Code blocks — If you write technical content, check that code is rendered in a monospace font with syntax highlighting.

Adding a newsletter signup to a writing Jekyll theme

If you are building an audience, a newsletter signup on your site is essential. With a Sendy or Mailchimp account, add a simple form to any Jekyll theme:

<form action="YOUR_SUBSCRIBE_URL" method="POST">
  <input type="hidden" name="list" value="YOUR_LIST_ID">
  <input type="hidden" name="subform" value="yes">
  <input type="email" name="email" placeholder="your@email.com" required>
  <button type="submit">Subscribe</button>
</form>

Place this in your post footer, in a sidebar, or on a dedicated /subscribe page.

Setting up reading time in Jekyll

Most writing themes include a reading time estimate. If yours does not, add it with a simple Liquid calculation:


{% assign words = post.content | number_of_words %}
{% assign reading_time = words | divided_by: 200 %}
{% if reading_time < 1 %}{% assign reading_time = 1 %}{% endif %}
{{ reading_time }} min read

  1. Write your posts in Markdown using any editor (iA Writer, Typora, Obsidian, or VS Code)
  2. Save drafts in _drafts/ — they will not appear on your published site
  3. When ready to publish, move the file to _posts/ with the date prefix
  4. Push to GitHub and let your hosting provider (Netlify, Cloudflare Pages) build automatically

Jekyll keeps your writing where it belongs: in plain text files you own forever, not locked in a proprietary CMS.

Premium themes for serious writers

If you are investing time in a writing practice, it is worth investing in a theme that reflects that seriousness. Premium writing themes offer refined typography with commercial font licences, polished dark mode, newsletter integrations, and post series support.

Browse writing and blog Jekyll themes on JekyllHub for curated free and premium options.

Share LinkedIn

<!DOCTYPE html>

How to Set Up a Multi-Author Jekyll Blog | JekyllHub
Home Blog How to Set Up a Multi-Author Jekyll Blog
Tutorial

How to Set Up a Multi-Author Jekyll Blog

A step-by-step guide to building a multi-author Jekyll blog — author profiles, per-post attribution, author archive pages, and avatars.

How to Set Up a Multi-Author Jekyll Blog

Jekyll does not have user accounts or a login system, but it handles multiple authors elegantly using collections. You define each author as a data file or collection document, reference them by name in post front matter, and Jekyll takes care of the rest. Here is how to do it properly.

The two approaches

There are two common ways to handle authors in Jekyll:

Approach 1: _data/authors.yml — A single YAML file with all authors. Simple, no extra pages generated.

Approach 2: _authors/ collection — A separate Markdown file per author. Generates individual author archive pages.

If you want dedicated author pages (e.g. /authors/marcus-webb/) showing all their posts, use the collection approach. If you just need a name and avatar on posts with no archive pages, use the data file.

This guide covers the full collection approach.

Step 1: Create the _authors collection

Add the collection to _config.yml:

collections:
  authors:
    output: true
    permalink: /authors/:slug/

Step 2: Create author files

Create a file for each author in _authors/:

# _authors/marcus-webb.md
---
name: "Marcus Webb"
slug: marcus-webb
avatar: https://i.pravatar.cc/150?u=marcus-webb
bio: "Developer and technical writer passionate about open source tools and the modern web."
github: marcuswebb
twitter: marcuswebb
website: https://marcuswebb.io
---

The filename (without .md) becomes the slug — marcus-webb.md creates the author at /authors/marcus-webb/.

Step 3: Reference authors in post front matter

In each post, set the author field to the author’s display name:

---
layout: post
title: "How to Set Up a Multi-Author Jekyll Blog"
date: 2026-07-10
author: Marcus Webb
---

Step 4: Create the author layout

Create _layouts/author.html to display the author profile and their posts:


---
layout: default
---

<div class="author-profile">
  <img src="{{ page.avatar }}" alt="{{ page.name }}" class="author-avatar">
  <h1>{{ page.name }}</h1>
  <p>{{ page.bio }}</p>
  
  {% if page.twitter %}
  <a href="https://twitter.com/{{ page.twitter }}">@{{ page.twitter }}</a>
  {% endif %}
  
  {% if page.github %}
  <a href="https://github.com/{{ page.github }}">GitHub</a>
  {% endif %}
</div>

<h2>Posts by {{ page.name }}</h2>

{% assign author_posts = site.posts | where: "author", page.name %}
{% for post in author_posts %}
<article>
  <h3><a href="{{ post.url | relative_url }}">{{ post.title }}</a></h3>
  <time>{{ post.date | date: "%B %-d, %Y" }}</time>
  <p>{{ post.description }}</p>
</article>
{% endfor %}

Step 5: Display the author on each post

In _layouts/post.html, look up the author from the collection:


{% assign author = site.authors | where: "name", page.author | first %}

{% if author %}
<div class="post-author">
  <img src="{{ author.avatar }}" alt="{{ author.name }}" class="post-author__avatar">
  <div class="post-author__info">
    <a href="{{ author.url | relative_url }}" class="post-author__name">{{ author.name }}</a>
    <p class="post-author__bio">{{ author.bio }}</p>
  </div>
</div>
{% elsif page.author %}
<div class="post-author">
  <span class="post-author__name">{{ page.author }}</span>
</div>
{% endif %}

The {% elsif page.author %} fallback handles posts where the author string does not match any author file — useful during migration.

Step 6: Create an authors listing page

Create _pages/authors.html:


---
layout: default
title: "Authors"
permalink: /authors/
---

<div class="authors-grid">
  {% for author in site.authors %}
  <div class="author-card">
    <img src="{{ author.avatar }}" alt="{{ author.name }}">
    <h3><a href="{{ author.url | relative_url }}">{{ author.name }}</a></h3>
    <p>{{ author.bio }}</p>
    {% assign post_count = site.posts | where: "author", author.name | size %}
    <p>{{ post_count }} posts</p>
  </div>
  {% endfor %}
</div>

Showing post counts per author

To show how many posts each author has written, use the where filter and size:


{% assign author_posts = site.posts | where: "author", author.name %}
<span>{{ author_posts | size }} articles</span>

Using author slugs instead of names

If you prefer to match on a slug (more robust to name formatting):

In post front matter:

---
layout: post
author: marcus-webb
---

In your layout, look up by the slug field:


{% assign author = site.authors | where: "slug", page.author | first %}

Displaying author in post metadata

A typical post meta line with author:


<div class="post-meta">
  <time>{{ page.date | date: "%B %-d, %Y" }}</time>
  {% if author %}
  · <a href="{{ author.url | relative_url }}">{{ page.author }}</a>
  {% else %}
  · {{ page.author }}
  {% endif %}
  · {{ content | number_of_words }} words
</div>

Tips for managing multiple authors

Consistent naming: The where filter does an exact string match. "Marcus Webb" and "marcus webb" are different values. Decide on a format and stick to it — or use slugs to avoid case sensitivity issues.

Guest authors: For one-off guest posts, you do not need a full author file. Just set author: "Jane Smith" in the post front matter. The fallback in your layout will display the name without a profile link.

Author-specific RSS feeds: Advanced but useful — generate a separate feed per author by looping through site.authors and filtering posts.

That is all you need for a fully functional multi-author Jekyll blog with individual author pages, post attribution, and post counts.

Share LinkedIn

<!DOCTYPE html>

Best Jekyll Themes for Small Business Websites in 2026 | JekyllHub
Home Blog Best Jekyll Themes for Small Business Websites in 2026
Themes

Best Jekyll Themes for Small Business Websites in 2026

The best free and premium Jekyll themes for small business websites — professional design, fast loading, and easy to customise without a developer.

Best Jekyll Themes for Small Business Websites in 2026

Jekyll is an excellent choice for small business websites. Pages load in milliseconds, hosting is free or nearly free, and there is no database to hack or WordPress plugin to update. The catch is finding a theme designed for business use — most Jekyll themes are built for developers writing blog posts, not businesses showcasing services.

Here are the best options in 2026.

What a small business Jekyll theme needs

A theme for a small business is different from a developer blog theme. It needs:

  • A clear hero section with a headline, subheadline, and call to action
  • Services or features section to communicate what you offer
  • Contact form or contact details prominently placed
  • Social proof — testimonials, client logos, or case studies
  • Mobile-first design — most small business visitors are on mobile
  • Fast loading — under 2 seconds on mobile
  • Easy content editing — via front matter and Markdown, not code

Free small business Jekyll themes

Freelancer (by Start Bootstrap)

One of the most popular single-page Jekyll business themes. Clean portfolio/freelancer layout with a hero, portfolio grid, about section, and contact form. Originally built for Bootstrap, ported to Jekyll.

Best for: Freelancers, consultants, small agencies.

Agency (by Start Bootstrap)

Similar to Freelancer but aimed at agencies with a team section, services section, portfolio, and timeline. Professional and polished.

Best for: Small agencies, design studios, marketing firms.

Landing Page

A clean, responsive landing page theme built on Bootstrap. Full-width hero, features section, and a newsletter signup. Minimal and fast.

Best for: Product launches, SaaS landing pages, single-product businesses.

Bulma Clean Theme

Built on the Bulma CSS framework (no jQuery). Includes a blog, portfolio, and contact page. Clean, modern, and well-documented.

Best for: Small businesses that want a modern design without paying for premium.

Premium small business Jekyll themes

Free themes are a good starting point, but small businesses often need more: refined typography, professional colour palettes, SEO defaults, and actual support when something breaks.

What to look for in a premium business theme

When evaluating a premium Jekyll theme for your small business, check:

SEO defaults: Does the theme include proper meta tags, Open Graph tags, structured data (JSON-LD), and sitemap support? These should be built in, not added by you.

Contact form integration: Static sites cannot process forms natively. Look for themes that integrate with Netlify Forms, Formspree, or Getform out of the box.

Performance: Check the theme’s demo in PageSpeed Insights before buying. Business sites need to score 85+ on mobile — slow sites lose customers.

Documentation: A premium theme without documentation is a support ticket waiting to happen. Good themes include clear instructions for installation, configuration, and common customisations.

Dark mode: Optional but increasingly expected. Business visitors browse at all hours.

Browse business and landing page Jekyll themes on JekyllHub for curated premium options.

Setting up a contact form on a Jekyll business site

Jekyll is static, which means no server-side form processing. The three best options:

Netlify Forms

If you host on Netlify, add netlify to your form tag and Netlify handles everything:

<form name="contact" method="POST" data-netlify="true">
  <input type="text" name="name" placeholder="Your name" required>
  <input type="email" name="email" placeholder="Email address" required>
  <textarea name="message" placeholder="Your message" required></textarea>
  <button type="submit">Send Message</button>
</form>

Free for 100 submissions/month on Netlify’s free plan.

Formspree

Add an action attribute pointing to your Formspree endpoint:

<form action="https://formspree.io/f/YOUR_FORM_ID" method="POST">
  <input type="email" name="email" placeholder="Your email" required>
  <textarea name="message" placeholder="Your message" required></textarea>
  <button type="submit">Send</button>
</form>

Free for 50 submissions/month.

SEO for small business Jekyll sites

Jekyll has excellent SEO capabilities when configured correctly. Install jekyll-seo-tag and add it to your _config.yml:

plugins:
  - jekyll-seo-tag

title: "Smith Plumbing  Edinburgh"
description: "Local plumbing services in Edinburgh. Available 24/7 for emergency callouts."
url: "https://smithplumbing.co.uk"

twitter:
  username: smithplumbing
  card: summary_large_image

social:
  name: Smith Plumbing
  links:
    - https://twitter.com/smithplumbing
    - https://facebook.com/smithplumbing

Then add {% seo %} to your <head>. This generates all the meta tags, Open Graph tags, and Twitter Card tags automatically.

Local business structured data

For local businesses, add JSON-LD to your homepage to help Google understand your business:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "JekyllHub",
  "description": "The premier marketplace for Jekyll themes. Browse, preview, and download stunning themes for your next project.",
  "url": "https://jekyllhub.com",
  "telephone": "",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "",
    "addressLocality": "",
    "addressCountry": ""
  }
}
</script>

Is Jekyll right for your small business?

Jekyll is an excellent choice if:

  • Your site is primarily informational (services, about, contact, blog)
  • You want a fast, secure site with minimal hosting costs
  • You are comfortable editing Markdown files
  • You do not need real-time features (stock levels, user accounts, live chat)

Jekyll is not ideal if:

  • You need a booking system, customer login, or real-time inventory
  • You want a non-technical team member to edit content without touching files (consider a headless CMS like Contentful or Decap CMS in this case)
  • You need a large e-commerce catalogue

For most small businesses — consultants, agencies, local services, freelancers — Jekyll is an excellent fit. It is fast, secure, cheap to run, and puts you in full control.

Share LinkedIn

<!DOCTYPE html>

How to Add an Email Newsletter Signup to Your Jekyll Site | JekyllHub
Home Blog How to Add an Email Newsletter Signup to Your Jekyll Site
Tutorial

How to Add an Email Newsletter Signup to Your Jekyll Site

Add a working email newsletter signup form to Jekyll — using Mailchimp, ConvertKit, Buttondown, or Netlify Forms. Setup guides, embedded forms, and popup options.

How to Add an Email Newsletter Signup to Your Jekyll Site

Building an email list is one of the highest-value things you can do for a content site — owned audience, no algorithm dependency. Jekyll doesn’t have a built-in signup form, but connecting to an email service is straightforward. This guide covers the four best options.


Which Email Service to Use

  Mailchimp ConvertKit Buttondown Netlify Forms
Free plan 500 contacts 1,000 subscribers 100 subscribers 100 submissions/mo
Price after free $13+/month $25+/month $9/month $19+/month
API/embed forms Yes Yes Yes Yes
Automations Yes Excellent Basic No
Best for General blogs Creator businesses Developers/indie Simple capture only

Recommendation: Buttondown for new newsletters (simple, developer-friendly, affordable). ConvertKit if you plan to sell products or courses. Mailchimp if you need a free plan for a large list.


Option 1: Mailchimp Embedded Form

Step 1: Get Your Embed Code

  1. Log in to Mailchimp
  2. Go to Audience → Signup forms → Embedded forms
  3. Choose Unstyled (you’ll apply your own CSS)
  4. Copy the generated HTML

It looks something like:

<form action="https://yourdomain.us1.list-manage.com/subscribe/post?u=XXXX&amp;id=YYYY" 
      method="post" target="_blank">
  <input type="email" name="EMAIL" placeholder="Your email address" required>
  <input type="submit" value="Subscribe">
  <!-- Mailchimp bot protection — do not remove -->
  <div style="position: absolute; left: -5000px;" aria-hidden="true">
    <input type="text" name="b_XXXX_YYYY" tabindex="-1" value="">
  </div>
</form>

Step 2: Create a Newsletter Include

Save as _includes/newsletter.html:

<div class="newsletter-signup">
  <h3>Stay in the loop</h3>
  <p>Get new posts and Jekyll tips delivered to your inbox.</p>
  
  <form action="YOUR_MAILCHIMP_ACTION_URL" method="post" 
        target="_blank" class="newsletter-form" id="newsletter-form">
    <div class="newsletter-form__fields">
      <input type="email" name="EMAIL" placeholder="your@email.com" 
             required class="newsletter-form__input">
      <button type="submit" class="btn btn--primary">Subscribe</button>
    </div>
    <!-- Mailchimp bot protection -->
    <div style="position: absolute; left: -5000px;" aria-hidden="true">
      <input type="text" name="b_XXXX_YYYY" tabindex="-1" value="">
    </div>
  </form>
  
  <p class="newsletter-form__note">No spam. Unsubscribe anytime.</p>
</div>

Step 3: Add to Your Layouts

At the bottom of posts (_layouts/post.html):


{% include newsletter.html %}

Or in your sidebar:


{% include sidebar/newsletter.html %}


Option 2: ConvertKit Inline Form

ConvertKit generates clean embed code that’s easy to style.

Step 1: Create a Form in ConvertKit

  1. In ConvertKit, go to Landing Pages & Forms → Create New → Form
  2. Choose Inline type
  3. Customise the fields
  4. Click Embed → copy the HTML embed code

Step 2: Use the Embed or Build Your Own

ConvertKit’s hosted form has an endpoint you can post to directly:

<form action="https://app.convertkit.com/forms/FORM_ID/subscriptions" 
      method="post" class="newsletter-form">
  <input type="text" name="fields[first_name]" placeholder="First name (optional)">
  <input type="email" name="email_address" placeholder="your@email.com" required>
  <button type="submit">Subscribe</button>
</form>

Replace FORM_ID with your ConvertKit form ID (found in the form’s embed code).


Option 3: Buttondown (Developer-Friendly)

Buttondown is the simplest option for developers — clean API, great plain-text email support, and a very reasonable pricing model.

Embed Form

<form action="https://buttondown.email/api/emails/embed-subscribe/YOUR_USERNAME"
      method="post" target="popupwindow"
      onsubmit="window.open('https://buttondown.email/YOUR_USERNAME', 'popupwindow')"
      class="newsletter-form">
  <input type="email" name="email" placeholder="your@email.com" required>
  <button type="submit">Subscribe</button>
</form>

Replace YOUR_USERNAME with your Buttondown username. That’s the entire setup.


Option 4: Custom Form with Netlify Forms

If you’re on Netlify and want to collect emails without a third-party service, Netlify Forms can capture signups and forward them via email or webhook.

<form name="newsletter" method="POST" data-netlify="true" class="newsletter-form">
  <input type="hidden" name="form-name" value="newsletter">
  <input type="email" name="email" placeholder="your@email.com" required>
  <button type="submit">Subscribe</button>
</form>

Limitation: Netlify Forms doesn’t send emails to subscribers — you’d need to export the list and use an email tool separately. Good for building a waitlist or early access list, not for an ongoing newsletter.


Styling the Signup Form

// _sass/components/_newsletter.scss

.newsletter-signup {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 2rem;
  text-align: center;
  margin: 3rem 0;

  h3 {
    margin-top: 0;
    font-size: 1.25rem;
  }

  p {
    color: var(--text-muted);
    margin-bottom: 1.25rem;
  }
}

.newsletter-form__fields {
  display: flex;
  gap: 0.5rem;
  max-width: 420px;
  margin: 0 auto;

  @media (max-width: 480px) {
    flex-direction: column;
  }
}

.newsletter-form__input {
  flex: 1;
  padding: 0.625rem 0.875rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  font-size: 1rem;
  background: var(--bg-color);
  color: var(--text-color);

  &:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
  }
}

.newsletter-form__note {
  font-size: 0.8rem;
  color: var(--text-muted);
  margin-top: 0.75rem;
  margin-bottom: 0;
}

Where to Place Newsletter Signups

For the best conversion, add signups in multiple places:

After post content — readers who finished the post are most likely to subscribe. This is the highest-converting placement.

Mid-post (after 3–4 paragraphs) — catches readers before they leave.

Sidebar widget — always visible on desktop.

Homepage — dedicated section below the fold.

In your footer — catches users who scroll to the bottom.


<!-- In _layouts/post.html, after content -->
<div class="post-newsletter">
  {% include newsletter.html %}
</div>


Measuring Signup Rates

A healthy newsletter signup rate for a blog is 1–3% of visitors. Track it by:

  1. Setting up a thank-you page redirect after signup
  2. Adding a Google Analytics goal for visits to /thank-you/
  3. Alternatively, use ConvertKit or Mailchimp’s built-in form analytics

Most email services show total subscribers and form conversion rates in their dashboard.


An email list is the most resilient audience you can build. Unlike social media followers or search traffic, your subscribers are yours — algorithm changes don’t affect them.

Browse Jekyll themes on JekyllHub — several themes include pre-styled newsletter signup sections.

Share LinkedIn

<!DOCTYPE html>

Jekyll E-commerce with Snipcart: Add a Shopping Cart to Your Static Site | JekyllHub
Home Blog Jekyll E-commerce with Snipcart: Add a Shopping Cart to Your Static Site
Tutorial

Jekyll E-commerce with Snipcart: Add a Shopping Cart to Your Static Site

Learn how to add a fully functional shopping cart to a Jekyll site using Snipcart. Product listings, checkout, payments, and order management — no backend required.

Jekyll E-commerce with Snipcart: Add a Shopping Cart to Your Static Site

Jekyll is a static site generator — it does not have a database, a server, or a shopping cart. But that does not mean you cannot sell online. Snipcart is a JavaScript-powered shopping cart that adds to any static site with a few lines of HTML. No backend, no database, no hosting complexity.

Here is how to build a fully functional Jekyll store with Snipcart.

What is Snipcart?

Snipcart is a headless e-commerce platform. You add their JavaScript to your site, mark your products with HTML data attributes, and Snipcart handles the cart, checkout, payment processing (via Stripe), and order management through their dashboard.

You keep full control of your site’s design. Snipcart handles everything that requires a server.

Pricing: 2% transaction fee on sales up to $500/month, then $20/month flat fee. Free to test with a sandbox mode.

Setting up Snipcart in Jekyll

Step 1: Create a Snipcart account

Sign up at snipcart.com. You will get a public API key for testing (sandbox) and one for production.

Step 2: Add Snipcart to your Jekyll layout

Add the following to your _layouts/default.html before the closing </body> tag:


{% if site.snipcart_key != "" %}
<link rel="preconnect" href="https://app.snipcart.com">
<link rel="preconnect" href="https://cdn.snipcart.com">
<link rel="stylesheet" href="https://cdn.snipcart.com/themes/v3.3.3/default/snipcart.css" />
<div hidden id="snipcart" data-api-key="{{ site.snipcart_key }}"></div>
<script async src="https://cdn.snipcart.com/themes/v3.3.3/default/snipcart.js"></script>
{% endif %}

Step 3: Add your API key to _config.yml

# _config.yml
snipcart_key: ""  # Add your Snipcart public API key here

Keep your test key for local development and your live key in your hosting platform’s environment variables.

Step 4: Define products in front matter

Create a _products collection in _config.yml:

collections:
  products:
    output: true
    permalink: /shop/:slug/

Create a product file at _products/jekyll-starter-theme.md:

---
layout: product
title: "Jekyll Starter Theme"
price: 29.00
sku: "JST-001"
description: "A clean, minimal Jekyll theme for developers. Includes dark mode, SEO optimisation, and full documentation."
image: /assets/images/products/jekyll-starter-theme.jpg
category: Themes
in_stock: true
---

Your full product description here in Markdown...

Step 5: Create the Add to Cart button

In your product layout or product listing, add a button with Snipcart’s data attributes:


<button
  class="snipcart-add-item btn btn--primary"
  data-item-id="{{ product.sku }}"
  data-item-name="{{ product.title }}"
  data-item-price="{{ product.price }}"
  data-item-url="{{ product.url | absolute_url }}"
  data-item-description="{{ product.description | strip_html | truncate: 255 }}"
  data-item-image="{{ product.image | absolute_url }}"
>
  Add to Cart — ${{ product.price }}
</button>

The data-item-url must point to the live product page where Snipcart can verify the price. This is Snipcart’s anti-fraud mechanism — it crawls the URL and confirms the price matches what was passed to the cart.

Step 6: Add the cart button to your nav

<button class="snipcart-checkout navbar__icon-btn" aria-label="Shopping cart">
  <svg width="20" height="20" fill="none" stroke="currentColor" viewBox="0 0 24 24">
    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"/>
  </svg>
  <span class="snipcart-items-count">0</span>
</button>

The snipcart-items-count class is updated automatically by Snipcart with the current cart item count.

Creating a product listing page

Create _pages/shop.html:

---
layout: default
title: "Shop"
permalink: /shop/
---

<div class="product-grid">
  {% for product in site.products %}
  <div class="product-card">
    <img src="{{ product.image | relative_url }}" alt="{{ product.title }}">
    <h3>{{ product.title }}</h3>
    <p>{{ product.description | truncate: 120 }}</p>
    <p class="price">${{ product.price }}</p>
    <button
      class="snipcart-add-item btn btn--primary"
      data-item-id="{{ product.sku }}"
      data-item-name="{{ product.title }}"
      data-item-price="{{ product.price }}"
      data-item-url="{{ product.url | absolute_url }}"
      data-item-description="{{ product.description | strip_html | truncate: 255 }}"
      data-item-image="{{ product.image | absolute_url }}"
    >
      Add to Cart
    </button>
  </div>
  {% endfor %}
</div>

Handling digital products

Snipcart supports digital product delivery via a file URL. Add it to your button:

data-item-file-guid="YOUR_FILE_GUID"

You upload the file in the Snipcart dashboard and get a GUID. Snipcart delivers a download link to the customer after payment. This is ideal for selling theme files, ebooks, or templates.

Tax and shipping

Configure tax rules and shipping rates in the Snipcart dashboard — no code changes needed. You can set rates by country, region, or product category.

Alternatives to Snipcart

Option Best for
Snipcart Most Jekyll stores — simplest setup
Gumroad Digital products only — embed a Gumroad button
Stripe Payment Links Single products, no cart needed
Shopify Buy Button Larger catalogues with existing Shopify store
Lemon Squeezy SaaS products, subscriptions, software

Is Jekyll right for e-commerce?

Jekyll works well for stores with a small to medium catalogue (under a few hundred products), digital goods, or marketplaces where the product pages are mostly static content. It is not the right choice for large catalogues with complex inventory management, real-time stock levels, or customer accounts.

For selling a Jekyll theme or digital download, Jekyll plus Snipcart is a perfectly reasonable stack. For a 10,000-SKU physical goods store, reach for Shopify.

Share LinkedIn

<!DOCTYPE html>

Jekyll Environment Variables: The Complete Guide | JekyllHub
Home Blog Jekyll Environment Variables: The Complete Guide
Tutorial

Jekyll Environment Variables: The Complete Guide

How to use environment variables in Jekyll — JEKYLL_ENV, accessing env vars in config, conditional builds, and best practices for managing secrets.

Jekyll Environment Variables: The Complete Guide

Environment variables in Jekyll are simpler than you might expect — but also more limited than many developers assume coming from Node.js or Python. Here is everything you need to know.

JEKYLL_ENV: the key environment variable

Jekyll ships with one built-in environment variable: JEKYLL_ENV. It defaults to development when you run jekyll serve or jekyll build locally. To set it to production, prefix your build command:

JEKYLL_ENV=production jekyll build

On Netlify, Cloudflare Pages, and most CI platforms, this is set automatically.

Using JEKYLL_ENV in Liquid templates

You can read the environment in your templates using jekyll.environment:


{% if jekyll.environment == "production" %}
  {% include analytics.html %}
{% endif %}

This is the standard pattern for including analytics, chat widgets, and other scripts only in production builds — keeping your development output clean and your test data separate from real analytics.

Common production-only includes


{% comment %} In _layouts/default.html {% endcomment %}
{% if jekyll.environment == "production" %}
  {% include analytics.html %}
  {% include cookie-banner.html %}
{% endif %}

Can Jekyll read system environment variables?

Yes — but only through _config.yml using ERB interpolation, and only when Jekyll is run with the --config flag pointing to a .yml file processed as ERB. This is not supported out of the box in standard Jekyll.

The most reliable approach for secrets in Jekyll is to use your hosting platform’s environment variable system and inject values at build time.

Injecting environment variables via _config.yml on Netlify

Netlify lets you set environment variables in your site dashboard (Site settings → Environment variables). You can then reference them in netlify.toml:

[build]
  command = "JEKYLL_ENV=production jekyll build"
  publish = "_site"

[build.environment]
  JEKYLL_ENV = "production"

For values you want available in your Liquid templates, the cleanest approach is to set them in _config.yml directly — keeping non-secret config in version control and only truly secret values (API keys, tokens) in the platform’s environment variable system.

Environment-specific config files

Jekyll supports multiple config files merged at build time. This is the recommended pattern for environment-specific settings:

# Development (default)
jekyll serve

# Production
jekyll build --config _config.yml,_config.production.yml

# Staging
jekyll build --config _config.yml,_config.staging.yml

Your _config.production.yml overrides only the values that differ:

# _config.production.yml
url: "https://yourdomain.com"
google_analytics: "G-XXXXXXXXXX"
show_drafts: false

Your _config.yml keeps safe defaults:

# _config.yml
url: "http://localhost:4000"
google_analytics: ""
show_drafts: true

Practical examples

Analytics only in production


{% comment %} _includes/analytics.html {% endcomment %}
{% if jekyll.environment == "production" and site.google_analytics != "" %}
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag("js", new Date());
  gtag("config", "{{ site.google_analytics }}");
</script>
{% endif %}

Draft posts visible in development only

# _config.yml
show_drafts: false

# _config.development.yml  
show_drafts: true
jekyll serve --config _config.yml,_config.development.yml --drafts

Different base URLs per environment

# _config.yml
url: "https://jekyllhub.com"
baseurl: ""

# _config.staging.yml
url: "https://staging.jekyllhub.com"
baseurl: "/staging"
# _config.yml
maintenance_mode: false

{% if site.maintenance_mode %}
  <div class="maintenance-banner">We are performing maintenance. Back shortly.</div>
{% endif %}

What you cannot do directly

Jekyll does not have a .env file loader like Node.js projects. You cannot write:

# This does NOT work in Jekyll
API_KEY=abc123

…and then access `` in a template. Jekyll does not read shell environment variables into the Liquid context.

If you need to expose an API key to client-side JavaScript, remember that anything in your built _site folder is public. Never embed secret API keys in static HTML. Use a proxy function (Netlify Functions, Cloudflare Workers) to make authenticated requests from the server side.

Summary

Pattern Use case
JEKYLL_ENV=production Toggle analytics, ads, and scripts
Multiple _config files Environment-specific URLs and settings
Platform env vars in netlify.toml Inject build-time values
jekyll.environment in Liquid Conditional template logic

Keep your environment strategy simple. For most Jekyll sites, JEKYLL_ENV plus a production config override covers everything you need.

Share LinkedIn

<!DOCTYPE html>

Jekyll Liquid Filters: The Complete Cheatsheet (2026) | JekyllHub
Home Blog Jekyll Liquid Filters: The Complete Cheatsheet (2026)
Tutorial

Jekyll Liquid Filters: The Complete Cheatsheet (2026)

Every Liquid filter you need for Jekyll — string manipulation, date formatting, array filters, URL helpers, and Jekyll-specific additions. With examples.

Jekyll Liquid Filters: The Complete Cheatsheet (2026)

Liquid filters transform output in Jekyll templates. They are chained with the pipe character | and applied to variables, strings, numbers, arrays, and dates. This cheatsheet covers every filter you will actually use, with real examples.

String filters

append and prepend

Jekyll Themes
<!-- output: Jekyll Themes -->

Jekyll Themes
<!-- output: Jekyll Themes -->

upcase, downcase, capitalize

HELLO WORLD
<!-- output: HELLO WORLD -->

hello world
<!-- output: hello world -->

Hello world
<!-- output: Hello world -->

strip, lstrip, rstrip

Removes whitespace from both ends, left only, or right only.

hello
<!-- output: hello -->

replace and replace_first

JekyllHub is great, JekyllHub is fast
<!-- output: JekyllHub is great, JekyllHub is fast -->

JekyllHub is great, Jekyll is fast
<!-- output: JekyllHub is great, Jekyll is fast -->

remove and remove_first

Hello World!
<!-- output: Hello World! -->

truncate and truncatewords

The qui...
<!-- output: The qui... -->

The quick brown...
<!-- output: The quick brown... -->

split and join


{% assign tags = "jekyll,blog,themes" | split: "," %}
{{ tags | join: " · " }}
<!-- output: jekyll · blog · themes -->

slice

Returns a substring starting at the given index.

Jek
<!-- output: Jek -->

strip_html

Removes all HTML tags from a string — useful for generating meta descriptions from post content.


strip_newlines

<div class="read-progress" id="read-progress"></div><article class="post" itemscope itemtype="https://schema.org/BlogPosting">  <header class="post-hero">    <div class="container">      <div class="post-hero__breadcrumb">        <a href="/">Home</a>        <span class="breadcrumb-sep">›</span>        <a href="/blog/">Blog</a>        <span class="breadcrumb-sep">›</span>        <span>Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)</span>      </div>      <div class="post-hero__inner">                <span class="post-hero__cat">Themes</span>                <h1 class="post-hero__title" itemprop="name">Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)</h1>                <p class="post-hero__desc" itemprop="description">The best minimal Jekyll themes for blogs, portfolios, and personal sites — clean typography, fast load times, and zero visual clutter.</p>                <div class="post-hero__meta">          <span class="post-meta-item">            <svg width="15" height="15" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg>            Updated <time itemprop="dateModified" datetime="2026-07-05T00:00:00+00:00">July 5, 2026</time>          </span>          <span class="post-meta-item">            <svg width="15" height="15" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/></svg>            4 min read          </span>        </div>      </div>    </div>  </header>    <div class="post-cover">    <div class="container">      <img src="/assets/images/blog/jekyll-minimal-themes.webp" alt="Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)" class="post-cover__img" itemprop="image">    </div>  </div>    <div class="container">    <div class="post-body">      <div class="post-body__main">                <div class="post-toc" id="post-toc" data-collapsed="false" style="display:none">          <button class="post-toc__label" id="toc-toggle" aria-expanded="false" aria-controls="toc-body">            <span class="post-toc__label-left">              <svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 10h16M4 14h10"/></svg>              Table of Contents            </span>            <svg class="post-toc__chevron" width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/></svg>          </button>          <nav id="toc-body" class="toc"></nav>        </div>                <div class="prose" itemprop="articleBody">          <p>Minimal themes are the most popular category in the Jekyll ecosystem — and for good reason. A minimal design puts the focus on your content, loads in milliseconds, and never goes out of style. Here are the best minimal Jekyll themes in 2026.</p><h2 id="what-makes-a-theme-truly-minimal">What makes a theme truly minimal?</h2><p>A minimal Jekyll theme is not just a theme with less CSS. The best ones share a few key characteristics:</p><ul>  <li><strong>Typography-first</strong> — the reading experience is the design</li>  <li><strong>No unnecessary widgets</strong> — no popups, cookie banners, social share floods, or autoplay anything</li>  <li><strong>Fast by default</strong> — no large hero images, no heavy JavaScript frameworks</li>  <li><strong>Easy to customise</strong> — minimal markup means less to override</li>  <li><strong>Responsive</strong> — works perfectly on mobile without a complex grid system</li></ul><h2 id="best-free-minimal-jekyll-themes">Best free minimal Jekyll themes</h2><h3 id="minima">Minima</h3><p>The default Jekyll theme and arguably the most used Jekyll theme in existence. Minima ships with every new Jekyll install. It is bare-bones by design: clean typography, a simple nav, an archive list, and not much else.</p><p><strong>Best for:</strong> Getting started, technical blogs, personal sites where content is everything.<br /><strong>GitHub:</strong> <a href="https://github.com/jekyll/minima">jekyll/minima</a> — 3,000+ stars</p><h3 id="klise">Klise</h3><p>Klise is a minimal, high contrast Jekyll theme with dark mode support. It focuses entirely on readability — clean sans-serif type, generous line height, and a subtle dark/light toggle. No hero, no sidebar, no decorative elements.</p><p><strong>Best for:</strong> Developer blogs, writing-focused sites.<br /><strong>GitHub:</strong> <a href="https://github.com/piharpi/jekyll-klise">piharpi/jekyll-klise</a> — 800+ stars</p><h3 id="chirpy">Chirpy</h3><p>Chirpy is minimal but feature-complete. It adds a left sidebar with categories and tags, a table of contents that follows the reader, and dark mode — all without visual noise. The design is calm and professional.</p><p><strong>Best for:</strong> Technical blogs that need categories and navigation without sacrificing simplicity.<br /><strong>GitHub:</strong> <a href="https://github.com/cotes2020/jekyll-theme-chirpy">cotes2020/jekyll-theme-chirpy</a> — 8,000+ stars</p><h3 id="no-style-please">No Style Please!</h3><p>Exactly what the name says. This theme applies almost no CSS — content renders in the browser’s default styles. Intentionally ugly, intentionally fast. Popular in the indie web and “small web” communities.</p><p><strong>Best for:</strong> Experimental sites, writers who want the ultimate zero-distraction canvas.<br /><strong>GitHub:</strong> <a href="https://github.com/riggraz/no-style-please">riggraz/no-style-please</a> — 800+ stars</p><h3 id="so-simple">So Simple</h3><p>A simple-is-better theme with a single-column layout, large readable type, and support for author profiles. The name is accurate. It is maintained by Michael Rose, who also built the excellent Minimal Mistakes theme.</p><p><strong>Best for:</strong> Personal sites, writing portfolios, minimalist blogs.</p><h3 id="researcher">Researcher</h3><p>Researcher is built for academic and research professionals who want a clean, no-frills presence online. It outputs a single-page site with sections for bio, publications, and projects. Nothing more.</p><p><strong>Best for:</strong> Academics, PhD students, researchers, scientists.<br /><strong>GitHub:</strong> <a href="https://github.com/ankitsultana/researcher">ankitsultana/researcher</a></p><h2 id="what-to-look-for-when-choosing-a-minimal-theme">What to look for when choosing a minimal theme</h2><p><strong>Typography:</strong> Check the font pairing, line height, and measure (line length). The ideal measure for body text is 50–75 characters per line. If the theme stretches text full-width on desktop, skip it.</p><p><strong>Dark mode:</strong> In 2026, dark mode is expected. Look for themes with a clean system-respecting dark mode rather than a garish inverted palette.</p><p><strong>Performance:</strong> Open the theme’s demo in PageSpeed Insights. A good minimal theme should score 95+ on mobile without any optimisation from you.</p><p><strong>Front matter support:</strong> Check what fields the theme supports: <code class="language-plaintext highlighter-rouge">description</code>, <code class="language-plaintext highlighter-rouge">image</code>, <code class="language-plaintext highlighter-rouge">author</code>, <code class="language-plaintext highlighter-rouge">toc</code>. Themes that support rich front matter give you more flexibility as your site grows.</p><h2 id="premium-minimal-options">Premium minimal options</h2><p>Free minimal themes are excellent, but if you want something more refined — custom typography, polished dark mode, better SEO defaults, and actual support — a premium theme is worth considering.</p><p>Browse <a href="/themes/?category=Blog">minimal Jekyll themes on JekyllHub</a> to compare free and premium options side by side.</p><h2 id="the-right-amount-of-minimal">The right amount of minimal</h2><p>“Minimal” is not the same as “unfinished.” The best minimal themes are the result of careful design decisions — every element has a reason to be there, and everything unnecessary has been removed. They are not lazy; they are deliberate.</p><p>When you find the right one, you will spend your time writing. That is the point.</p>        </div>                <div class="post-tags">                  </div>                <div class="post-share">          <span class="post-share__label">Share</span>          <a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fjekyllhub.com%2Fthemes%2F2026%2F05%2F20%2Fjekyll-minimal-themes%2F&text=Best+Minimal+Jekyll+Themes+in+2026+%28Clean%2C+Fast%2C+Distraction-Free%29" target="_blank" rel="noopener" class="post-share__btn post-share__btn--twitter">            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>            X / Twitter          </a>          <a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fjekyllhub.com%2Fthemes%2F2026%2F05%2F20%2Fjekyll-minimal-themes%2F&title=Best+Minimal+Jekyll+Themes+in+2026+%28Clean%2C+Fast%2C+Distraction-Free%29" target="_blank" rel="noopener" class="post-share__btn post-share__btn--linkedin">            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>            LinkedIn          </a>          <button class="post-share__btn post-share__btn--copy" onclick="JekyllHub.copyPostLink(this)">            <svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"/></svg>            <span>Copy Link</span>          </button>        </div>                <nav class="post-nav" aria-label="Post navigation">          <div class="post-nav__prev">                        <a href="/comparison/2026/05/19/jekyll-vs-nextjs/" class="post-nav__link">              <span class="post-nav__label">← Previous</span>              <span class="post-nav__title">Jekyll vs Next.js: A Practical Comparison for 2026</span>            </a>                      </div>          <div class="post-nav__center">            <a href="/blog/" class="btn btn--secondary btn--sm">All Posts</a>          </div>          <div class="post-nav__next">                        <a href="/tutorial/2026/05/21/jekyll-liquid-filters-cheatsheet/" class="post-nav__link post-nav__link--next">              <span class="post-nav__label">Next →</span>              <span class="post-nav__title">Jekyll Liquid Filters: The Complete Cheatsheet (2026)</span>            </a>                      </div>        </nav>      </div>      <aside class="post-body__sidebar">        <div class="sidebar-card">          <h3 class="sidebar-card__title">Browse Themes</h3>          <ul class="post-sidebar__links">                        <li><a href="/jekyll-academic-themes/">🎓 Academic Themes</a></li>                        <li><a href="/jekyll-blog-themes/">✍️ Blog Themes</a></li>                        <li><a href="/jekyll-business-themes/">💼 Business Themes</a></li>                        <li><a href="/jekyll-documentation-themes/">📚 Documentation Themes</a></li>                        <li><a href="/jekyll-e-commerce-themes/">🛒 E-commerce Themes</a></li>                        <li><a href="/jekyll-landing-page-themes/">🚀 Landing Page Themes</a></li>                        <li><a href="/jekyll-personal-themes/">👤 Personal Themes</a></li>                        <li><a href="/jekyll-portfolio-themes/">🎨 Portfolio Themes</a></li>                        <li><a href="/jekyll-resume-cv-themes/">📄 Resume/CV Themes</a></li>                        <li><a href="/jekyll-github-pages-themes/"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" style="display:inline;vertical-align:middle;margin-right:4px"><path d="M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>GitHub Pages Themes</a></li>          </ul>          <a href="/themes/" class="btn btn--primary btn--full" style="margin-top:var(--space-5)">Browse All Themes →</a>        </div>        <div class="sidebar-card" style="margin-top:var(--space-6)">          <h3 class="sidebar-card__title">Submit Your Theme</h3>          <p style="font-size:0.875rem;color:var(--text-3);line-height:1.6;margin-bottom:var(--space-4)">Built a Jekyll theme? Share it with thousands of developers.</p>          <a href="/submit/" class="btn btn--secondary btn--full">Submit a Theme →</a>        </div>      </aside>    </div>  </div>  <!-- Related Themes — rendered by JS from SITE_DATA, shuffled per page load -->      <section class="post-related-themes" style="display:none">    <div class="container">      <h2 class="post-related-themes__title">Themes You Might Like</h2>      <div class="themes-grid themes-grid--4" id="post-related-themes-grid"           data-tags="[]"           data-related-category="Blog"></div>    </div>  </section>  </article><!-- Back to top --><button class="back-to-top" id="back-to-top" aria-label="Back to top" onclick="window.scrollTo({top:0,behavior:'smooth'})">  <svg fill="none" stroke="currentColor" viewBox="0 0 24 24">    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M5 15l7-7 7 7"/>  </svg></button><script src="/assets/js/post.js" defer></script>

newline_to_br

Converts newlines to <br> tags.

<div class="read-progress" id="read-progress"></div><br />
<br />
<article class="post" itemscope itemtype="https://schema.org/BlogPosting"><br />
<br />
  <header class="post-hero"><br />
    <div class="container"><br />
      <div class="post-hero__breadcrumb"><br />
        <a href="/">Home</a><br />
        <span class="breadcrumb-sep">›</span><br />
        <a href="/blog/">Blog</a><br />
        <span class="breadcrumb-sep">›</span><br />
        <span>Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)</span><br />
      </div><br />
<br />
      <div class="post-hero__inner"><br />
        <br />
        <span class="post-hero__cat">Themes</span><br />
        <br />
<br />
        <h1 class="post-hero__title" itemprop="name">Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)</h1><br />
<br />
        <br />
        <p class="post-hero__desc" itemprop="description">The best minimal Jekyll themes for blogs, portfolios, and personal sites — clean typography, fast load times, and zero visual clutter.</p><br />
        <br />
<br />
        <div class="post-hero__meta"><br />
          <span class="post-meta-item"><br />
            <svg width="15" height="15" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg><br />
            Updated <time itemprop="dateModified" datetime="2026-07-05T00:00:00+00:00">July 5, 2026</time><br />
          </span><br />
<br />
          <span class="post-meta-item"><br />
            <svg width="15" height="15" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/></svg><br />
            4 min read<br />
          </span><br />
        </div><br />
      </div><br />
    </div><br />
  </header><br />
<br />
  <br />
  <div class="post-cover"><br />
    <div class="container"><br />
      <img src="/assets/images/blog/jekyll-minimal-themes.webp" alt="Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)" class="post-cover__img" itemprop="image"><br />
    </div><br />
  </div><br />
  <br />
<br />
  <div class="container"><br />
    <div class="post-body"><br />
      <div class="post-body__main"><br />
        <br />
        <div class="post-toc" id="post-toc" data-collapsed="false" style="display:none"><br />
          <button class="post-toc__label" id="toc-toggle" aria-expanded="false" aria-controls="toc-body"><br />
            <span class="post-toc__label-left"><br />
              <svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 10h16M4 14h10"/></svg><br />
              Table of Contents<br />
            </span><br />
            <svg class="post-toc__chevron" width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/></svg><br />
          </button><br />
          <nav id="toc-body" class="toc"></nav><br />
        </div><br />
        <br />
<br />
        <div class="prose" itemprop="articleBody"><br />
          <p>Minimal themes are the most popular category in the Jekyll ecosystem — and for good reason. A minimal design puts the focus on your content, loads in milliseconds, and never goes out of style. Here are the best minimal Jekyll themes in 2026.</p><br />
<br />
<h2 id="what-makes-a-theme-truly-minimal">What makes a theme truly minimal?</h2><br />
<br />
<p>A minimal Jekyll theme is not just a theme with less CSS. The best ones share a few key characteristics:</p><br />
<br />
<ul><br />
  <li><strong>Typography-first</strong> — the reading experience is the design</li><br />
  <li><strong>No unnecessary widgets</strong> — no popups, cookie banners, social share floods, or autoplay anything</li><br />
  <li><strong>Fast by default</strong> — no large hero images, no heavy JavaScript frameworks</li><br />
  <li><strong>Easy to customise</strong> — minimal markup means less to override</li><br />
  <li><strong>Responsive</strong> — works perfectly on mobile without a complex grid system</li><br />
</ul><br />
<br />
<h2 id="best-free-minimal-jekyll-themes">Best free minimal Jekyll themes</h2><br />
<br />
<h3 id="minima">Minima</h3><br />
<br />
<p>The default Jekyll theme and arguably the most used Jekyll theme in existence. Minima ships with every new Jekyll install. It is bare-bones by design: clean typography, a simple nav, an archive list, and not much else.</p><br />
<br />
<p><strong>Best for:</strong> Getting started, technical blogs, personal sites where content is everything.<br /><br />
<strong>GitHub:</strong> <a href="https://github.com/jekyll/minima">jekyll/minima</a> — 3,000+ stars</p><br />
<br />
<h3 id="klise">Klise</h3><br />
<br />
<p>Klise is a minimal, high contrast Jekyll theme with dark mode support. It focuses entirely on readability — clean sans-serif type, generous line height, and a subtle dark/light toggle. No hero, no sidebar, no decorative elements.</p><br />
<br />
<p><strong>Best for:</strong> Developer blogs, writing-focused sites.<br /><br />
<strong>GitHub:</strong> <a href="https://github.com/piharpi/jekyll-klise">piharpi/jekyll-klise</a> — 800+ stars</p><br />
<br />
<h3 id="chirpy">Chirpy</h3><br />
<br />
<p>Chirpy is minimal but feature-complete. It adds a left sidebar with categories and tags, a table of contents that follows the reader, and dark mode — all without visual noise. The design is calm and professional.</p><br />
<br />
<p><strong>Best for:</strong> Technical blogs that need categories and navigation without sacrificing simplicity.<br /><br />
<strong>GitHub:</strong> <a href="https://github.com/cotes2020/jekyll-theme-chirpy">cotes2020/jekyll-theme-chirpy</a> — 8,000+ stars</p><br />
<br />
<h3 id="no-style-please">No Style Please!</h3><br />
<br />
<p>Exactly what the name says. This theme applies almost no CSS — content renders in the browser’s default styles. Intentionally ugly, intentionally fast. Popular in the indie web and “small web” communities.</p><br />
<br />
<p><strong>Best for:</strong> Experimental sites, writers who want the ultimate zero-distraction canvas.<br /><br />
<strong>GitHub:</strong> <a href="https://github.com/riggraz/no-style-please">riggraz/no-style-please</a> — 800+ stars</p><br />
<br />
<h3 id="so-simple">So Simple</h3><br />
<br />
<p>A simple-is-better theme with a single-column layout, large readable type, and support for author profiles. The name is accurate. It is maintained by Michael Rose, who also built the excellent Minimal Mistakes theme.</p><br />
<br />
<p><strong>Best for:</strong> Personal sites, writing portfolios, minimalist blogs.</p><br />
<br />
<h3 id="researcher">Researcher</h3><br />
<br />
<p>Researcher is built for academic and research professionals who want a clean, no-frills presence online. It outputs a single-page site with sections for bio, publications, and projects. Nothing more.</p><br />
<br />
<p><strong>Best for:</strong> Academics, PhD students, researchers, scientists.<br /><br />
<strong>GitHub:</strong> <a href="https://github.com/ankitsultana/researcher">ankitsultana/researcher</a></p><br />
<br />
<h2 id="what-to-look-for-when-choosing-a-minimal-theme">What to look for when choosing a minimal theme</h2><br />
<br />
<p><strong>Typography:</strong> Check the font pairing, line height, and measure (line length). The ideal measure for body text is 50–75 characters per line. If the theme stretches text full-width on desktop, skip it.</p><br />
<br />
<p><strong>Dark mode:</strong> In 2026, dark mode is expected. Look for themes with a clean system-respecting dark mode rather than a garish inverted palette.</p><br />
<br />
<p><strong>Performance:</strong> Open the theme’s demo in PageSpeed Insights. A good minimal theme should score 95+ on mobile without any optimisation from you.</p><br />
<br />
<p><strong>Front matter support:</strong> Check what fields the theme supports: <code class="language-plaintext highlighter-rouge">description</code>, <code class="language-plaintext highlighter-rouge">image</code>, <code class="language-plaintext highlighter-rouge">author</code>, <code class="language-plaintext highlighter-rouge">toc</code>. Themes that support rich front matter give you more flexibility as your site grows.</p><br />
<br />
<h2 id="premium-minimal-options">Premium minimal options</h2><br />
<br />
<p>Free minimal themes are excellent, but if you want something more refined — custom typography, polished dark mode, better SEO defaults, and actual support — a premium theme is worth considering.</p><br />
<br />
<p>Browse <a href="/themes/?category=Blog">minimal Jekyll themes on JekyllHub</a> to compare free and premium options side by side.</p><br />
<br />
<h2 id="the-right-amount-of-minimal">The right amount of minimal</h2><br />
<br />
<p>“Minimal” is not the same as “unfinished.” The best minimal themes are the result of careful design decisions — every element has a reason to be there, and everything unnecessary has been removed. They are not lazy; they are deliberate.</p><br />
<br />
<p>When you find the right one, you will spend your time writing. That is the point.</p><br />
<br />
        </div><br />
<br />
        <br />
        <div class="post-tags"><br />
          <br />
        </div><br />
        <br />
<br />
        <div class="post-share"><br />
          <span class="post-share__label">Share</span><br />
          <a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fjekyllhub.com%2Fthemes%2F2026%2F05%2F20%2Fjekyll-minimal-themes%2F&text=Best+Minimal+Jekyll+Themes+in+2026+%28Clean%2C+Fast%2C+Distraction-Free%29" target="_blank" rel="noopener" class="post-share__btn post-share__btn--twitter"><br />
            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg><br />
            X / Twitter<br />
          </a><br />
          <a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fjekyllhub.com%2Fthemes%2F2026%2F05%2F20%2Fjekyll-minimal-themes%2F&title=Best+Minimal+Jekyll+Themes+in+2026+%28Clean%2C+Fast%2C+Distraction-Free%29" target="_blank" rel="noopener" class="post-share__btn post-share__btn--linkedin"><br />
            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg><br />
            LinkedIn<br />
          </a><br />
          <button class="post-share__btn post-share__btn--copy" onclick="JekyllHub.copyPostLink(this)"><br />
            <svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"/></svg><br />
            <span>Copy Link</span><br />
          </button><br />
        </div><br />
<br />
        <br />
<br />
        <nav class="post-nav" aria-label="Post navigation"><br />
          <div class="post-nav__prev"><br />
            <br />
            <a href="/comparison/2026/05/19/jekyll-vs-nextjs/" class="post-nav__link"><br />
              <span class="post-nav__label">← Previous</span><br />
              <span class="post-nav__title">Jekyll vs Next.js: A Practical Comparison for 2026</span><br />
            </a><br />
            <br />
          </div><br />
          <div class="post-nav__center"><br />
            <a href="/blog/" class="btn btn--secondary btn--sm">All Posts</a><br />
          </div><br />
          <div class="post-nav__next"><br />
            <br />
            <a href="/tutorial/2026/05/21/jekyll-liquid-filters-cheatsheet/" class="post-nav__link post-nav__link--next"><br />
              <span class="post-nav__label">Next →</span><br />
              <span class="post-nav__title">Jekyll Liquid Filters: The Complete Cheatsheet (2026)</span><br />
            </a><br />
            <br />
          </div><br />
        </nav><br />
      </div><br />
<br />
      <aside class="post-body__sidebar"><br />
        <div class="sidebar-card"><br />
          <h3 class="sidebar-card__title">Browse Themes</h3><br />
          <ul class="post-sidebar__links"><br />
            <br />
            <li><a href="/jekyll-academic-themes/">🎓 Academic Themes</a></li><br />
            <br />
            <li><a href="/jekyll-blog-themes/">✍️ Blog Themes</a></li><br />
            <br />
            <li><a href="/jekyll-business-themes/">💼 Business Themes</a></li><br />
            <br />
            <li><a href="/jekyll-documentation-themes/">📚 Documentation Themes</a></li><br />
            <br />
            <li><a href="/jekyll-e-commerce-themes/">🛒 E-commerce Themes</a></li><br />
            <br />
            <li><a href="/jekyll-landing-page-themes/">🚀 Landing Page Themes</a></li><br />
            <br />
            <li><a href="/jekyll-personal-themes/">👤 Personal Themes</a></li><br />
            <br />
            <li><a href="/jekyll-portfolio-themes/">🎨 Portfolio Themes</a></li><br />
            <br />
            <li><a href="/jekyll-resume-cv-themes/">📄 Resume/CV Themes</a></li><br />
            <br />
            <li><a href="/jekyll-github-pages-themes/"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" style="display:inline;vertical-align:middle;margin-right:4px"><path d="M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>GitHub Pages Themes</a></li><br />
          </ul><br />
          <a href="/themes/" class="btn btn--primary btn--full" style="margin-top:var(--space-5)">Browse All Themes →</a><br />
        </div><br />
<br />
        <div class="sidebar-card" style="margin-top:var(--space-6)"><br />
          <h3 class="sidebar-card__title">Submit Your Theme</h3><br />
          <p style="font-size:0.875rem;color:var(--text-3);line-height:1.6;margin-bottom:var(--space-4)">Built a Jekyll theme? Share it with thousands of developers.</p><br />
          <a href="/submit/" class="btn btn--secondary btn--full">Submit a Theme →</a><br />
        </div><br />
      </aside><br />
    </div><br />
  </div><br />
<br />
  <!-- Related Themes — rendered by JS from SITE_DATA, shuffled per page load --><br />
<br />
  <br />
<br />
  <br />
  <section class="post-related-themes" style="display:none"><br />
    <div class="container"><br />
      <h2 class="post-related-themes__title">Themes You Might Like</h2><br />
      <div class="themes-grid themes-grid--4" id="post-related-themes-grid"<br />
           data-tags="[]"<br />
           data-related-category="Blog"></div><br />
    </div><br />
  </section><br />
  <br />
<br />
</article><br />
<br />
<!-- Back to top --><br />
<button class="back-to-top" id="back-to-top" aria-label="Back to top" onclick="window.scrollTo({top:0,behavior:'smooth'})"><br />
  <svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><br />
    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M5 15l7-7 7 7"/><br />
  </svg><br />
</button><br />
<script src="/assets/js/post.js" defer></script><br />

escape and escape_once

HTML-encodes a string.

&lt;script&gt;
<!-- output: &lt;script&gt; -->

url_encode and url_decode

hello+world
<!-- output: hello+world -->

markdownify

Converts a Markdown string to HTML. Useful for front matter fields written in Markdown.

<p>Every Liquid filter you need for Jekyll — string manipulation, date formatting, array filters, URL helpers, and Jekyll-specific additions. With examples.</p>

jsonify

Converts an object to JSON. Essential for passing Jekyll data to JavaScript.

<script>
  var themes = [{"path":"_themes/academicpages.md","relative_path":"_themes/academicpages.md","excerpt":"<p>Academic Pages is the most widely used academic personal website template on GitHub, with over 12,000 stars and hundreds of thousands of researchers using it worldwide. It’s a fork of Minimal Mistakes, extended specifically for academic use cases: publications with BibTeX citations, conference talks with slides and video links, course teaching pages, a project portfolio, and a CV that generates itself from structured YAML files.</p>\n\n","previous":null,"id":"/themes/academicpages","collection":"themes","next":{"path":"_themes/advance.md","relative_path":"_themes/advance.md","excerpt":"<p>Advance is the theme for teams and businesses that have outgrown a simple blog and need a full website — one that can handle services, a project portfolio, staff pages, and a content blog, all from a single Jekyll installation.</p>\n\n","previous":{"path":"_themes/academicpages.md","relative_path":"_themes/academicpages.md","id":"/themes/academicpages","collection":"themes","url":"/themes/academicpages/","draft":false,"categories":["Academic"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Academic Pages Jekyll Theme","description":"An academic portfolio Jekyll theme for researchers and scholars. Supports publications, talks, CV pages, and GitHub Pages out of the box.","key_features":["Publications Page","CV Layout","GitHub Pages","BibTeX Support"],"card_description":"Academic portfolio for researchers with publications, talks, and CV pages.","category":"Academic","card_image":"/assets/images/themes/academicpages-card.webp","theme_screenshots":["/assets/images/themes/academicpages-screenshot.webp","/assets/images/themes/academicpages-screenshot-2.webp","/assets/images/themes/academicpages-screenshot-3.webp"],"demo_url":"https://academicpages.github.io/","github_url":"https://github.com/academicpages/academicpages.github.io","author":"GitHub Community","github_author_name":"academicpages","github_author_url":"https://github.com/academicpages","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-include-cache"],"updated_at":"2024-06-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"2.1.0","license":"MIT","stars":12000,"forks":8000,"features":["Dedicated pages for publications, talks, and teaching","Auto-generated CV from structured YAML data","Jupyter notebook integration for data-driven pages","Google Scholar and ORCID profile links","BibTeX citation support","Research portfolio with project pages","Blog section for news and updates","SEO optimised for academic search visibility","GitHub Pages compatible — no server required","Fork-to-publish workflow"],"slug":"academicpages","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/advance","collection":"themes","next":{"path":"_themes/agency.md","relative_path":"_themes/agency.md","id":"/themes/agency","collection":"themes","url":"/themes/agency/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Agency Jekyll Theme","description":"A striking single-page agency Jekyll theme with full-screen sections, portfolio grid, and team showcase. Based on Start Bootstrap Agency.","key_features":["One-Page Design","Portfolio Grid","Team Showcase","Smooth Scroll"],"card_description":"Striking single-page agency theme with portfolio grid and team showcase.","category":"Portfolio","card_image":"/assets/images/themes/agency-card.webp","theme_screenshots":["/assets/images/themes/agency-screenshot.webp","/assets/images/themes/agency-screenshot-2.webp","/assets/images/themes/agency-screenshot-3.webp"],"demo_url":"https://y7kim.github.io/agency-jekyll-theme/","github_url":"https://github.com/y7kim/agency-jekyll-theme","author":"GitHub Community","github_author_name":"Rick Kim","github_author_url":"https://github.com/y7kim","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-01-10","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":820,"forks":420,"features":["Full-screen hero section","Project showcase grid","Dark aesthetic","Team and services sections","Contact form ready"],"slug":"agency","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Advance is the theme for teams and businesses that have outgrown a simple blog and need a full website — one that can handle services, a project portfolio, staff pages, and a content blog, all from a single Jekyll installation.\n\n### More Than a Blog\n\nMost Jekyll themes give you a blog and a few static pages. Advance ships with dedicated content types for **Services**, **Projects**, and **Team** — each with its own listing page and individual detail pages, all driven by markdown files and front-matter. Add a new team member, service offering, or case study the same way you'd add a blog post: create a markdown file and fill in the front-matter.\n\n### The Configurable Hero\n\nEvery page in Advance can have a unique hero section. Adjust the background image, colour overlay, blend effects, text alignment, and call-to-action — all from front-matter. No CSS editing required. The result is a site that feels custom-designed without custom development.\n\n### Performance by Default\n\nAdvance uses Bootstrap 5.2 for layout but strips jQuery entirely, keeping JavaScript to a minimum. Combined with automatic SEO meta tags, Open Graph data, and semantic HTML, the theme achieves strong Lighthouse scores out of the box. Dark mode is built in — automatic via system preference or manual toggle — so the design holds up in any context.\n\n### Deploy Anywhere\n\nAdvance is fully compatible with GitHub Pages (no custom plugins that break Pages builds) and ships with a `netlify.toml` for one-click Netlify deployment. Formspree and Netlify Forms are supported for contact forms; Disqus handles comments.\n\n**Who is it for?** Agencies, freelancers, and small businesses that want a professional multi-page Jekyll site — not just a blog — and need the flexibility to grow it over time.\n","url":"/themes/advance/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Advance Jekyll Theme","rating":4.9,"rating_count":38,"description":"A premium multi-purpose Jekyll theme for building advanced marketing and business websites. Includes Services, Projects, and Team content types, a configurable hero section, full blog, dark mode, and Bootstrap 5.2.","card_description":"Premium multi-purpose theme — services, projects, team, blog, and configurable hero.","price":79,"category":"Business","card_image":"/assets/images/themes/advance-card.webp","theme_screenshots":["/assets/images/themes/advance-screenshot.webp","/assets/images/themes/advance-screenshot-2.webp","/assets/images/themes/advance-screenshot-3.webp"],"key_features":["Multi-Purpose","Dark Mode","Services & Team","Configurable Hero"],"demo_url":"https://jekyll-advance.netlify.app/","buy_url":"https://www.zerostatic.io/theme/jekyll-advance/","author":"Zerostatic","author_url":"https://www.zerostatic.io/","github_author_name":"Zerostatic","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.2","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2025-04-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":true,"version":"1.0.0","license":"Commercial","features":["Jekyll 4.2+ with Bootstrap 5.2 — no jQuery, minimal vanilla JS","Services content type with individual service pages","Projects portfolio with filterable project showcase","Team content type for staff and contributor profiles","Full blog with pagination, categories, and author support","Highly configurable hero section — background image, colour overlay, alignment, text, and blend effects","Dark mode with automatic (system preference) and manual toggle","Breadcrumbs and sidebars on interior pages","Animated transparent header on scroll","All content editable via markdown, front-matter, or YAML — nothing hardcoded","Configure logo, colours, fonts, menus, and footer in _config.yml","Auto-generated SEO meta tags, Open Graph, and Twitter card data","Responsive nested dropdown navigation and mobile hamburger menu","Contact page with Netlify Forms and Formspree support","Disqus comments integration","Google Analytics and social media links","Google Fonts and Font Awesome 6 icons","Works with GitHub Pages and Netlify (includes netlify.toml)","All photos, illustrations, and icons included are royalty free","Full documentation at zerostatic.io/docs/jekyll-advance/"],"slug":"advance","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Academic Pages is the most widely used academic personal website template on GitHub, with over 12,000 stars and hundreds of thousands of researchers using it worldwide. It's a fork of Minimal Mistakes, extended specifically for academic use cases: publications with BibTeX citations, conference talks with slides and video links, course teaching pages, a project portfolio, and a CV that generates itself from structured YAML files.\n\nThe fork-to-publish model is particularly popular in academia — researchers can have a live personal website on GitHub Pages within minutes, with no server, no CMS, and no ongoing cost.\n\n**Who is it for?** Researchers, academics, PhD students, and scientists who want a professional web presence that highlights publications, talks, and research without complex web development.\n","url":"/themes/academicpages/","draft":false,"categories":["Academic"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Academic Pages Jekyll Theme","description":"An academic portfolio Jekyll theme for researchers and scholars. Supports publications, talks, CV pages, and GitHub Pages out of the box.","key_features":["Publications Page","CV Layout","GitHub Pages","BibTeX Support"],"card_description":"Academic portfolio for researchers with publications, talks, and CV pages.","category":"Academic","card_image":"/assets/images/themes/academicpages-card.webp","theme_screenshots":["/assets/images/themes/academicpages-screenshot.webp","/assets/images/themes/academicpages-screenshot-2.webp","/assets/images/themes/academicpages-screenshot-3.webp"],"demo_url":"https://academicpages.github.io/","github_url":"https://github.com/academicpages/academicpages.github.io","author":"GitHub Community","github_author_name":"academicpages","github_author_url":"https://github.com/academicpages","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-include-cache"],"updated_at":"2024-06-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"2.1.0","license":"MIT","stars":12000,"forks":8000,"features":["Dedicated pages for publications, talks, and teaching","Auto-generated CV from structured YAML data","Jupyter notebook integration for data-driven pages","Google Scholar and ORCID profile links","BibTeX citation support","Research portfolio with project pages","Blog section for news and updates","SEO optimised for academic search visibility","GitHub Pages compatible — no server required","Fork-to-publish workflow"],"slug":"academicpages","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/advance.md","relative_path":"_themes/advance.md","excerpt":"<p>Advance is the theme for teams and businesses that have outgrown a simple blog and need a full website — one that can handle services, a project portfolio, staff pages, and a content blog, all from a single Jekyll installation.</p>\n\n","previous":{"path":"_themes/academicpages.md","relative_path":"_themes/academicpages.md","excerpt":"<p>Academic Pages is the most widely used academic personal website template on GitHub, with over 12,000 stars and hundreds of thousands of researchers using it worldwide. It’s a fork of Minimal Mistakes, extended specifically for academic use cases: publications with BibTeX citations, conference talks with slides and video links, course teaching pages, a project portfolio, and a CV that generates itself from structured YAML files.</p>\n\n","previous":null,"id":"/themes/academicpages","collection":"themes","next":{"path":"_themes/advance.md","relative_path":"_themes/advance.md","id":"/themes/advance","collection":"themes","url":"/themes/advance/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Advance Jekyll Theme","rating":4.9,"rating_count":38,"description":"A premium multi-purpose Jekyll theme for building advanced marketing and business websites. Includes Services, Projects, and Team content types, a configurable hero section, full blog, dark mode, and Bootstrap 5.2.","card_description":"Premium multi-purpose theme — services, projects, team, blog, and configurable hero.","price":79,"category":"Business","card_image":"/assets/images/themes/advance-card.webp","theme_screenshots":["/assets/images/themes/advance-screenshot.webp","/assets/images/themes/advance-screenshot-2.webp","/assets/images/themes/advance-screenshot-3.webp"],"key_features":["Multi-Purpose","Dark Mode","Services & Team","Configurable Hero"],"demo_url":"https://jekyll-advance.netlify.app/","buy_url":"https://www.zerostatic.io/theme/jekyll-advance/","author":"Zerostatic","author_url":"https://www.zerostatic.io/","github_author_name":"Zerostatic","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.2","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2025-04-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":true,"version":"1.0.0","license":"Commercial","features":["Jekyll 4.2+ with Bootstrap 5.2 — no jQuery, minimal vanilla JS","Services content type with individual service pages","Projects portfolio with filterable project showcase","Team content type for staff and contributor profiles","Full blog with pagination, categories, and author support","Highly configurable hero section — background image, colour overlay, alignment, text, and blend effects","Dark mode with automatic (system preference) and manual toggle","Breadcrumbs and sidebars on interior pages","Animated transparent header on scroll","All content editable via markdown, front-matter, or YAML — nothing hardcoded","Configure logo, colours, fonts, menus, and footer in _config.yml","Auto-generated SEO meta tags, Open Graph, and Twitter card data","Responsive nested dropdown navigation and mobile hamburger menu","Contact page with Netlify Forms and Formspree support","Disqus comments integration","Google Analytics and social media links","Google Fonts and Font Awesome 6 icons","Works with GitHub Pages and Netlify (includes netlify.toml)","All photos, illustrations, and icons included are royalty free","Full documentation at zerostatic.io/docs/jekyll-advance/"],"slug":"advance","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Academic Pages is the most widely used academic personal website template on GitHub, with over 12,000 stars and hundreds of thousands of researchers using it worldwide. It's a fork of Minimal Mistakes, extended specifically for academic use cases: publications with BibTeX citations, conference talks with slides and video links, course teaching pages, a project portfolio, and a CV that generates itself from structured YAML files.\n\nThe fork-to-publish model is particularly popular in academia — researchers can have a live personal website on GitHub Pages within minutes, with no server, no CMS, and no ongoing cost.\n\n**Who is it for?** Researchers, academics, PhD students, and scientists who want a professional web presence that highlights publications, talks, and research without complex web development.\n","url":"/themes/academicpages/","draft":false,"categories":["Academic"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Academic Pages Jekyll Theme","description":"An academic portfolio Jekyll theme for researchers and scholars. Supports publications, talks, CV pages, and GitHub Pages out of the box.","key_features":["Publications Page","CV Layout","GitHub Pages","BibTeX Support"],"card_description":"Academic portfolio for researchers with publications, talks, and CV pages.","category":"Academic","card_image":"/assets/images/themes/academicpages-card.webp","theme_screenshots":["/assets/images/themes/academicpages-screenshot.webp","/assets/images/themes/academicpages-screenshot-2.webp","/assets/images/themes/academicpages-screenshot-3.webp"],"demo_url":"https://academicpages.github.io/","github_url":"https://github.com/academicpages/academicpages.github.io","author":"GitHub Community","github_author_name":"academicpages","github_author_url":"https://github.com/academicpages","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-include-cache"],"updated_at":"2024-06-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"2.1.0","license":"MIT","stars":12000,"forks":8000,"features":["Dedicated pages for publications, talks, and teaching","Auto-generated CV from structured YAML data","Jupyter notebook integration for data-driven pages","Google Scholar and ORCID profile links","BibTeX citation support","Research portfolio with project pages","Blog section for news and updates","SEO optimised for academic search visibility","GitHub Pages compatible — no server required","Fork-to-publish workflow"],"slug":"academicpages","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/advance","collection":"themes","next":{"path":"_themes/agency.md","relative_path":"_themes/agency.md","excerpt":"<p>Agency is a bold, dark-themed Jekyll portfolio theme inspired by the best creative agency sites on the web. It makes a strong first impression with a full-screen hero, then guides visitors through your work, services, and team in a single scrolling page.</p>\n\n","previous":{"path":"_themes/advance.md","relative_path":"_themes/advance.md","id":"/themes/advance","collection":"themes","url":"/themes/advance/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Advance Jekyll Theme","rating":4.9,"rating_count":38,"description":"A premium multi-purpose Jekyll theme for building advanced marketing and business websites. Includes Services, Projects, and Team content types, a configurable hero section, full blog, dark mode, and Bootstrap 5.2.","card_description":"Premium multi-purpose theme — services, projects, team, blog, and configurable hero.","price":79,"category":"Business","card_image":"/assets/images/themes/advance-card.webp","theme_screenshots":["/assets/images/themes/advance-screenshot.webp","/assets/images/themes/advance-screenshot-2.webp","/assets/images/themes/advance-screenshot-3.webp"],"key_features":["Multi-Purpose","Dark Mode","Services & Team","Configurable Hero"],"demo_url":"https://jekyll-advance.netlify.app/","buy_url":"https://www.zerostatic.io/theme/jekyll-advance/","author":"Zerostatic","author_url":"https://www.zerostatic.io/","github_author_name":"Zerostatic","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.2","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2025-04-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":true,"version":"1.0.0","license":"Commercial","features":["Jekyll 4.2+ with Bootstrap 5.2 — no jQuery, minimal vanilla JS","Services content type with individual service pages","Projects portfolio with filterable project showcase","Team content type for staff and contributor profiles","Full blog with pagination, categories, and author support","Highly configurable hero section — background image, colour overlay, alignment, text, and blend effects","Dark mode with automatic (system preference) and manual toggle","Breadcrumbs and sidebars on interior pages","Animated transparent header on scroll","All content editable via markdown, front-matter, or YAML — nothing hardcoded","Configure logo, colours, fonts, menus, and footer in _config.yml","Auto-generated SEO meta tags, Open Graph, and Twitter card data","Responsive nested dropdown navigation and mobile hamburger menu","Contact page with Netlify Forms and Formspree support","Disqus comments integration","Google Analytics and social media links","Google Fonts and Font Awesome 6 icons","Works with GitHub Pages and Netlify (includes netlify.toml)","All photos, illustrations, and icons included are royalty free","Full documentation at zerostatic.io/docs/jekyll-advance/"],"slug":"advance","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/agency","collection":"themes","next":{"path":"_themes/al-folio.md","relative_path":"_themes/al-folio.md","id":"/themes/al-folio","collection":"themes","url":"/themes/al-folio/","draft":false,"categories":["Academic"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"al-folio Jekyll Theme","description":"A clean, minimal Jekyll theme built for academics and researchers. Beautifully renders publications, projects, and CV with BibTeX support.","key_features":["Publications List","BibTeX Support","Dark Mode","Project Pages"],"card_description":"Clean academic theme for researchers with BibTeX and publications support.","category":"Academic","card_image":"/assets/images/themes/al-folio-card.webp","theme_screenshots":["/assets/images/themes/al-folio-screenshot.webp","/assets/images/themes/al-folio-screenshot-2.webp","/assets/images/themes/al-folio-screenshot-3.webp"],"demo_url":"https://alshedivat.github.io/al-folio/","github_url":"https://github.com/alshedivat/al-folio","author":"GitHub Community","github_author_name":"Maruan Al-Shedivat","github_author_url":"https://github.com/alshedivat","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-05-01","added_at":"2026-01-15","popular":true,"trending":true,"bestseller":false,"version":"0.12.0","license":"MIT","stars":11200,"forks":4800,"features":["Publication list with BibTeX","Project pages","Teaching and CV sections","Dark and light mode","MathJax and code highlighting"],"slug":"al-folio","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Agency is a bold, dark-themed Jekyll portfolio theme inspired by the best creative agency sites on the web. It makes a strong first impression with a full-screen hero, then guides visitors through your work, services, and team in a single scrolling page.\n\nBuilt for designers, developers, and studios who want their portfolio to look as professional as the work inside it.\n\n**Who is it for?** Freelancers, agencies, and creative studios who want a striking, one-page portfolio site.\n","url":"/themes/agency/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Agency Jekyll Theme","description":"A striking single-page agency Jekyll theme with full-screen sections, portfolio grid, and team showcase. Based on Start Bootstrap Agency.","key_features":["One-Page Design","Portfolio Grid","Team Showcase","Smooth Scroll"],"card_description":"Striking single-page agency theme with portfolio grid and team showcase.","category":"Portfolio","card_image":"/assets/images/themes/agency-card.webp","theme_screenshots":["/assets/images/themes/agency-screenshot.webp","/assets/images/themes/agency-screenshot-2.webp","/assets/images/themes/agency-screenshot-3.webp"],"demo_url":"https://y7kim.github.io/agency-jekyll-theme/","github_url":"https://github.com/y7kim/agency-jekyll-theme","author":"GitHub Community","github_author_name":"Rick Kim","github_author_url":"https://github.com/y7kim","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-01-10","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":820,"forks":420,"features":["Full-screen hero section","Project showcase grid","Dark aesthetic","Team and services sections","Contact form ready"],"slug":"agency","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Advance is the theme for teams and businesses that have outgrown a simple blog and need a full website — one that can handle services, a project portfolio, staff pages, and a content blog, all from a single Jekyll installation.\n\n### More Than a Blog\n\nMost Jekyll themes give you a blog and a few static pages. Advance ships with dedicated content types for **Services**, **Projects**, and **Team** — each with its own listing page and individual detail pages, all driven by markdown files and front-matter. Add a new team member, service offering, or case study the same way you'd add a blog post: create a markdown file and fill in the front-matter.\n\n### The Configurable Hero\n\nEvery page in Advance can have a unique hero section. Adjust the background image, colour overlay, blend effects, text alignment, and call-to-action — all from front-matter. No CSS editing required. The result is a site that feels custom-designed without custom development.\n\n### Performance by Default\n\nAdvance uses Bootstrap 5.2 for layout but strips jQuery entirely, keeping JavaScript to a minimum. Combined with automatic SEO meta tags, Open Graph data, and semantic HTML, the theme achieves strong Lighthouse scores out of the box. Dark mode is built in — automatic via system preference or manual toggle — so the design holds up in any context.\n\n### Deploy Anywhere\n\nAdvance is fully compatible with GitHub Pages (no custom plugins that break Pages builds) and ships with a `netlify.toml` for one-click Netlify deployment. Formspree and Netlify Forms are supported for contact forms; Disqus handles comments.\n\n**Who is it for?** Agencies, freelancers, and small businesses that want a professional multi-page Jekyll site — not just a blog — and need the flexibility to grow it over time.\n","url":"/themes/advance/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Advance Jekyll Theme","rating":4.9,"rating_count":38,"description":"A premium multi-purpose Jekyll theme for building advanced marketing and business websites. Includes Services, Projects, and Team content types, a configurable hero section, full blog, dark mode, and Bootstrap 5.2.","card_description":"Premium multi-purpose theme — services, projects, team, blog, and configurable hero.","price":79,"category":"Business","card_image":"/assets/images/themes/advance-card.webp","theme_screenshots":["/assets/images/themes/advance-screenshot.webp","/assets/images/themes/advance-screenshot-2.webp","/assets/images/themes/advance-screenshot-3.webp"],"key_features":["Multi-Purpose","Dark Mode","Services & Team","Configurable Hero"],"demo_url":"https://jekyll-advance.netlify.app/","buy_url":"https://www.zerostatic.io/theme/jekyll-advance/","author":"Zerostatic","author_url":"https://www.zerostatic.io/","github_author_name":"Zerostatic","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.2","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2025-04-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":true,"version":"1.0.0","license":"Commercial","features":["Jekyll 4.2+ with Bootstrap 5.2 — no jQuery, minimal vanilla JS","Services content type with individual service pages","Projects portfolio with filterable project showcase","Team content type for staff and contributor profiles","Full blog with pagination, categories, and author support","Highly configurable hero section — background image, colour overlay, alignment, text, and blend effects","Dark mode with automatic (system preference) and manual toggle","Breadcrumbs and sidebars on interior pages","Animated transparent header on scroll","All content editable via markdown, front-matter, or YAML — nothing hardcoded","Configure logo, colours, fonts, menus, and footer in _config.yml","Auto-generated SEO meta tags, Open Graph, and Twitter card data","Responsive nested dropdown navigation and mobile hamburger menu","Contact page with Netlify Forms and Formspree support","Disqus comments integration","Google Analytics and social media links","Google Fonts and Font Awesome 6 icons","Works with GitHub Pages and Netlify (includes netlify.toml)","All photos, illustrations, and icons included are royalty free","Full documentation at zerostatic.io/docs/jekyll-advance/"],"slug":"advance","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/agency.md","relative_path":"_themes/agency.md","excerpt":"<p>Agency is a bold, dark-themed Jekyll portfolio theme inspired by the best creative agency sites on the web. It makes a strong first impression with a full-screen hero, then guides visitors through your work, services, and team in a single scrolling page.</p>\n\n","previous":{"path":"_themes/advance.md","relative_path":"_themes/advance.md","excerpt":"<p>Advance is the theme for teams and businesses that have outgrown a simple blog and need a full website — one that can handle services, a project portfolio, staff pages, and a content blog, all from a single Jekyll installation.</p>\n\n","previous":{"path":"_themes/academicpages.md","relative_path":"_themes/academicpages.md","id":"/themes/academicpages","collection":"themes","url":"/themes/academicpages/","draft":false,"categories":["Academic"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Academic Pages Jekyll Theme","description":"An academic portfolio Jekyll theme for researchers and scholars. Supports publications, talks, CV pages, and GitHub Pages out of the box.","key_features":["Publications Page","CV Layout","GitHub Pages","BibTeX Support"],"card_description":"Academic portfolio for researchers with publications, talks, and CV pages.","category":"Academic","card_image":"/assets/images/themes/academicpages-card.webp","theme_screenshots":["/assets/images/themes/academicpages-screenshot.webp","/assets/images/themes/academicpages-screenshot-2.webp","/assets/images/themes/academicpages-screenshot-3.webp"],"demo_url":"https://academicpages.github.io/","github_url":"https://github.com/academicpages/academicpages.github.io","author":"GitHub Community","github_author_name":"academicpages","github_author_url":"https://github.com/academicpages","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-include-cache"],"updated_at":"2024-06-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"2.1.0","license":"MIT","stars":12000,"forks":8000,"features":["Dedicated pages for publications, talks, and teaching","Auto-generated CV from structured YAML data","Jupyter notebook integration for data-driven pages","Google Scholar and ORCID profile links","BibTeX citation support","Research portfolio with project pages","Blog section for news and updates","SEO optimised for academic search visibility","GitHub Pages compatible — no server required","Fork-to-publish workflow"],"slug":"academicpages","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/advance","collection":"themes","next":{"path":"_themes/agency.md","relative_path":"_themes/agency.md","id":"/themes/agency","collection":"themes","url":"/themes/agency/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Agency Jekyll Theme","description":"A striking single-page agency Jekyll theme with full-screen sections, portfolio grid, and team showcase. Based on Start Bootstrap Agency.","key_features":["One-Page Design","Portfolio Grid","Team Showcase","Smooth Scroll"],"card_description":"Striking single-page agency theme with portfolio grid and team showcase.","category":"Portfolio","card_image":"/assets/images/themes/agency-card.webp","theme_screenshots":["/assets/images/themes/agency-screenshot.webp","/assets/images/themes/agency-screenshot-2.webp","/assets/images/themes/agency-screenshot-3.webp"],"demo_url":"https://y7kim.github.io/agency-jekyll-theme/","github_url":"https://github.com/y7kim/agency-jekyll-theme","author":"GitHub Community","github_author_name":"Rick Kim","github_author_url":"https://github.com/y7kim","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-01-10","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":820,"forks":420,"features":["Full-screen hero section","Project showcase grid","Dark aesthetic","Team and services sections","Contact form ready"],"slug":"agency","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Advance is the theme for teams and businesses that have outgrown a simple blog and need a full website — one that can handle services, a project portfolio, staff pages, and a content blog, all from a single Jekyll installation.\n\n### More Than a Blog\n\nMost Jekyll themes give you a blog and a few static pages. Advance ships with dedicated content types for **Services**, **Projects**, and **Team** — each with its own listing page and individual detail pages, all driven by markdown files and front-matter. Add a new team member, service offering, or case study the same way you'd add a blog post: create a markdown file and fill in the front-matter.\n\n### The Configurable Hero\n\nEvery page in Advance can have a unique hero section. Adjust the background image, colour overlay, blend effects, text alignment, and call-to-action — all from front-matter. No CSS editing required. The result is a site that feels custom-designed without custom development.\n\n### Performance by Default\n\nAdvance uses Bootstrap 5.2 for layout but strips jQuery entirely, keeping JavaScript to a minimum. Combined with automatic SEO meta tags, Open Graph data, and semantic HTML, the theme achieves strong Lighthouse scores out of the box. Dark mode is built in — automatic via system preference or manual toggle — so the design holds up in any context.\n\n### Deploy Anywhere\n\nAdvance is fully compatible with GitHub Pages (no custom plugins that break Pages builds) and ships with a `netlify.toml` for one-click Netlify deployment. Formspree and Netlify Forms are supported for contact forms; Disqus handles comments.\n\n**Who is it for?** Agencies, freelancers, and small businesses that want a professional multi-page Jekyll site — not just a blog — and need the flexibility to grow it over time.\n","url":"/themes/advance/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Advance Jekyll Theme","rating":4.9,"rating_count":38,"description":"A premium multi-purpose Jekyll theme for building advanced marketing and business websites. Includes Services, Projects, and Team content types, a configurable hero section, full blog, dark mode, and Bootstrap 5.2.","card_description":"Premium multi-purpose theme — services, projects, team, blog, and configurable hero.","price":79,"category":"Business","card_image":"/assets/images/themes/advance-card.webp","theme_screenshots":["/assets/images/themes/advance-screenshot.webp","/assets/images/themes/advance-screenshot-2.webp","/assets/images/themes/advance-screenshot-3.webp"],"key_features":["Multi-Purpose","Dark Mode","Services & Team","Configurable Hero"],"demo_url":"https://jekyll-advance.netlify.app/","buy_url":"https://www.zerostatic.io/theme/jekyll-advance/","author":"Zerostatic","author_url":"https://www.zerostatic.io/","github_author_name":"Zerostatic","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.2","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2025-04-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":true,"version":"1.0.0","license":"Commercial","features":["Jekyll 4.2+ with Bootstrap 5.2 — no jQuery, minimal vanilla JS","Services content type with individual service pages","Projects portfolio with filterable project showcase","Team content type for staff and contributor profiles","Full blog with pagination, categories, and author support","Highly configurable hero section — background image, colour overlay, alignment, text, and blend effects","Dark mode with automatic (system preference) and manual toggle","Breadcrumbs and sidebars on interior pages","Animated transparent header on scroll","All content editable via markdown, front-matter, or YAML — nothing hardcoded","Configure logo, colours, fonts, menus, and footer in _config.yml","Auto-generated SEO meta tags, Open Graph, and Twitter card data","Responsive nested dropdown navigation and mobile hamburger menu","Contact page with Netlify Forms and Formspree support","Disqus comments integration","Google Analytics and social media links","Google Fonts and Font Awesome 6 icons","Works with GitHub Pages and Netlify (includes netlify.toml)","All photos, illustrations, and icons included are royalty free","Full documentation at zerostatic.io/docs/jekyll-advance/"],"slug":"advance","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/agency","collection":"themes","next":{"path":"_themes/al-folio.md","relative_path":"_themes/al-folio.md","excerpt":"<p>al-folio is the go-to Jekyll theme for academics, researchers, and students who need a polished personal website. It handles everything specific to academic publishing — BibTeX citations, publication lists, project pages — with a clean, distraction-free design.</p>\n\n","previous":{"path":"_themes/agency.md","relative_path":"_themes/agency.md","id":"/themes/agency","collection":"themes","url":"/themes/agency/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Agency Jekyll Theme","description":"A striking single-page agency Jekyll theme with full-screen sections, portfolio grid, and team showcase. Based on Start Bootstrap Agency.","key_features":["One-Page Design","Portfolio Grid","Team Showcase","Smooth Scroll"],"card_description":"Striking single-page agency theme with portfolio grid and team showcase.","category":"Portfolio","card_image":"/assets/images/themes/agency-card.webp","theme_screenshots":["/assets/images/themes/agency-screenshot.webp","/assets/images/themes/agency-screenshot-2.webp","/assets/images/themes/agency-screenshot-3.webp"],"demo_url":"https://y7kim.github.io/agency-jekyll-theme/","github_url":"https://github.com/y7kim/agency-jekyll-theme","author":"GitHub Community","github_author_name":"Rick Kim","github_author_url":"https://github.com/y7kim","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-01-10","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":820,"forks":420,"features":["Full-screen hero section","Project showcase grid","Dark aesthetic","Team and services sections","Contact form ready"],"slug":"agency","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/al-folio","collection":"themes","next":{"path":"_themes/alembic.md","relative_path":"_themes/alembic.md","id":"/themes/alembic","collection":"themes","url":"/themes/alembic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Alembic Jekyll Theme","description":"A clean, minimal Jekyll theme with great typography and flexible page layouts. Works out of the box as a gem-based theme.","key_features":["Gem-Based Theme","Clean Typography","Flexible Layouts","GitHub Pages"],"card_description":"Clean, minimal gem-based theme with flexible page layouts.","category":"Blog","card_image":"/assets/images/themes/alembic-card.webp","theme_screenshots":["/assets/images/themes/alembic-screenshot.webp","/assets/images/themes/alembic-screenshot-2.webp","/assets/images/themes/alembic-screenshot-3.webp"],"demo_url":"https://alembic.darn.es/","github_url":"https://github.com/daviddarnes/alembic","author":"GitHub Community","github_author_name":"David Darnes","github_author_url":"https://github.com/daviddarnes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-01","popular":false,"trending":false,"bestseller":false,"version":"3.1.0","license":"MIT","stars":2600,"forks":760,"features":["Gem-based installation","Multiple page layouts","Configurable navigation","Syntax highlighting","SEO ready"],"slug":"alembic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"al-folio is the go-to Jekyll theme for academics, researchers, and students who need a polished personal website. It handles everything specific to academic publishing — BibTeX citations, publication lists, project pages — with a clean, distraction-free design.\n\nOriginally created for a Princeton researcher, it has grown into one of the most starred academic Jekyll themes on GitHub with over 11,000 stars.\n\n**Who is it for?** PhD students, professors, researchers, and academics who want a professional online presence with proper support for publications and projects.\n","url":"/themes/al-folio/","draft":false,"categories":["Academic"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"al-folio Jekyll Theme","description":"A clean, minimal Jekyll theme built for academics and researchers. Beautifully renders publications, projects, and CV with BibTeX support.","key_features":["Publications List","BibTeX Support","Dark Mode","Project Pages"],"card_description":"Clean academic theme for researchers with BibTeX and publications support.","category":"Academic","card_image":"/assets/images/themes/al-folio-card.webp","theme_screenshots":["/assets/images/themes/al-folio-screenshot.webp","/assets/images/themes/al-folio-screenshot-2.webp","/assets/images/themes/al-folio-screenshot-3.webp"],"demo_url":"https://alshedivat.github.io/al-folio/","github_url":"https://github.com/alshedivat/al-folio","author":"GitHub Community","github_author_name":"Maruan Al-Shedivat","github_author_url":"https://github.com/alshedivat","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-05-01","added_at":"2026-01-15","popular":true,"trending":true,"bestseller":false,"version":"0.12.0","license":"MIT","stars":11200,"forks":4800,"features":["Publication list with BibTeX","Project pages","Teaching and CV sections","Dark and light mode","MathJax and code highlighting"],"slug":"al-folio","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Agency is a bold, dark-themed Jekyll portfolio theme inspired by the best creative agency sites on the web. It makes a strong first impression with a full-screen hero, then guides visitors through your work, services, and team in a single scrolling page.\n\nBuilt for designers, developers, and studios who want their portfolio to look as professional as the work inside it.\n\n**Who is it for?** Freelancers, agencies, and creative studios who want a striking, one-page portfolio site.\n","url":"/themes/agency/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Agency Jekyll Theme","description":"A striking single-page agency Jekyll theme with full-screen sections, portfolio grid, and team showcase. Based on Start Bootstrap Agency.","key_features":["One-Page Design","Portfolio Grid","Team Showcase","Smooth Scroll"],"card_description":"Striking single-page agency theme with portfolio grid and team showcase.","category":"Portfolio","card_image":"/assets/images/themes/agency-card.webp","theme_screenshots":["/assets/images/themes/agency-screenshot.webp","/assets/images/themes/agency-screenshot-2.webp","/assets/images/themes/agency-screenshot-3.webp"],"demo_url":"https://y7kim.github.io/agency-jekyll-theme/","github_url":"https://github.com/y7kim/agency-jekyll-theme","author":"GitHub Community","github_author_name":"Rick Kim","github_author_url":"https://github.com/y7kim","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-01-10","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":820,"forks":420,"features":["Full-screen hero section","Project showcase grid","Dark aesthetic","Team and services sections","Contact form ready"],"slug":"agency","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/al-folio.md","relative_path":"_themes/al-folio.md","excerpt":"<p>al-folio is the go-to Jekyll theme for academics, researchers, and students who need a polished personal website. It handles everything specific to academic publishing — BibTeX citations, publication lists, project pages — with a clean, distraction-free design.</p>\n\n","previous":{"path":"_themes/agency.md","relative_path":"_themes/agency.md","excerpt":"<p>Agency is a bold, dark-themed Jekyll portfolio theme inspired by the best creative agency sites on the web. It makes a strong first impression with a full-screen hero, then guides visitors through your work, services, and team in a single scrolling page.</p>\n\n","previous":{"path":"_themes/advance.md","relative_path":"_themes/advance.md","id":"/themes/advance","collection":"themes","url":"/themes/advance/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Advance Jekyll Theme","rating":4.9,"rating_count":38,"description":"A premium multi-purpose Jekyll theme for building advanced marketing and business websites. Includes Services, Projects, and Team content types, a configurable hero section, full blog, dark mode, and Bootstrap 5.2.","card_description":"Premium multi-purpose theme — services, projects, team, blog, and configurable hero.","price":79,"category":"Business","card_image":"/assets/images/themes/advance-card.webp","theme_screenshots":["/assets/images/themes/advance-screenshot.webp","/assets/images/themes/advance-screenshot-2.webp","/assets/images/themes/advance-screenshot-3.webp"],"key_features":["Multi-Purpose","Dark Mode","Services & Team","Configurable Hero"],"demo_url":"https://jekyll-advance.netlify.app/","buy_url":"https://www.zerostatic.io/theme/jekyll-advance/","author":"Zerostatic","author_url":"https://www.zerostatic.io/","github_author_name":"Zerostatic","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.2","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2025-04-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":true,"version":"1.0.0","license":"Commercial","features":["Jekyll 4.2+ with Bootstrap 5.2 — no jQuery, minimal vanilla JS","Services content type with individual service pages","Projects portfolio with filterable project showcase","Team content type for staff and contributor profiles","Full blog with pagination, categories, and author support","Highly configurable hero section — background image, colour overlay, alignment, text, and blend effects","Dark mode with automatic (system preference) and manual toggle","Breadcrumbs and sidebars on interior pages","Animated transparent header on scroll","All content editable via markdown, front-matter, or YAML — nothing hardcoded","Configure logo, colours, fonts, menus, and footer in _config.yml","Auto-generated SEO meta tags, Open Graph, and Twitter card data","Responsive nested dropdown navigation and mobile hamburger menu","Contact page with Netlify Forms and Formspree support","Disqus comments integration","Google Analytics and social media links","Google Fonts and Font Awesome 6 icons","Works with GitHub Pages and Netlify (includes netlify.toml)","All photos, illustrations, and icons included are royalty free","Full documentation at zerostatic.io/docs/jekyll-advance/"],"slug":"advance","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/agency","collection":"themes","next":{"path":"_themes/al-folio.md","relative_path":"_themes/al-folio.md","id":"/themes/al-folio","collection":"themes","url":"/themes/al-folio/","draft":false,"categories":["Academic"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"al-folio Jekyll Theme","description":"A clean, minimal Jekyll theme built for academics and researchers. Beautifully renders publications, projects, and CV with BibTeX support.","key_features":["Publications List","BibTeX Support","Dark Mode","Project Pages"],"card_description":"Clean academic theme for researchers with BibTeX and publications support.","category":"Academic","card_image":"/assets/images/themes/al-folio-card.webp","theme_screenshots":["/assets/images/themes/al-folio-screenshot.webp","/assets/images/themes/al-folio-screenshot-2.webp","/assets/images/themes/al-folio-screenshot-3.webp"],"demo_url":"https://alshedivat.github.io/al-folio/","github_url":"https://github.com/alshedivat/al-folio","author":"GitHub Community","github_author_name":"Maruan Al-Shedivat","github_author_url":"https://github.com/alshedivat","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-05-01","added_at":"2026-01-15","popular":true,"trending":true,"bestseller":false,"version":"0.12.0","license":"MIT","stars":11200,"forks":4800,"features":["Publication list with BibTeX","Project pages","Teaching and CV sections","Dark and light mode","MathJax and code highlighting"],"slug":"al-folio","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Agency is a bold, dark-themed Jekyll portfolio theme inspired by the best creative agency sites on the web. It makes a strong first impression with a full-screen hero, then guides visitors through your work, services, and team in a single scrolling page.\n\nBuilt for designers, developers, and studios who want their portfolio to look as professional as the work inside it.\n\n**Who is it for?** Freelancers, agencies, and creative studios who want a striking, one-page portfolio site.\n","url":"/themes/agency/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Agency Jekyll Theme","description":"A striking single-page agency Jekyll theme with full-screen sections, portfolio grid, and team showcase. Based on Start Bootstrap Agency.","key_features":["One-Page Design","Portfolio Grid","Team Showcase","Smooth Scroll"],"card_description":"Striking single-page agency theme with portfolio grid and team showcase.","category":"Portfolio","card_image":"/assets/images/themes/agency-card.webp","theme_screenshots":["/assets/images/themes/agency-screenshot.webp","/assets/images/themes/agency-screenshot-2.webp","/assets/images/themes/agency-screenshot-3.webp"],"demo_url":"https://y7kim.github.io/agency-jekyll-theme/","github_url":"https://github.com/y7kim/agency-jekyll-theme","author":"GitHub Community","github_author_name":"Rick Kim","github_author_url":"https://github.com/y7kim","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-01-10","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":820,"forks":420,"features":["Full-screen hero section","Project showcase grid","Dark aesthetic","Team and services sections","Contact form ready"],"slug":"agency","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/al-folio","collection":"themes","next":{"path":"_themes/alembic.md","relative_path":"_themes/alembic.md","excerpt":"<p>Alembic is a clean, gem-based Jekyll theme that works beautifully as a starting point for blogs, personal sites, and small business pages. It prioritises great typography and readable layouts over flashy design.</p>\n\n","previous":{"path":"_themes/al-folio.md","relative_path":"_themes/al-folio.md","id":"/themes/al-folio","collection":"themes","url":"/themes/al-folio/","draft":false,"categories":["Academic"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"al-folio Jekyll Theme","description":"A clean, minimal Jekyll theme built for academics and researchers. Beautifully renders publications, projects, and CV with BibTeX support.","key_features":["Publications List","BibTeX Support","Dark Mode","Project Pages"],"card_description":"Clean academic theme for researchers with BibTeX and publications support.","category":"Academic","card_image":"/assets/images/themes/al-folio-card.webp","theme_screenshots":["/assets/images/themes/al-folio-screenshot.webp","/assets/images/themes/al-folio-screenshot-2.webp","/assets/images/themes/al-folio-screenshot-3.webp"],"demo_url":"https://alshedivat.github.io/al-folio/","github_url":"https://github.com/alshedivat/al-folio","author":"GitHub Community","github_author_name":"Maruan Al-Shedivat","github_author_url":"https://github.com/alshedivat","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-05-01","added_at":"2026-01-15","popular":true,"trending":true,"bestseller":false,"version":"0.12.0","license":"MIT","stars":11200,"forks":4800,"features":["Publication list with BibTeX","Project pages","Teaching and CV sections","Dark and light mode","MathJax and code highlighting"],"slug":"al-folio","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/alembic","collection":"themes","next":{"path":"_themes/almace-scaffolding.md","relative_path":"_themes/almace-scaffolding.md","id":"/themes/almace-scaffolding","collection":"themes","url":"/themes/almace-scaffolding/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Almace Scaffolding Jekyll Theme","description":"A bold, minimal, and blazing fast Jekyll theme with a distinctive typographic style and performance-first architecture.","key_features":["Ultra Fast","Bold Typography","Performance First","Minimal Design"],"card_description":"Bold, minimal, blazing-fast theme with distinctive typographic style.","category":"Blog","card_image":"/assets/images/themes/almace-scaffolding-card.webp","theme_screenshots":["/assets/images/themes/almace-scaffolding-screenshot.webp","/assets/images/themes/almace-scaffolding-screenshot-2.webp","/assets/images/themes/almace-scaffolding-screenshot-3.webp"],"demo_url":"https://sparanoid.com/lab/amsf/","github_url":"https://github.com/sparanoid/almace-scaffolding","author":"GitHub Community","github_author_name":"sparanoid","github_author_url":"https://github.com/sparanoid","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-02-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.21.0","license":"MIT","stars":337,"forks":98,"features":["Bold typographic design","Performance-first architecture","Grunt build system","LESS stylesheets","SVG icon support","Custom post colours","Minimal navigation","Social links","RSS feed","Ultra-fast page loads"],"slug":"almace-scaffolding","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Alembic is a clean, gem-based Jekyll theme that works beautifully as a starting point for blogs, personal sites, and small business pages. It prioritises great typography and readable layouts over flashy design.\n\nBeing gem-based means you can install and update it like any Ruby gem, keeping your content separate from your theme.\n\n**Who is it for?** Bloggers and developers who want a clean, maintainable theme that installs as a gem.\n","url":"/themes/alembic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Alembic Jekyll Theme","description":"A clean, minimal Jekyll theme with great typography and flexible page layouts. Works out of the box as a gem-based theme.","key_features":["Gem-Based Theme","Clean Typography","Flexible Layouts","GitHub Pages"],"card_description":"Clean, minimal gem-based theme with flexible page layouts.","category":"Blog","card_image":"/assets/images/themes/alembic-card.webp","theme_screenshots":["/assets/images/themes/alembic-screenshot.webp","/assets/images/themes/alembic-screenshot-2.webp","/assets/images/themes/alembic-screenshot-3.webp"],"demo_url":"https://alembic.darn.es/","github_url":"https://github.com/daviddarnes/alembic","author":"GitHub Community","github_author_name":"David Darnes","github_author_url":"https://github.com/daviddarnes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-01","popular":false,"trending":false,"bestseller":false,"version":"3.1.0","license":"MIT","stars":2600,"forks":760,"features":["Gem-based installation","Multiple page layouts","Configurable navigation","Syntax highlighting","SEO ready"],"slug":"alembic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"al-folio is the go-to Jekyll theme for academics, researchers, and students who need a polished personal website. It handles everything specific to academic publishing — BibTeX citations, publication lists, project pages — with a clean, distraction-free design.\n\nOriginally created for a Princeton researcher, it has grown into one of the most starred academic Jekyll themes on GitHub with over 11,000 stars.\n\n**Who is it for?** PhD students, professors, researchers, and academics who want a professional online presence with proper support for publications and projects.\n","url":"/themes/al-folio/","draft":false,"categories":["Academic"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"al-folio Jekyll Theme","description":"A clean, minimal Jekyll theme built for academics and researchers. Beautifully renders publications, projects, and CV with BibTeX support.","key_features":["Publications List","BibTeX Support","Dark Mode","Project Pages"],"card_description":"Clean academic theme for researchers with BibTeX and publications support.","category":"Academic","card_image":"/assets/images/themes/al-folio-card.webp","theme_screenshots":["/assets/images/themes/al-folio-screenshot.webp","/assets/images/themes/al-folio-screenshot-2.webp","/assets/images/themes/al-folio-screenshot-3.webp"],"demo_url":"https://alshedivat.github.io/al-folio/","github_url":"https://github.com/alshedivat/al-folio","author":"GitHub Community","github_author_name":"Maruan Al-Shedivat","github_author_url":"https://github.com/alshedivat","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-05-01","added_at":"2026-01-15","popular":true,"trending":true,"bestseller":false,"version":"0.12.0","license":"MIT","stars":11200,"forks":4800,"features":["Publication list with BibTeX","Project pages","Teaching and CV sections","Dark and light mode","MathJax and code highlighting"],"slug":"al-folio","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/alembic.md","relative_path":"_themes/alembic.md","excerpt":"<p>Alembic is a clean, gem-based Jekyll theme that works beautifully as a starting point for blogs, personal sites, and small business pages. It prioritises great typography and readable layouts over flashy design.</p>\n\n","previous":{"path":"_themes/al-folio.md","relative_path":"_themes/al-folio.md","excerpt":"<p>al-folio is the go-to Jekyll theme for academics, researchers, and students who need a polished personal website. It handles everything specific to academic publishing — BibTeX citations, publication lists, project pages — with a clean, distraction-free design.</p>\n\n","previous":{"path":"_themes/agency.md","relative_path":"_themes/agency.md","id":"/themes/agency","collection":"themes","url":"/themes/agency/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Agency Jekyll Theme","description":"A striking single-page agency Jekyll theme with full-screen sections, portfolio grid, and team showcase. Based on Start Bootstrap Agency.","key_features":["One-Page Design","Portfolio Grid","Team Showcase","Smooth Scroll"],"card_description":"Striking single-page agency theme with portfolio grid and team showcase.","category":"Portfolio","card_image":"/assets/images/themes/agency-card.webp","theme_screenshots":["/assets/images/themes/agency-screenshot.webp","/assets/images/themes/agency-screenshot-2.webp","/assets/images/themes/agency-screenshot-3.webp"],"demo_url":"https://y7kim.github.io/agency-jekyll-theme/","github_url":"https://github.com/y7kim/agency-jekyll-theme","author":"GitHub Community","github_author_name":"Rick Kim","github_author_url":"https://github.com/y7kim","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-01-10","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":820,"forks":420,"features":["Full-screen hero section","Project showcase grid","Dark aesthetic","Team and services sections","Contact form ready"],"slug":"agency","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/al-folio","collection":"themes","next":{"path":"_themes/alembic.md","relative_path":"_themes/alembic.md","id":"/themes/alembic","collection":"themes","url":"/themes/alembic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Alembic Jekyll Theme","description":"A clean, minimal Jekyll theme with great typography and flexible page layouts. Works out of the box as a gem-based theme.","key_features":["Gem-Based Theme","Clean Typography","Flexible Layouts","GitHub Pages"],"card_description":"Clean, minimal gem-based theme with flexible page layouts.","category":"Blog","card_image":"/assets/images/themes/alembic-card.webp","theme_screenshots":["/assets/images/themes/alembic-screenshot.webp","/assets/images/themes/alembic-screenshot-2.webp","/assets/images/themes/alembic-screenshot-3.webp"],"demo_url":"https://alembic.darn.es/","github_url":"https://github.com/daviddarnes/alembic","author":"GitHub Community","github_author_name":"David Darnes","github_author_url":"https://github.com/daviddarnes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-01","popular":false,"trending":false,"bestseller":false,"version":"3.1.0","license":"MIT","stars":2600,"forks":760,"features":["Gem-based installation","Multiple page layouts","Configurable navigation","Syntax highlighting","SEO ready"],"slug":"alembic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"al-folio is the go-to Jekyll theme for academics, researchers, and students who need a polished personal website. It handles everything specific to academic publishing — BibTeX citations, publication lists, project pages — with a clean, distraction-free design.\n\nOriginally created for a Princeton researcher, it has grown into one of the most starred academic Jekyll themes on GitHub with over 11,000 stars.\n\n**Who is it for?** PhD students, professors, researchers, and academics who want a professional online presence with proper support for publications and projects.\n","url":"/themes/al-folio/","draft":false,"categories":["Academic"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"al-folio Jekyll Theme","description":"A clean, minimal Jekyll theme built for academics and researchers. Beautifully renders publications, projects, and CV with BibTeX support.","key_features":["Publications List","BibTeX Support","Dark Mode","Project Pages"],"card_description":"Clean academic theme for researchers with BibTeX and publications support.","category":"Academic","card_image":"/assets/images/themes/al-folio-card.webp","theme_screenshots":["/assets/images/themes/al-folio-screenshot.webp","/assets/images/themes/al-folio-screenshot-2.webp","/assets/images/themes/al-folio-screenshot-3.webp"],"demo_url":"https://alshedivat.github.io/al-folio/","github_url":"https://github.com/alshedivat/al-folio","author":"GitHub Community","github_author_name":"Maruan Al-Shedivat","github_author_url":"https://github.com/alshedivat","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-05-01","added_at":"2026-01-15","popular":true,"trending":true,"bestseller":false,"version":"0.12.0","license":"MIT","stars":11200,"forks":4800,"features":["Publication list with BibTeX","Project pages","Teaching and CV sections","Dark and light mode","MathJax and code highlighting"],"slug":"al-folio","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/alembic","collection":"themes","next":{"path":"_themes/almace-scaffolding.md","relative_path":"_themes/almace-scaffolding.md","excerpt":"<p>Almace Scaffolding is a statement theme — bold typography, strong visual personality, and an obsessive focus on performance. Pages load in milliseconds thanks to a lean build pipeline that strips out everything unnecessary.</p>\n\n","previous":{"path":"_themes/alembic.md","relative_path":"_themes/alembic.md","id":"/themes/alembic","collection":"themes","url":"/themes/alembic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Alembic Jekyll Theme","description":"A clean, minimal Jekyll theme with great typography and flexible page layouts. Works out of the box as a gem-based theme.","key_features":["Gem-Based Theme","Clean Typography","Flexible Layouts","GitHub Pages"],"card_description":"Clean, minimal gem-based theme with flexible page layouts.","category":"Blog","card_image":"/assets/images/themes/alembic-card.webp","theme_screenshots":["/assets/images/themes/alembic-screenshot.webp","/assets/images/themes/alembic-screenshot-2.webp","/assets/images/themes/alembic-screenshot-3.webp"],"demo_url":"https://alembic.darn.es/","github_url":"https://github.com/daviddarnes/alembic","author":"GitHub Community","github_author_name":"David Darnes","github_author_url":"https://github.com/daviddarnes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-01","popular":false,"trending":false,"bestseller":false,"version":"3.1.0","license":"MIT","stars":2600,"forks":760,"features":["Gem-based installation","Multiple page layouts","Configurable navigation","Syntax highlighting","SEO ready"],"slug":"alembic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/almace-scaffolding","collection":"themes","next":{"path":"_themes/architect.md","relative_path":"_themes/architect.md","id":"/themes/architect","collection":"themes","url":"/themes/architect/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Architect Jekyll Theme","description":"A clean GitHub Pages Jekyll theme with a prominent sidebar and crisp typography. Official GitHub Pages theme, ideal for project documentation.","key_features":["GitHub Pages","Sidebar Nav","Code Blocks","Project Docs"],"card_description":"Clean GitHub Pages theme with prominent sidebar for project docs.","category":"Documentation","card_image":"/assets/images/themes/architect-card.webp","theme_screenshots":["/assets/images/themes/architect-screenshot.webp","/assets/images/themes/architect-screenshot-2.webp","/assets/images/themes/architect-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/architect/","github_url":"https://github.com/pages-themes/architect","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Fixed sidebar for navigation","Clean, structured content area","Responsive layout","Single-line enable via _config.yml","No local Jekyll install needed","Suitable for multi-section documentation"],"slug":"architect","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Almace Scaffolding is a statement theme — bold typography, strong visual personality, and an obsessive focus on performance. Pages load in milliseconds thanks to a lean build pipeline that strips out everything unnecessary.\n\nThe Grunt-powered build system gives developers full control over the asset pipeline.\n\n**Who is it for?** Developers and designers who want a high-performance, visually distinctive blog that makes a strong typographic impression.\n","url":"/themes/almace-scaffolding/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Almace Scaffolding Jekyll Theme","description":"A bold, minimal, and blazing fast Jekyll theme with a distinctive typographic style and performance-first architecture.","key_features":["Ultra Fast","Bold Typography","Performance First","Minimal Design"],"card_description":"Bold, minimal, blazing-fast theme with distinctive typographic style.","category":"Blog","card_image":"/assets/images/themes/almace-scaffolding-card.webp","theme_screenshots":["/assets/images/themes/almace-scaffolding-screenshot.webp","/assets/images/themes/almace-scaffolding-screenshot-2.webp","/assets/images/themes/almace-scaffolding-screenshot-3.webp"],"demo_url":"https://sparanoid.com/lab/amsf/","github_url":"https://github.com/sparanoid/almace-scaffolding","author":"GitHub Community","github_author_name":"sparanoid","github_author_url":"https://github.com/sparanoid","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-02-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.21.0","license":"MIT","stars":337,"forks":98,"features":["Bold typographic design","Performance-first architecture","Grunt build system","LESS stylesheets","SVG icon support","Custom post colours","Minimal navigation","Social links","RSS feed","Ultra-fast page loads"],"slug":"almace-scaffolding","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Alembic is a clean, gem-based Jekyll theme that works beautifully as a starting point for blogs, personal sites, and small business pages. It prioritises great typography and readable layouts over flashy design.\n\nBeing gem-based means you can install and update it like any Ruby gem, keeping your content separate from your theme.\n\n**Who is it for?** Bloggers and developers who want a clean, maintainable theme that installs as a gem.\n","url":"/themes/alembic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Alembic Jekyll Theme","description":"A clean, minimal Jekyll theme with great typography and flexible page layouts. Works out of the box as a gem-based theme.","key_features":["Gem-Based Theme","Clean Typography","Flexible Layouts","GitHub Pages"],"card_description":"Clean, minimal gem-based theme with flexible page layouts.","category":"Blog","card_image":"/assets/images/themes/alembic-card.webp","theme_screenshots":["/assets/images/themes/alembic-screenshot.webp","/assets/images/themes/alembic-screenshot-2.webp","/assets/images/themes/alembic-screenshot-3.webp"],"demo_url":"https://alembic.darn.es/","github_url":"https://github.com/daviddarnes/alembic","author":"GitHub Community","github_author_name":"David Darnes","github_author_url":"https://github.com/daviddarnes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-01","popular":false,"trending":false,"bestseller":false,"version":"3.1.0","license":"MIT","stars":2600,"forks":760,"features":["Gem-based installation","Multiple page layouts","Configurable navigation","Syntax highlighting","SEO ready"],"slug":"alembic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/almace-scaffolding.md","relative_path":"_themes/almace-scaffolding.md","excerpt":"<p>Almace Scaffolding is a statement theme — bold typography, strong visual personality, and an obsessive focus on performance. Pages load in milliseconds thanks to a lean build pipeline that strips out everything unnecessary.</p>\n\n","previous":{"path":"_themes/alembic.md","relative_path":"_themes/alembic.md","excerpt":"<p>Alembic is a clean, gem-based Jekyll theme that works beautifully as a starting point for blogs, personal sites, and small business pages. It prioritises great typography and readable layouts over flashy design.</p>\n\n","previous":{"path":"_themes/al-folio.md","relative_path":"_themes/al-folio.md","id":"/themes/al-folio","collection":"themes","url":"/themes/al-folio/","draft":false,"categories":["Academic"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"al-folio Jekyll Theme","description":"A clean, minimal Jekyll theme built for academics and researchers. Beautifully renders publications, projects, and CV with BibTeX support.","key_features":["Publications List","BibTeX Support","Dark Mode","Project Pages"],"card_description":"Clean academic theme for researchers with BibTeX and publications support.","category":"Academic","card_image":"/assets/images/themes/al-folio-card.webp","theme_screenshots":["/assets/images/themes/al-folio-screenshot.webp","/assets/images/themes/al-folio-screenshot-2.webp","/assets/images/themes/al-folio-screenshot-3.webp"],"demo_url":"https://alshedivat.github.io/al-folio/","github_url":"https://github.com/alshedivat/al-folio","author":"GitHub Community","github_author_name":"Maruan Al-Shedivat","github_author_url":"https://github.com/alshedivat","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-05-01","added_at":"2026-01-15","popular":true,"trending":true,"bestseller":false,"version":"0.12.0","license":"MIT","stars":11200,"forks":4800,"features":["Publication list with BibTeX","Project pages","Teaching and CV sections","Dark and light mode","MathJax and code highlighting"],"slug":"al-folio","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/alembic","collection":"themes","next":{"path":"_themes/almace-scaffolding.md","relative_path":"_themes/almace-scaffolding.md","id":"/themes/almace-scaffolding","collection":"themes","url":"/themes/almace-scaffolding/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Almace Scaffolding Jekyll Theme","description":"A bold, minimal, and blazing fast Jekyll theme with a distinctive typographic style and performance-first architecture.","key_features":["Ultra Fast","Bold Typography","Performance First","Minimal Design"],"card_description":"Bold, minimal, blazing-fast theme with distinctive typographic style.","category":"Blog","card_image":"/assets/images/themes/almace-scaffolding-card.webp","theme_screenshots":["/assets/images/themes/almace-scaffolding-screenshot.webp","/assets/images/themes/almace-scaffolding-screenshot-2.webp","/assets/images/themes/almace-scaffolding-screenshot-3.webp"],"demo_url":"https://sparanoid.com/lab/amsf/","github_url":"https://github.com/sparanoid/almace-scaffolding","author":"GitHub Community","github_author_name":"sparanoid","github_author_url":"https://github.com/sparanoid","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-02-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.21.0","license":"MIT","stars":337,"forks":98,"features":["Bold typographic design","Performance-first architecture","Grunt build system","LESS stylesheets","SVG icon support","Custom post colours","Minimal navigation","Social links","RSS feed","Ultra-fast page loads"],"slug":"almace-scaffolding","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Alembic is a clean, gem-based Jekyll theme that works beautifully as a starting point for blogs, personal sites, and small business pages. It prioritises great typography and readable layouts over flashy design.\n\nBeing gem-based means you can install and update it like any Ruby gem, keeping your content separate from your theme.\n\n**Who is it for?** Bloggers and developers who want a clean, maintainable theme that installs as a gem.\n","url":"/themes/alembic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Alembic Jekyll Theme","description":"A clean, minimal Jekyll theme with great typography and flexible page layouts. Works out of the box as a gem-based theme.","key_features":["Gem-Based Theme","Clean Typography","Flexible Layouts","GitHub Pages"],"card_description":"Clean, minimal gem-based theme with flexible page layouts.","category":"Blog","card_image":"/assets/images/themes/alembic-card.webp","theme_screenshots":["/assets/images/themes/alembic-screenshot.webp","/assets/images/themes/alembic-screenshot-2.webp","/assets/images/themes/alembic-screenshot-3.webp"],"demo_url":"https://alembic.darn.es/","github_url":"https://github.com/daviddarnes/alembic","author":"GitHub Community","github_author_name":"David Darnes","github_author_url":"https://github.com/daviddarnes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-01","popular":false,"trending":false,"bestseller":false,"version":"3.1.0","license":"MIT","stars":2600,"forks":760,"features":["Gem-based installation","Multiple page layouts","Configurable navigation","Syntax highlighting","SEO ready"],"slug":"alembic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/almace-scaffolding","collection":"themes","next":{"path":"_themes/architect.md","relative_path":"_themes/architect.md","excerpt":"<p>Architect is GitHub’s documentation-oriented official theme. Its fixed sidebar and clearly delineated content area create an organised, easy-to-navigate layout that works well for project READMEs, API docs, and any site with multiple sections.</p>\n\n","previous":{"path":"_themes/almace-scaffolding.md","relative_path":"_themes/almace-scaffolding.md","id":"/themes/almace-scaffolding","collection":"themes","url":"/themes/almace-scaffolding/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Almace Scaffolding Jekyll Theme","description":"A bold, minimal, and blazing fast Jekyll theme with a distinctive typographic style and performance-first architecture.","key_features":["Ultra Fast","Bold Typography","Performance First","Minimal Design"],"card_description":"Bold, minimal, blazing-fast theme with distinctive typographic style.","category":"Blog","card_image":"/assets/images/themes/almace-scaffolding-card.webp","theme_screenshots":["/assets/images/themes/almace-scaffolding-screenshot.webp","/assets/images/themes/almace-scaffolding-screenshot-2.webp","/assets/images/themes/almace-scaffolding-screenshot-3.webp"],"demo_url":"https://sparanoid.com/lab/amsf/","github_url":"https://github.com/sparanoid/almace-scaffolding","author":"GitHub Community","github_author_name":"sparanoid","github_author_url":"https://github.com/sparanoid","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-02-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.21.0","license":"MIT","stars":337,"forks":98,"features":["Bold typographic design","Performance-first architecture","Grunt build system","LESS stylesheets","SVG icon support","Custom post colours","Minimal navigation","Social links","RSS feed","Ultra-fast page loads"],"slug":"almace-scaffolding","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/architect","collection":"themes","next":{"path":"_themes/aura-pro.md","relative_path":"_themes/aura-pro.md","id":"/themes/aura-pro","collection":"themes","url":"/themes/aura-pro/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Pro Jekyll Theme","rating":5.0,"rating_count":27,"description":"The premium upgrade to the Aura Jekyll theme. Includes all Aura features plus advanced blog layouts, star-rated testimonials, Sendy newsletter support, and read-time indicators.","card_description":"Premium upgrade to Aura — advanced layouts, star testimonials, and read time.","price":9,"category":"Personal","card_image":"/assets/images/themes/aura-pro-card.webp","theme_screenshots":["/assets/images/themes/aura-pro-screenshot.webp","/assets/images/themes/aura-pro-screenshot-2.webp","/assets/images/themes/aura-pro-screenshot-3.webp"],"key_features":["Two Blog Layouts","Star Testimonials","Read Time","Sendy Newsletter"],"demo_url":"https://satishw.github.io/jekyll-theme-aura-pro/","buy_url":"https://satishw.github.io/jekyll-theme-aura-pro/features/","author":"Satish W","author_url":"https://satishw.github.io/jekyll-theme-aura-pro/","github_author_name":"Satish W","support":"lifetime","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-06-26","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"Commercial","discount_label":"launch_offer","discount_original_price":29,"features":["All features of the free Aura theme included","Two blog post layout options to suit different content styles","Read time indicator on every blog post","Testimonials section with star ratings","Sendy.co newsletter integration (in addition to MailChimp)","Logo section for brand or personal mark","Fully compatible with GitHub Pages — no custom plugins required","Contact form via Formspree, comments via Disqus","Image gallery with lazy loading and YouTube embed support","Google Analytics and social sharing built in","Free lifetime updates and support"],"slug":"aura-pro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Architect is GitHub's documentation-oriented official theme. Its fixed sidebar and clearly delineated content area create an organised, easy-to-navigate layout that works well for project READMEs, API docs, and any site with multiple sections.\n\nThe theme's structured visual hierarchy gives your content immediate credibility, and its lightweight implementation means fast page loads even for large documentation sites.\n\n**Who is it for?** Developers building open-source project documentation or any structured informational site that benefits from persistent sidebar navigation.\n","url":"/themes/architect/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Architect Jekyll Theme","description":"A clean GitHub Pages Jekyll theme with a prominent sidebar and crisp typography. Official GitHub Pages theme, ideal for project documentation.","key_features":["GitHub Pages","Sidebar Nav","Code Blocks","Project Docs"],"card_description":"Clean GitHub Pages theme with prominent sidebar for project docs.","category":"Documentation","card_image":"/assets/images/themes/architect-card.webp","theme_screenshots":["/assets/images/themes/architect-screenshot.webp","/assets/images/themes/architect-screenshot-2.webp","/assets/images/themes/architect-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/architect/","github_url":"https://github.com/pages-themes/architect","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Fixed sidebar for navigation","Clean, structured content area","Responsive layout","Single-line enable via _config.yml","No local Jekyll install needed","Suitable for multi-section documentation"],"slug":"architect","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Almace Scaffolding is a statement theme — bold typography, strong visual personality, and an obsessive focus on performance. Pages load in milliseconds thanks to a lean build pipeline that strips out everything unnecessary.\n\nThe Grunt-powered build system gives developers full control over the asset pipeline.\n\n**Who is it for?** Developers and designers who want a high-performance, visually distinctive blog that makes a strong typographic impression.\n","url":"/themes/almace-scaffolding/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Almace Scaffolding Jekyll Theme","description":"A bold, minimal, and blazing fast Jekyll theme with a distinctive typographic style and performance-first architecture.","key_features":["Ultra Fast","Bold Typography","Performance First","Minimal Design"],"card_description":"Bold, minimal, blazing-fast theme with distinctive typographic style.","category":"Blog","card_image":"/assets/images/themes/almace-scaffolding-card.webp","theme_screenshots":["/assets/images/themes/almace-scaffolding-screenshot.webp","/assets/images/themes/almace-scaffolding-screenshot-2.webp","/assets/images/themes/almace-scaffolding-screenshot-3.webp"],"demo_url":"https://sparanoid.com/lab/amsf/","github_url":"https://github.com/sparanoid/almace-scaffolding","author":"GitHub Community","github_author_name":"sparanoid","github_author_url":"https://github.com/sparanoid","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-02-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.21.0","license":"MIT","stars":337,"forks":98,"features":["Bold typographic design","Performance-first architecture","Grunt build system","LESS stylesheets","SVG icon support","Custom post colours","Minimal navigation","Social links","RSS feed","Ultra-fast page loads"],"slug":"almace-scaffolding","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/architect.md","relative_path":"_themes/architect.md","excerpt":"<p>Architect is GitHub’s documentation-oriented official theme. Its fixed sidebar and clearly delineated content area create an organised, easy-to-navigate layout that works well for project READMEs, API docs, and any site with multiple sections.</p>\n\n","previous":{"path":"_themes/almace-scaffolding.md","relative_path":"_themes/almace-scaffolding.md","excerpt":"<p>Almace Scaffolding is a statement theme — bold typography, strong visual personality, and an obsessive focus on performance. Pages load in milliseconds thanks to a lean build pipeline that strips out everything unnecessary.</p>\n\n","previous":{"path":"_themes/alembic.md","relative_path":"_themes/alembic.md","id":"/themes/alembic","collection":"themes","url":"/themes/alembic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Alembic Jekyll Theme","description":"A clean, minimal Jekyll theme with great typography and flexible page layouts. Works out of the box as a gem-based theme.","key_features":["Gem-Based Theme","Clean Typography","Flexible Layouts","GitHub Pages"],"card_description":"Clean, minimal gem-based theme with flexible page layouts.","category":"Blog","card_image":"/assets/images/themes/alembic-card.webp","theme_screenshots":["/assets/images/themes/alembic-screenshot.webp","/assets/images/themes/alembic-screenshot-2.webp","/assets/images/themes/alembic-screenshot-3.webp"],"demo_url":"https://alembic.darn.es/","github_url":"https://github.com/daviddarnes/alembic","author":"GitHub Community","github_author_name":"David Darnes","github_author_url":"https://github.com/daviddarnes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-01","popular":false,"trending":false,"bestseller":false,"version":"3.1.0","license":"MIT","stars":2600,"forks":760,"features":["Gem-based installation","Multiple page layouts","Configurable navigation","Syntax highlighting","SEO ready"],"slug":"alembic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/almace-scaffolding","collection":"themes","next":{"path":"_themes/architect.md","relative_path":"_themes/architect.md","id":"/themes/architect","collection":"themes","url":"/themes/architect/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Architect Jekyll Theme","description":"A clean GitHub Pages Jekyll theme with a prominent sidebar and crisp typography. Official GitHub Pages theme, ideal for project documentation.","key_features":["GitHub Pages","Sidebar Nav","Code Blocks","Project Docs"],"card_description":"Clean GitHub Pages theme with prominent sidebar for project docs.","category":"Documentation","card_image":"/assets/images/themes/architect-card.webp","theme_screenshots":["/assets/images/themes/architect-screenshot.webp","/assets/images/themes/architect-screenshot-2.webp","/assets/images/themes/architect-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/architect/","github_url":"https://github.com/pages-themes/architect","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Fixed sidebar for navigation","Clean, structured content area","Responsive layout","Single-line enable via _config.yml","No local Jekyll install needed","Suitable for multi-section documentation"],"slug":"architect","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Almace Scaffolding is a statement theme — bold typography, strong visual personality, and an obsessive focus on performance. Pages load in milliseconds thanks to a lean build pipeline that strips out everything unnecessary.\n\nThe Grunt-powered build system gives developers full control over the asset pipeline.\n\n**Who is it for?** Developers and designers who want a high-performance, visually distinctive blog that makes a strong typographic impression.\n","url":"/themes/almace-scaffolding/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Almace Scaffolding Jekyll Theme","description":"A bold, minimal, and blazing fast Jekyll theme with a distinctive typographic style and performance-first architecture.","key_features":["Ultra Fast","Bold Typography","Performance First","Minimal Design"],"card_description":"Bold, minimal, blazing-fast theme with distinctive typographic style.","category":"Blog","card_image":"/assets/images/themes/almace-scaffolding-card.webp","theme_screenshots":["/assets/images/themes/almace-scaffolding-screenshot.webp","/assets/images/themes/almace-scaffolding-screenshot-2.webp","/assets/images/themes/almace-scaffolding-screenshot-3.webp"],"demo_url":"https://sparanoid.com/lab/amsf/","github_url":"https://github.com/sparanoid/almace-scaffolding","author":"GitHub Community","github_author_name":"sparanoid","github_author_url":"https://github.com/sparanoid","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-02-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.21.0","license":"MIT","stars":337,"forks":98,"features":["Bold typographic design","Performance-first architecture","Grunt build system","LESS stylesheets","SVG icon support","Custom post colours","Minimal navigation","Social links","RSS feed","Ultra-fast page loads"],"slug":"almace-scaffolding","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/architect","collection":"themes","next":{"path":"_themes/aura-pro.md","relative_path":"_themes/aura-pro.md","excerpt":"<p>Aura Pro is the premium evolution of the <a href=\"https://satishw.github.io/jekyll-theme-aura/\">Aura Jekyll theme</a> — everything in the free version, extended with features that content-focused sites demand.</p>\n\n","previous":{"path":"_themes/architect.md","relative_path":"_themes/architect.md","id":"/themes/architect","collection":"themes","url":"/themes/architect/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Architect Jekyll Theme","description":"A clean GitHub Pages Jekyll theme with a prominent sidebar and crisp typography. Official GitHub Pages theme, ideal for project documentation.","key_features":["GitHub Pages","Sidebar Nav","Code Blocks","Project Docs"],"card_description":"Clean GitHub Pages theme with prominent sidebar for project docs.","category":"Documentation","card_image":"/assets/images/themes/architect-card.webp","theme_screenshots":["/assets/images/themes/architect-screenshot.webp","/assets/images/themes/architect-screenshot-2.webp","/assets/images/themes/architect-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/architect/","github_url":"https://github.com/pages-themes/architect","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Fixed sidebar for navigation","Clean, structured content area","Responsive layout","Single-line enable via _config.yml","No local Jekyll install needed","Suitable for multi-section documentation"],"slug":"architect","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/aura-pro","collection":"themes","next":{"path":"_themes/aura.md","relative_path":"_themes/aura.md","id":"/themes/aura","collection":"themes","url":"/themes/aura/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Jekyll Theme","description":"Versatile Jekyll theme designed for content creators, writers, and developers. Ships with blog, projects, testimonials, and portfolio sections — fully compatible with GitHub Pages.","key_features":["GitHub Pages","Blog & Projects","Testimonials","Contact Form"],"card_description":"Versatile Jekyll theme for creators and developers — blog, projects, and portfolio ready.","category":"Personal","card_image":"/assets/images/themes/aura-card.webp","theme_screenshots":["/assets/images/themes/aura-screenshot.webp","/assets/images/themes/aura-screenshot-2.webp","/assets/images/themes/aura-screenshot-3.webp"],"demo_url":"https://satishw.github.io/jekyll-theme-aura/","github_url":"https://github.com/satishw/jekyll-theme-aura","author":"Satish W","github_author_name":"Satish W","github_author_url":"https://github.com/satishw","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-02-10","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"MIT","stars":0,"forks":0,"features":["Fully compatible with GitHub Pages — no custom plugins required","Blog section with tag pages and code highlighting","Projects section to showcase your work","Testimonials section for social proof","Contact form via Formspree (no backend needed)","MailChimp newsletter integration","Disqus comments support","Image gallery with lazy loading","Embedded YouTube video support","Social sharing buttons on posts","Google Analytics integration","Scroll-to-top button and responsive mobile layout"],"slug":"aura","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Aura Pro is the premium evolution of the [Aura Jekyll theme](https://satishw.github.io/jekyll-theme-aura/) — everything in the free version, extended with features that content-focused sites demand.\n\nThe headline addition is two distinct blog post layout options, letting you vary the presentation of long-form content, tutorials, and short-form posts without theme customisation. Each post also shows a read-time estimate, which has become standard on quality editorial sites. The testimonials section now supports star ratings, making social proof more visually compelling for freelancers and small businesses.\n\nNewsletter support is expanded with [Sendy.co](https://sendy.co/) — a self-hosted alternative to MailChimp that keeps your subscriber list yours. Both Sendy and MailChimp are supported simultaneously.\n\n**Who is it for?** Writers, developers, and freelancers who started with Aura and need the next level — or anyone building a personal site that doubles as a professional presence from day one.\n\n**Upcoming features** include price boxes, additional home page layouts, animated sections, and a dark theme variant. All future updates are included free with your purchase.\n","url":"/themes/aura-pro/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Pro Jekyll Theme","rating":5.0,"rating_count":27,"description":"The premium upgrade to the Aura Jekyll theme. Includes all Aura features plus advanced blog layouts, star-rated testimonials, Sendy newsletter support, and read-time indicators.","card_description":"Premium upgrade to Aura — advanced layouts, star testimonials, and read time.","price":9,"category":"Personal","card_image":"/assets/images/themes/aura-pro-card.webp","theme_screenshots":["/assets/images/themes/aura-pro-screenshot.webp","/assets/images/themes/aura-pro-screenshot-2.webp","/assets/images/themes/aura-pro-screenshot-3.webp"],"key_features":["Two Blog Layouts","Star Testimonials","Read Time","Sendy Newsletter"],"demo_url":"https://satishw.github.io/jekyll-theme-aura-pro/","buy_url":"https://satishw.github.io/jekyll-theme-aura-pro/features/","author":"Satish W","author_url":"https://satishw.github.io/jekyll-theme-aura-pro/","github_author_name":"Satish W","support":"lifetime","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-06-26","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"Commercial","discount_label":"launch_offer","discount_original_price":29,"features":["All features of the free Aura theme included","Two blog post layout options to suit different content styles","Read time indicator on every blog post","Testimonials section with star ratings","Sendy.co newsletter integration (in addition to MailChimp)","Logo section for brand or personal mark","Fully compatible with GitHub Pages — no custom plugins required","Contact form via Formspree, comments via Disqus","Image gallery with lazy loading and YouTube embed support","Google Analytics and social sharing built in","Free lifetime updates and support"],"slug":"aura-pro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Architect is GitHub's documentation-oriented official theme. Its fixed sidebar and clearly delineated content area create an organised, easy-to-navigate layout that works well for project READMEs, API docs, and any site with multiple sections.\n\nThe theme's structured visual hierarchy gives your content immediate credibility, and its lightweight implementation means fast page loads even for large documentation sites.\n\n**Who is it for?** Developers building open-source project documentation or any structured informational site that benefits from persistent sidebar navigation.\n","url":"/themes/architect/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Architect Jekyll Theme","description":"A clean GitHub Pages Jekyll theme with a prominent sidebar and crisp typography. Official GitHub Pages theme, ideal for project documentation.","key_features":["GitHub Pages","Sidebar Nav","Code Blocks","Project Docs"],"card_description":"Clean GitHub Pages theme with prominent sidebar for project docs.","category":"Documentation","card_image":"/assets/images/themes/architect-card.webp","theme_screenshots":["/assets/images/themes/architect-screenshot.webp","/assets/images/themes/architect-screenshot-2.webp","/assets/images/themes/architect-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/architect/","github_url":"https://github.com/pages-themes/architect","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Fixed sidebar for navigation","Clean, structured content area","Responsive layout","Single-line enable via _config.yml","No local Jekyll install needed","Suitable for multi-section documentation"],"slug":"architect","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/aura-pro.md","relative_path":"_themes/aura-pro.md","excerpt":"<p>Aura Pro is the premium evolution of the <a href=\"https://satishw.github.io/jekyll-theme-aura/\">Aura Jekyll theme</a> — everything in the free version, extended with features that content-focused sites demand.</p>\n\n","previous":{"path":"_themes/architect.md","relative_path":"_themes/architect.md","excerpt":"<p>Architect is GitHub’s documentation-oriented official theme. Its fixed sidebar and clearly delineated content area create an organised, easy-to-navigate layout that works well for project READMEs, API docs, and any site with multiple sections.</p>\n\n","previous":{"path":"_themes/almace-scaffolding.md","relative_path":"_themes/almace-scaffolding.md","id":"/themes/almace-scaffolding","collection":"themes","url":"/themes/almace-scaffolding/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Almace Scaffolding Jekyll Theme","description":"A bold, minimal, and blazing fast Jekyll theme with a distinctive typographic style and performance-first architecture.","key_features":["Ultra Fast","Bold Typography","Performance First","Minimal Design"],"card_description":"Bold, minimal, blazing-fast theme with distinctive typographic style.","category":"Blog","card_image":"/assets/images/themes/almace-scaffolding-card.webp","theme_screenshots":["/assets/images/themes/almace-scaffolding-screenshot.webp","/assets/images/themes/almace-scaffolding-screenshot-2.webp","/assets/images/themes/almace-scaffolding-screenshot-3.webp"],"demo_url":"https://sparanoid.com/lab/amsf/","github_url":"https://github.com/sparanoid/almace-scaffolding","author":"GitHub Community","github_author_name":"sparanoid","github_author_url":"https://github.com/sparanoid","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-02-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.21.0","license":"MIT","stars":337,"forks":98,"features":["Bold typographic design","Performance-first architecture","Grunt build system","LESS stylesheets","SVG icon support","Custom post colours","Minimal navigation","Social links","RSS feed","Ultra-fast page loads"],"slug":"almace-scaffolding","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/architect","collection":"themes","next":{"path":"_themes/aura-pro.md","relative_path":"_themes/aura-pro.md","id":"/themes/aura-pro","collection":"themes","url":"/themes/aura-pro/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Pro Jekyll Theme","rating":5.0,"rating_count":27,"description":"The premium upgrade to the Aura Jekyll theme. Includes all Aura features plus advanced blog layouts, star-rated testimonials, Sendy newsletter support, and read-time indicators.","card_description":"Premium upgrade to Aura — advanced layouts, star testimonials, and read time.","price":9,"category":"Personal","card_image":"/assets/images/themes/aura-pro-card.webp","theme_screenshots":["/assets/images/themes/aura-pro-screenshot.webp","/assets/images/themes/aura-pro-screenshot-2.webp","/assets/images/themes/aura-pro-screenshot-3.webp"],"key_features":["Two Blog Layouts","Star Testimonials","Read Time","Sendy Newsletter"],"demo_url":"https://satishw.github.io/jekyll-theme-aura-pro/","buy_url":"https://satishw.github.io/jekyll-theme-aura-pro/features/","author":"Satish W","author_url":"https://satishw.github.io/jekyll-theme-aura-pro/","github_author_name":"Satish W","support":"lifetime","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-06-26","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"Commercial","discount_label":"launch_offer","discount_original_price":29,"features":["All features of the free Aura theme included","Two blog post layout options to suit different content styles","Read time indicator on every blog post","Testimonials section with star ratings","Sendy.co newsletter integration (in addition to MailChimp)","Logo section for brand or personal mark","Fully compatible with GitHub Pages — no custom plugins required","Contact form via Formspree, comments via Disqus","Image gallery with lazy loading and YouTube embed support","Google Analytics and social sharing built in","Free lifetime updates and support"],"slug":"aura-pro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Architect is GitHub's documentation-oriented official theme. Its fixed sidebar and clearly delineated content area create an organised, easy-to-navigate layout that works well for project READMEs, API docs, and any site with multiple sections.\n\nThe theme's structured visual hierarchy gives your content immediate credibility, and its lightweight implementation means fast page loads even for large documentation sites.\n\n**Who is it for?** Developers building open-source project documentation or any structured informational site that benefits from persistent sidebar navigation.\n","url":"/themes/architect/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Architect Jekyll Theme","description":"A clean GitHub Pages Jekyll theme with a prominent sidebar and crisp typography. Official GitHub Pages theme, ideal for project documentation.","key_features":["GitHub Pages","Sidebar Nav","Code Blocks","Project Docs"],"card_description":"Clean GitHub Pages theme with prominent sidebar for project docs.","category":"Documentation","card_image":"/assets/images/themes/architect-card.webp","theme_screenshots":["/assets/images/themes/architect-screenshot.webp","/assets/images/themes/architect-screenshot-2.webp","/assets/images/themes/architect-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/architect/","github_url":"https://github.com/pages-themes/architect","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Fixed sidebar for navigation","Clean, structured content area","Responsive layout","Single-line enable via _config.yml","No local Jekyll install needed","Suitable for multi-section documentation"],"slug":"architect","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/aura-pro","collection":"themes","next":{"path":"_themes/aura.md","relative_path":"_themes/aura.md","excerpt":"<p>Aura is a versatile Jekyll theme built for content creators, writers, and developers who need more than just a blog. It ships with dedicated sections for blog posts, projects, and testimonials — everything you need to build a personal site that represents you fully.</p>\n\n","previous":{"path":"_themes/aura-pro.md","relative_path":"_themes/aura-pro.md","id":"/themes/aura-pro","collection":"themes","url":"/themes/aura-pro/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Pro Jekyll Theme","rating":5.0,"rating_count":27,"description":"The premium upgrade to the Aura Jekyll theme. Includes all Aura features plus advanced blog layouts, star-rated testimonials, Sendy newsletter support, and read-time indicators.","card_description":"Premium upgrade to Aura — advanced layouts, star testimonials, and read time.","price":9,"category":"Personal","card_image":"/assets/images/themes/aura-pro-card.webp","theme_screenshots":["/assets/images/themes/aura-pro-screenshot.webp","/assets/images/themes/aura-pro-screenshot-2.webp","/assets/images/themes/aura-pro-screenshot-3.webp"],"key_features":["Two Blog Layouts","Star Testimonials","Read Time","Sendy Newsletter"],"demo_url":"https://satishw.github.io/jekyll-theme-aura-pro/","buy_url":"https://satishw.github.io/jekyll-theme-aura-pro/features/","author":"Satish W","author_url":"https://satishw.github.io/jekyll-theme-aura-pro/","github_author_name":"Satish W","support":"lifetime","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-06-26","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"Commercial","discount_label":"launch_offer","discount_original_price":29,"features":["All features of the free Aura theme included","Two blog post layout options to suit different content styles","Read time indicator on every blog post","Testimonials section with star ratings","Sendy.co newsletter integration (in addition to MailChimp)","Logo section for brand or personal mark","Fully compatible with GitHub Pages — no custom plugins required","Contact form via Formspree, comments via Disqus","Image gallery with lazy loading and YouTube embed support","Google Analytics and social sharing built in","Free lifetime updates and support"],"slug":"aura-pro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/aura","collection":"themes","next":{"path":"_themes/basically-basic.md","relative_path":"_themes/basically-basic.md","id":"/themes/basically-basic","collection":"themes","url":"/themes/basically-basic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Basically Basic Jekyll Theme","description":"Your new Jekyll default theme — a modern, polished substitute for Minima. Six customisable colour skins, resume layout, off-canvas menu, and everything Minima should have been.","key_features":["6 Color Skins","Resume Layout","Off-Canvas Menu","GitHub Pages"],"card_description":"Modern Minima replacement with six colour skins and a resume layout.","category":"Blog","card_image":"/assets/images/themes/basically-basic-card.webp","theme_screenshots":["/assets/images/themes/basically-basic-screenshot.webp","/assets/images/themes/basically-basic-screenshot-2.webp","/assets/images/themes/basically-basic-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/jekyll-theme-basically-basic/","github_url":"https://github.com/mmistakes/jekyll-theme-basically-basic","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.8.0","license":"MIT","stars":800,"forks":500,"features":["6 built-in colour skins","Off-canvas slide-out menu","Resume/CV page layout","Responsive design","Syntax highlighting","Google Analytics","Disqus comments","Read time estimates","Social sharing","GitHub Pages compatible"],"slug":"basically-basic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Aura is a versatile Jekyll theme built for content creators, writers, and developers who need more than just a blog. It ships with dedicated sections for blog posts, projects, and testimonials — everything you need to build a personal site that represents you fully.\n\nThe theme is a fork of [CloudCannon's Vonge template](https://github.com/CloudCannon/vonge-jekyll-bookshop-template), extended with GitHub Pages compatibility and a richer feature set. Blog posts support code highlighting, image galleries, embedded YouTube videos, and a full table of contents — making it equally at home for technical writers and creative bloggers.\n\n**Who is it for?** Developers and creators who want a single theme that handles a personal site, portfolio, and blog without switching between multiple themes. If you want to show off projects, collect testimonials, and write posts — all in one clean package — Aura is built for exactly that.\n\n**AuraPro** — a premium version with additional layouts and components — is also available at [jekyll-theme-aura-pro](https://satishw.github.io/jekyll-theme-aura-pro/features).\n","url":"/themes/aura/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Jekyll Theme","description":"Versatile Jekyll theme designed for content creators, writers, and developers. Ships with blog, projects, testimonials, and portfolio sections — fully compatible with GitHub Pages.","key_features":["GitHub Pages","Blog & Projects","Testimonials","Contact Form"],"card_description":"Versatile Jekyll theme for creators and developers — blog, projects, and portfolio ready.","category":"Personal","card_image":"/assets/images/themes/aura-card.webp","theme_screenshots":["/assets/images/themes/aura-screenshot.webp","/assets/images/themes/aura-screenshot-2.webp","/assets/images/themes/aura-screenshot-3.webp"],"demo_url":"https://satishw.github.io/jekyll-theme-aura/","github_url":"https://github.com/satishw/jekyll-theme-aura","author":"Satish W","github_author_name":"Satish W","github_author_url":"https://github.com/satishw","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-02-10","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"MIT","stars":0,"forks":0,"features":["Fully compatible with GitHub Pages — no custom plugins required","Blog section with tag pages and code highlighting","Projects section to showcase your work","Testimonials section for social proof","Contact form via Formspree (no backend needed)","MailChimp newsletter integration","Disqus comments support","Image gallery with lazy loading","Embedded YouTube video support","Social sharing buttons on posts","Google Analytics integration","Scroll-to-top button and responsive mobile layout"],"slug":"aura","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Aura Pro is the premium evolution of the [Aura Jekyll theme](https://satishw.github.io/jekyll-theme-aura/) — everything in the free version, extended with features that content-focused sites demand.\n\nThe headline addition is two distinct blog post layout options, letting you vary the presentation of long-form content, tutorials, and short-form posts without theme customisation. Each post also shows a read-time estimate, which has become standard on quality editorial sites. The testimonials section now supports star ratings, making social proof more visually compelling for freelancers and small businesses.\n\nNewsletter support is expanded with [Sendy.co](https://sendy.co/) — a self-hosted alternative to MailChimp that keeps your subscriber list yours. Both Sendy and MailChimp are supported simultaneously.\n\n**Who is it for?** Writers, developers, and freelancers who started with Aura and need the next level — or anyone building a personal site that doubles as a professional presence from day one.\n\n**Upcoming features** include price boxes, additional home page layouts, animated sections, and a dark theme variant. All future updates are included free with your purchase.\n","url":"/themes/aura-pro/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Pro Jekyll Theme","rating":5.0,"rating_count":27,"description":"The premium upgrade to the Aura Jekyll theme. Includes all Aura features plus advanced blog layouts, star-rated testimonials, Sendy newsletter support, and read-time indicators.","card_description":"Premium upgrade to Aura — advanced layouts, star testimonials, and read time.","price":9,"category":"Personal","card_image":"/assets/images/themes/aura-pro-card.webp","theme_screenshots":["/assets/images/themes/aura-pro-screenshot.webp","/assets/images/themes/aura-pro-screenshot-2.webp","/assets/images/themes/aura-pro-screenshot-3.webp"],"key_features":["Two Blog Layouts","Star Testimonials","Read Time","Sendy Newsletter"],"demo_url":"https://satishw.github.io/jekyll-theme-aura-pro/","buy_url":"https://satishw.github.io/jekyll-theme-aura-pro/features/","author":"Satish W","author_url":"https://satishw.github.io/jekyll-theme-aura-pro/","github_author_name":"Satish W","support":"lifetime","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-06-26","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"Commercial","discount_label":"launch_offer","discount_original_price":29,"features":["All features of the free Aura theme included","Two blog post layout options to suit different content styles","Read time indicator on every blog post","Testimonials section with star ratings","Sendy.co newsletter integration (in addition to MailChimp)","Logo section for brand or personal mark","Fully compatible with GitHub Pages — no custom plugins required","Contact form via Formspree, comments via Disqus","Image gallery with lazy loading and YouTube embed support","Google Analytics and social sharing built in","Free lifetime updates and support"],"slug":"aura-pro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/aura.md","relative_path":"_themes/aura.md","excerpt":"<p>Aura is a versatile Jekyll theme built for content creators, writers, and developers who need more than just a blog. It ships with dedicated sections for blog posts, projects, and testimonials — everything you need to build a personal site that represents you fully.</p>\n\n","previous":{"path":"_themes/aura-pro.md","relative_path":"_themes/aura-pro.md","excerpt":"<p>Aura Pro is the premium evolution of the <a href=\"https://satishw.github.io/jekyll-theme-aura/\">Aura Jekyll theme</a> — everything in the free version, extended with features that content-focused sites demand.</p>\n\n","previous":{"path":"_themes/architect.md","relative_path":"_themes/architect.md","id":"/themes/architect","collection":"themes","url":"/themes/architect/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Architect Jekyll Theme","description":"A clean GitHub Pages Jekyll theme with a prominent sidebar and crisp typography. Official GitHub Pages theme, ideal for project documentation.","key_features":["GitHub Pages","Sidebar Nav","Code Blocks","Project Docs"],"card_description":"Clean GitHub Pages theme with prominent sidebar for project docs.","category":"Documentation","card_image":"/assets/images/themes/architect-card.webp","theme_screenshots":["/assets/images/themes/architect-screenshot.webp","/assets/images/themes/architect-screenshot-2.webp","/assets/images/themes/architect-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/architect/","github_url":"https://github.com/pages-themes/architect","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Fixed sidebar for navigation","Clean, structured content area","Responsive layout","Single-line enable via _config.yml","No local Jekyll install needed","Suitable for multi-section documentation"],"slug":"architect","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/aura-pro","collection":"themes","next":{"path":"_themes/aura.md","relative_path":"_themes/aura.md","id":"/themes/aura","collection":"themes","url":"/themes/aura/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Jekyll Theme","description":"Versatile Jekyll theme designed for content creators, writers, and developers. Ships with blog, projects, testimonials, and portfolio sections — fully compatible with GitHub Pages.","key_features":["GitHub Pages","Blog & Projects","Testimonials","Contact Form"],"card_description":"Versatile Jekyll theme for creators and developers — blog, projects, and portfolio ready.","category":"Personal","card_image":"/assets/images/themes/aura-card.webp","theme_screenshots":["/assets/images/themes/aura-screenshot.webp","/assets/images/themes/aura-screenshot-2.webp","/assets/images/themes/aura-screenshot-3.webp"],"demo_url":"https://satishw.github.io/jekyll-theme-aura/","github_url":"https://github.com/satishw/jekyll-theme-aura","author":"Satish W","github_author_name":"Satish W","github_author_url":"https://github.com/satishw","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-02-10","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"MIT","stars":0,"forks":0,"features":["Fully compatible with GitHub Pages — no custom plugins required","Blog section with tag pages and code highlighting","Projects section to showcase your work","Testimonials section for social proof","Contact form via Formspree (no backend needed)","MailChimp newsletter integration","Disqus comments support","Image gallery with lazy loading","Embedded YouTube video support","Social sharing buttons on posts","Google Analytics integration","Scroll-to-top button and responsive mobile layout"],"slug":"aura","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Aura Pro is the premium evolution of the [Aura Jekyll theme](https://satishw.github.io/jekyll-theme-aura/) — everything in the free version, extended with features that content-focused sites demand.\n\nThe headline addition is two distinct blog post layout options, letting you vary the presentation of long-form content, tutorials, and short-form posts without theme customisation. Each post also shows a read-time estimate, which has become standard on quality editorial sites. The testimonials section now supports star ratings, making social proof more visually compelling for freelancers and small businesses.\n\nNewsletter support is expanded with [Sendy.co](https://sendy.co/) — a self-hosted alternative to MailChimp that keeps your subscriber list yours. Both Sendy and MailChimp are supported simultaneously.\n\n**Who is it for?** Writers, developers, and freelancers who started with Aura and need the next level — or anyone building a personal site that doubles as a professional presence from day one.\n\n**Upcoming features** include price boxes, additional home page layouts, animated sections, and a dark theme variant. All future updates are included free with your purchase.\n","url":"/themes/aura-pro/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Pro Jekyll Theme","rating":5.0,"rating_count":27,"description":"The premium upgrade to the Aura Jekyll theme. Includes all Aura features plus advanced blog layouts, star-rated testimonials, Sendy newsletter support, and read-time indicators.","card_description":"Premium upgrade to Aura — advanced layouts, star testimonials, and read time.","price":9,"category":"Personal","card_image":"/assets/images/themes/aura-pro-card.webp","theme_screenshots":["/assets/images/themes/aura-pro-screenshot.webp","/assets/images/themes/aura-pro-screenshot-2.webp","/assets/images/themes/aura-pro-screenshot-3.webp"],"key_features":["Two Blog Layouts","Star Testimonials","Read Time","Sendy Newsletter"],"demo_url":"https://satishw.github.io/jekyll-theme-aura-pro/","buy_url":"https://satishw.github.io/jekyll-theme-aura-pro/features/","author":"Satish W","author_url":"https://satishw.github.io/jekyll-theme-aura-pro/","github_author_name":"Satish W","support":"lifetime","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-06-26","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"Commercial","discount_label":"launch_offer","discount_original_price":29,"features":["All features of the free Aura theme included","Two blog post layout options to suit different content styles","Read time indicator on every blog post","Testimonials section with star ratings","Sendy.co newsletter integration (in addition to MailChimp)","Logo section for brand or personal mark","Fully compatible with GitHub Pages — no custom plugins required","Contact form via Formspree, comments via Disqus","Image gallery with lazy loading and YouTube embed support","Google Analytics and social sharing built in","Free lifetime updates and support"],"slug":"aura-pro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/aura","collection":"themes","next":{"path":"_themes/basically-basic.md","relative_path":"_themes/basically-basic.md","excerpt":"<p>Basically Basic is Michael Rose’s answer to the question: what if Minima was actually good? It keeps the simplicity and GitHub Pages compatibility of Jekyll’s default theme, but adds six colour skins, an off-canvas navigation menu, a dedicated resume layout, and the overall polish you’d expect from the author of Minimal Mistakes.</p>\n\n","previous":{"path":"_themes/aura.md","relative_path":"_themes/aura.md","id":"/themes/aura","collection":"themes","url":"/themes/aura/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Jekyll Theme","description":"Versatile Jekyll theme designed for content creators, writers, and developers. Ships with blog, projects, testimonials, and portfolio sections — fully compatible with GitHub Pages.","key_features":["GitHub Pages","Blog & Projects","Testimonials","Contact Form"],"card_description":"Versatile Jekyll theme for creators and developers — blog, projects, and portfolio ready.","category":"Personal","card_image":"/assets/images/themes/aura-card.webp","theme_screenshots":["/assets/images/themes/aura-screenshot.webp","/assets/images/themes/aura-screenshot-2.webp","/assets/images/themes/aura-screenshot-3.webp"],"demo_url":"https://satishw.github.io/jekyll-theme-aura/","github_url":"https://github.com/satishw/jekyll-theme-aura","author":"Satish W","github_author_name":"Satish W","github_author_url":"https://github.com/satishw","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-02-10","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"MIT","stars":0,"forks":0,"features":["Fully compatible with GitHub Pages — no custom plugins required","Blog section with tag pages and code highlighting","Projects section to showcase your work","Testimonials section for social proof","Contact form via Formspree (no backend needed)","MailChimp newsletter integration","Disqus comments support","Image gallery with lazy loading","Embedded YouTube video support","Social sharing buttons on posts","Google Analytics integration","Scroll-to-top button and responsive mobile layout"],"slug":"aura","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/basically-basic","collection":"themes","next":{"path":"_themes/beautiful-jekyll.md","relative_path":"_themes/beautiful-jekyll.md","id":"/themes/beautiful-jekyll","collection":"themes","url":"/themes/beautiful-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Beautiful Jekyll","description":"One of the most popular Jekyll blog themes. Easy to set up, highly customisable, and works perfectly on GitHub Pages.","key_features":["Quick Setup","GitHub Pages","Social Links","Highly Customisable"],"card_description":"Highly popular blog theme — easy setup, works on GitHub Pages.","category":"Blog","card_image":"/assets/images/themes/beautiful-jekyll-card.webp","theme_screenshots":["/assets/images/themes/beautiful-jekyll-screenshot.webp","/assets/images/themes/beautiful-jekyll-screenshot-2.webp","/assets/images/themes/beautiful-jekyll-screenshot-3.webp"],"demo_url":"https://beautifuljekyll.com/","github_url":"https://github.com/daattali/beautiful-jekyll","author":"GitHub Community","github_author_name":"Dean Attali","github_author_url":"https://github.com/daattali","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-04-01","added_at":"2026-01-20","popular":true,"trending":false,"bestseller":false,"version":"6.0.1","license":"MIT","stars":6200,"forks":18900,"features":["Multiple colour schemes","Disqus comments","Google Analytics","Social sharing","Image thumbnails on posts","Footer links"],"slug":"beautiful-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Basically Basic is Michael Rose's answer to the question: what if Minima was actually good? It keeps the simplicity and GitHub Pages compatibility of Jekyll's default theme, but adds six colour skins, an off-canvas navigation menu, a dedicated resume layout, and the overall polish you'd expect from the author of Minimal Mistakes.\n\nIt's the theme to recommend when someone asks for something simple but not boring, and it works straight out of the box with GitHub Pages.\n\n**Who is it for?** Developers and writers who want a step up from Minima without jumping into the full complexity of Minimal Mistakes — a clean, modern blog with useful extras and zero setup friction.\n","url":"/themes/basically-basic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Basically Basic Jekyll Theme","description":"Your new Jekyll default theme — a modern, polished substitute for Minima. Six customisable colour skins, resume layout, off-canvas menu, and everything Minima should have been.","key_features":["6 Color Skins","Resume Layout","Off-Canvas Menu","GitHub Pages"],"card_description":"Modern Minima replacement with six colour skins and a resume layout.","category":"Blog","card_image":"/assets/images/themes/basically-basic-card.webp","theme_screenshots":["/assets/images/themes/basically-basic-screenshot.webp","/assets/images/themes/basically-basic-screenshot-2.webp","/assets/images/themes/basically-basic-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/jekyll-theme-basically-basic/","github_url":"https://github.com/mmistakes/jekyll-theme-basically-basic","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.8.0","license":"MIT","stars":800,"forks":500,"features":["6 built-in colour skins","Off-canvas slide-out menu","Resume/CV page layout","Responsive design","Syntax highlighting","Google Analytics","Disqus comments","Read time estimates","Social sharing","GitHub Pages compatible"],"slug":"basically-basic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Aura is a versatile Jekyll theme built for content creators, writers, and developers who need more than just a blog. It ships with dedicated sections for blog posts, projects, and testimonials — everything you need to build a personal site that represents you fully.\n\nThe theme is a fork of [CloudCannon's Vonge template](https://github.com/CloudCannon/vonge-jekyll-bookshop-template), extended with GitHub Pages compatibility and a richer feature set. Blog posts support code highlighting, image galleries, embedded YouTube videos, and a full table of contents — making it equally at home for technical writers and creative bloggers.\n\n**Who is it for?** Developers and creators who want a single theme that handles a personal site, portfolio, and blog without switching between multiple themes. If you want to show off projects, collect testimonials, and write posts — all in one clean package — Aura is built for exactly that.\n\n**AuraPro** — a premium version with additional layouts and components — is also available at [jekyll-theme-aura-pro](https://satishw.github.io/jekyll-theme-aura-pro/features).\n","url":"/themes/aura/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Jekyll Theme","description":"Versatile Jekyll theme designed for content creators, writers, and developers. Ships with blog, projects, testimonials, and portfolio sections — fully compatible with GitHub Pages.","key_features":["GitHub Pages","Blog & Projects","Testimonials","Contact Form"],"card_description":"Versatile Jekyll theme for creators and developers — blog, projects, and portfolio ready.","category":"Personal","card_image":"/assets/images/themes/aura-card.webp","theme_screenshots":["/assets/images/themes/aura-screenshot.webp","/assets/images/themes/aura-screenshot-2.webp","/assets/images/themes/aura-screenshot-3.webp"],"demo_url":"https://satishw.github.io/jekyll-theme-aura/","github_url":"https://github.com/satishw/jekyll-theme-aura","author":"Satish W","github_author_name":"Satish W","github_author_url":"https://github.com/satishw","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-02-10","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"MIT","stars":0,"forks":0,"features":["Fully compatible with GitHub Pages — no custom plugins required","Blog section with tag pages and code highlighting","Projects section to showcase your work","Testimonials section for social proof","Contact form via Formspree (no backend needed)","MailChimp newsletter integration","Disqus comments support","Image gallery with lazy loading","Embedded YouTube video support","Social sharing buttons on posts","Google Analytics integration","Scroll-to-top button and responsive mobile layout"],"slug":"aura","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/basically-basic.md","relative_path":"_themes/basically-basic.md","excerpt":"<p>Basically Basic is Michael Rose’s answer to the question: what if Minima was actually good? It keeps the simplicity and GitHub Pages compatibility of Jekyll’s default theme, but adds six colour skins, an off-canvas navigation menu, a dedicated resume layout, and the overall polish you’d expect from the author of Minimal Mistakes.</p>\n\n","previous":{"path":"_themes/aura.md","relative_path":"_themes/aura.md","excerpt":"<p>Aura is a versatile Jekyll theme built for content creators, writers, and developers who need more than just a blog. It ships with dedicated sections for blog posts, projects, and testimonials — everything you need to build a personal site that represents you fully.</p>\n\n","previous":{"path":"_themes/aura-pro.md","relative_path":"_themes/aura-pro.md","id":"/themes/aura-pro","collection":"themes","url":"/themes/aura-pro/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Pro Jekyll Theme","rating":5.0,"rating_count":27,"description":"The premium upgrade to the Aura Jekyll theme. Includes all Aura features plus advanced blog layouts, star-rated testimonials, Sendy newsletter support, and read-time indicators.","card_description":"Premium upgrade to Aura — advanced layouts, star testimonials, and read time.","price":9,"category":"Personal","card_image":"/assets/images/themes/aura-pro-card.webp","theme_screenshots":["/assets/images/themes/aura-pro-screenshot.webp","/assets/images/themes/aura-pro-screenshot-2.webp","/assets/images/themes/aura-pro-screenshot-3.webp"],"key_features":["Two Blog Layouts","Star Testimonials","Read Time","Sendy Newsletter"],"demo_url":"https://satishw.github.io/jekyll-theme-aura-pro/","buy_url":"https://satishw.github.io/jekyll-theme-aura-pro/features/","author":"Satish W","author_url":"https://satishw.github.io/jekyll-theme-aura-pro/","github_author_name":"Satish W","support":"lifetime","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-06-26","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"Commercial","discount_label":"launch_offer","discount_original_price":29,"features":["All features of the free Aura theme included","Two blog post layout options to suit different content styles","Read time indicator on every blog post","Testimonials section with star ratings","Sendy.co newsletter integration (in addition to MailChimp)","Logo section for brand or personal mark","Fully compatible with GitHub Pages — no custom plugins required","Contact form via Formspree, comments via Disqus","Image gallery with lazy loading and YouTube embed support","Google Analytics and social sharing built in","Free lifetime updates and support"],"slug":"aura-pro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/aura","collection":"themes","next":{"path":"_themes/basically-basic.md","relative_path":"_themes/basically-basic.md","id":"/themes/basically-basic","collection":"themes","url":"/themes/basically-basic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Basically Basic Jekyll Theme","description":"Your new Jekyll default theme — a modern, polished substitute for Minima. Six customisable colour skins, resume layout, off-canvas menu, and everything Minima should have been.","key_features":["6 Color Skins","Resume Layout","Off-Canvas Menu","GitHub Pages"],"card_description":"Modern Minima replacement with six colour skins and a resume layout.","category":"Blog","card_image":"/assets/images/themes/basically-basic-card.webp","theme_screenshots":["/assets/images/themes/basically-basic-screenshot.webp","/assets/images/themes/basically-basic-screenshot-2.webp","/assets/images/themes/basically-basic-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/jekyll-theme-basically-basic/","github_url":"https://github.com/mmistakes/jekyll-theme-basically-basic","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.8.0","license":"MIT","stars":800,"forks":500,"features":["6 built-in colour skins","Off-canvas slide-out menu","Resume/CV page layout","Responsive design","Syntax highlighting","Google Analytics","Disqus comments","Read time estimates","Social sharing","GitHub Pages compatible"],"slug":"basically-basic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Aura is a versatile Jekyll theme built for content creators, writers, and developers who need more than just a blog. It ships with dedicated sections for blog posts, projects, and testimonials — everything you need to build a personal site that represents you fully.\n\nThe theme is a fork of [CloudCannon's Vonge template](https://github.com/CloudCannon/vonge-jekyll-bookshop-template), extended with GitHub Pages compatibility and a richer feature set. Blog posts support code highlighting, image galleries, embedded YouTube videos, and a full table of contents — making it equally at home for technical writers and creative bloggers.\n\n**Who is it for?** Developers and creators who want a single theme that handles a personal site, portfolio, and blog without switching between multiple themes. If you want to show off projects, collect testimonials, and write posts — all in one clean package — Aura is built for exactly that.\n\n**AuraPro** — a premium version with additional layouts and components — is also available at [jekyll-theme-aura-pro](https://satishw.github.io/jekyll-theme-aura-pro/features).\n","url":"/themes/aura/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Jekyll Theme","description":"Versatile Jekyll theme designed for content creators, writers, and developers. Ships with blog, projects, testimonials, and portfolio sections — fully compatible with GitHub Pages.","key_features":["GitHub Pages","Blog & Projects","Testimonials","Contact Form"],"card_description":"Versatile Jekyll theme for creators and developers — blog, projects, and portfolio ready.","category":"Personal","card_image":"/assets/images/themes/aura-card.webp","theme_screenshots":["/assets/images/themes/aura-screenshot.webp","/assets/images/themes/aura-screenshot-2.webp","/assets/images/themes/aura-screenshot-3.webp"],"demo_url":"https://satishw.github.io/jekyll-theme-aura/","github_url":"https://github.com/satishw/jekyll-theme-aura","author":"Satish W","github_author_name":"Satish W","github_author_url":"https://github.com/satishw","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-02-10","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"MIT","stars":0,"forks":0,"features":["Fully compatible with GitHub Pages — no custom plugins required","Blog section with tag pages and code highlighting","Projects section to showcase your work","Testimonials section for social proof","Contact form via Formspree (no backend needed)","MailChimp newsletter integration","Disqus comments support","Image gallery with lazy loading","Embedded YouTube video support","Social sharing buttons on posts","Google Analytics integration","Scroll-to-top button and responsive mobile layout"],"slug":"aura","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/basically-basic","collection":"themes","next":{"path":"_themes/beautiful-jekyll.md","relative_path":"_themes/beautiful-jekyll.md","excerpt":"<p>Beautiful Jekyll is one of the most widely-used Jekyll themes on GitHub. Its combination of ease of setup, clean design, and deep customisability has made it the go-to choice for thousands of developers building personal blogs and project sites.</p>\n\n","previous":{"path":"_themes/basically-basic.md","relative_path":"_themes/basically-basic.md","id":"/themes/basically-basic","collection":"themes","url":"/themes/basically-basic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Basically Basic Jekyll Theme","description":"Your new Jekyll default theme — a modern, polished substitute for Minima. Six customisable colour skins, resume layout, off-canvas menu, and everything Minima should have been.","key_features":["6 Color Skins","Resume Layout","Off-Canvas Menu","GitHub Pages"],"card_description":"Modern Minima replacement with six colour skins and a resume layout.","category":"Blog","card_image":"/assets/images/themes/basically-basic-card.webp","theme_screenshots":["/assets/images/themes/basically-basic-screenshot.webp","/assets/images/themes/basically-basic-screenshot-2.webp","/assets/images/themes/basically-basic-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/jekyll-theme-basically-basic/","github_url":"https://github.com/mmistakes/jekyll-theme-basically-basic","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.8.0","license":"MIT","stars":800,"forks":500,"features":["6 built-in colour skins","Off-canvas slide-out menu","Resume/CV page layout","Responsive design","Syntax highlighting","Google Analytics","Disqus comments","Read time estimates","Social sharing","GitHub Pages compatible"],"slug":"basically-basic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/beautiful-jekyll","collection":"themes","next":{"path":"_themes/bulma-clean-theme.md","relative_path":"_themes/bulma-clean-theme.md","id":"/themes/bulma-clean-theme","collection":"themes","url":"/themes/bulma-clean-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Bulma Clean Theme Jekyll Theme","description":"A clean and modern Jekyll theme built with the Bulma CSS framework. Features a blog, portfolio, and docs-ready layout with extensive customisation.","key_features":["Bulma CSS","Portfolio Ready","Docs Layout","GitHub Pages"],"card_description":"Clean, modern Bulma CSS theme for blogs, portfolios, and docs.","category":"Blog","card_image":"/assets/images/themes/bulma-clean-theme-card.webp","theme_screenshots":["/assets/images/themes/bulma-clean-theme-screenshot.webp","/assets/images/themes/bulma-clean-theme-screenshot-2.webp","/assets/images/themes/bulma-clean-theme-screenshot-3.webp"],"demo_url":"https://www.csrhymes.com/bulma-clean-theme/","github_url":"https://github.com/chrisrhymes/bulma-clean-theme","author":"GitHub Community","github_author_name":"chrisrhymes","github_author_url":"https://github.com/chrisrhymes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-06-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.14.0","license":"MIT","stars":407,"forks":196,"features":["Bulma CSS framework","Blog and portfolio layouts","Documentation-ready structure","Hero image sections","Call-to-action blocks","Product showcase pages","Notification banners","Tabs and cards components","GitHub Pages compatible","Extensively documented"],"slug":"bulma-clean-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Beautiful Jekyll is one of the most widely-used Jekyll themes on GitHub. Its combination of ease of setup, clean design, and deep customisability has made it the go-to choice for thousands of developers building personal blogs and project sites.\n\nYou can go from zero to a live blog on GitHub Pages in minutes — fork the repo, update `_config.yml`, and you're done.\n\n**Who is it for?** Anyone who wants a polished blog on GitHub Pages with minimal setup and maximum flexibility.\n","url":"/themes/beautiful-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Beautiful Jekyll","description":"One of the most popular Jekyll blog themes. Easy to set up, highly customisable, and works perfectly on GitHub Pages.","key_features":["Quick Setup","GitHub Pages","Social Links","Highly Customisable"],"card_description":"Highly popular blog theme — easy setup, works on GitHub Pages.","category":"Blog","card_image":"/assets/images/themes/beautiful-jekyll-card.webp","theme_screenshots":["/assets/images/themes/beautiful-jekyll-screenshot.webp","/assets/images/themes/beautiful-jekyll-screenshot-2.webp","/assets/images/themes/beautiful-jekyll-screenshot-3.webp"],"demo_url":"https://beautifuljekyll.com/","github_url":"https://github.com/daattali/beautiful-jekyll","author":"GitHub Community","github_author_name":"Dean Attali","github_author_url":"https://github.com/daattali","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-04-01","added_at":"2026-01-20","popular":true,"trending":false,"bestseller":false,"version":"6.0.1","license":"MIT","stars":6200,"forks":18900,"features":["Multiple colour schemes","Disqus comments","Google Analytics","Social sharing","Image thumbnails on posts","Footer links"],"slug":"beautiful-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Basically Basic is Michael Rose's answer to the question: what if Minima was actually good? It keeps the simplicity and GitHub Pages compatibility of Jekyll's default theme, but adds six colour skins, an off-canvas navigation menu, a dedicated resume layout, and the overall polish you'd expect from the author of Minimal Mistakes.\n\nIt's the theme to recommend when someone asks for something simple but not boring, and it works straight out of the box with GitHub Pages.\n\n**Who is it for?** Developers and writers who want a step up from Minima without jumping into the full complexity of Minimal Mistakes — a clean, modern blog with useful extras and zero setup friction.\n","url":"/themes/basically-basic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Basically Basic Jekyll Theme","description":"Your new Jekyll default theme — a modern, polished substitute for Minima. Six customisable colour skins, resume layout, off-canvas menu, and everything Minima should have been.","key_features":["6 Color Skins","Resume Layout","Off-Canvas Menu","GitHub Pages"],"card_description":"Modern Minima replacement with six colour skins and a resume layout.","category":"Blog","card_image":"/assets/images/themes/basically-basic-card.webp","theme_screenshots":["/assets/images/themes/basically-basic-screenshot.webp","/assets/images/themes/basically-basic-screenshot-2.webp","/assets/images/themes/basically-basic-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/jekyll-theme-basically-basic/","github_url":"https://github.com/mmistakes/jekyll-theme-basically-basic","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.8.0","license":"MIT","stars":800,"forks":500,"features":["6 built-in colour skins","Off-canvas slide-out menu","Resume/CV page layout","Responsive design","Syntax highlighting","Google Analytics","Disqus comments","Read time estimates","Social sharing","GitHub Pages compatible"],"slug":"basically-basic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/beautiful-jekyll.md","relative_path":"_themes/beautiful-jekyll.md","excerpt":"<p>Beautiful Jekyll is one of the most widely-used Jekyll themes on GitHub. Its combination of ease of setup, clean design, and deep customisability has made it the go-to choice for thousands of developers building personal blogs and project sites.</p>\n\n","previous":{"path":"_themes/basically-basic.md","relative_path":"_themes/basically-basic.md","excerpt":"<p>Basically Basic is Michael Rose’s answer to the question: what if Minima was actually good? It keeps the simplicity and GitHub Pages compatibility of Jekyll’s default theme, but adds six colour skins, an off-canvas navigation menu, a dedicated resume layout, and the overall polish you’d expect from the author of Minimal Mistakes.</p>\n\n","previous":{"path":"_themes/aura.md","relative_path":"_themes/aura.md","id":"/themes/aura","collection":"themes","url":"/themes/aura/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Aura Jekyll Theme","description":"Versatile Jekyll theme designed for content creators, writers, and developers. Ships with blog, projects, testimonials, and portfolio sections — fully compatible with GitHub Pages.","key_features":["GitHub Pages","Blog & Projects","Testimonials","Contact Form"],"card_description":"Versatile Jekyll theme for creators and developers — blog, projects, and portfolio ready.","category":"Personal","card_image":"/assets/images/themes/aura-card.webp","theme_screenshots":["/assets/images/themes/aura-screenshot.webp","/assets/images/themes/aura-screenshot-2.webp","/assets/images/themes/aura-screenshot-3.webp"],"demo_url":"https://satishw.github.io/jekyll-theme-aura/","github_url":"https://github.com/satishw/jekyll-theme-aura","author":"Satish W","github_author_name":"Satish W","github_author_url":"https://github.com/satishw","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-25","added_at":"2026-02-10","popular":false,"trending":true,"bestseller":false,"version":"1.0.0","license":"MIT","stars":0,"forks":0,"features":["Fully compatible with GitHub Pages — no custom plugins required","Blog section with tag pages and code highlighting","Projects section to showcase your work","Testimonials section for social proof","Contact form via Formspree (no backend needed)","MailChimp newsletter integration","Disqus comments support","Image gallery with lazy loading","Embedded YouTube video support","Social sharing buttons on posts","Google Analytics integration","Scroll-to-top button and responsive mobile layout"],"slug":"aura","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/basically-basic","collection":"themes","next":{"path":"_themes/beautiful-jekyll.md","relative_path":"_themes/beautiful-jekyll.md","id":"/themes/beautiful-jekyll","collection":"themes","url":"/themes/beautiful-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Beautiful Jekyll","description":"One of the most popular Jekyll blog themes. Easy to set up, highly customisable, and works perfectly on GitHub Pages.","key_features":["Quick Setup","GitHub Pages","Social Links","Highly Customisable"],"card_description":"Highly popular blog theme — easy setup, works on GitHub Pages.","category":"Blog","card_image":"/assets/images/themes/beautiful-jekyll-card.webp","theme_screenshots":["/assets/images/themes/beautiful-jekyll-screenshot.webp","/assets/images/themes/beautiful-jekyll-screenshot-2.webp","/assets/images/themes/beautiful-jekyll-screenshot-3.webp"],"demo_url":"https://beautifuljekyll.com/","github_url":"https://github.com/daattali/beautiful-jekyll","author":"GitHub Community","github_author_name":"Dean Attali","github_author_url":"https://github.com/daattali","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-04-01","added_at":"2026-01-20","popular":true,"trending":false,"bestseller":false,"version":"6.0.1","license":"MIT","stars":6200,"forks":18900,"features":["Multiple colour schemes","Disqus comments","Google Analytics","Social sharing","Image thumbnails on posts","Footer links"],"slug":"beautiful-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Basically Basic is Michael Rose's answer to the question: what if Minima was actually good? It keeps the simplicity and GitHub Pages compatibility of Jekyll's default theme, but adds six colour skins, an off-canvas navigation menu, a dedicated resume layout, and the overall polish you'd expect from the author of Minimal Mistakes.\n\nIt's the theme to recommend when someone asks for something simple but not boring, and it works straight out of the box with GitHub Pages.\n\n**Who is it for?** Developers and writers who want a step up from Minima without jumping into the full complexity of Minimal Mistakes — a clean, modern blog with useful extras and zero setup friction.\n","url":"/themes/basically-basic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Basically Basic Jekyll Theme","description":"Your new Jekyll default theme — a modern, polished substitute for Minima. Six customisable colour skins, resume layout, off-canvas menu, and everything Minima should have been.","key_features":["6 Color Skins","Resume Layout","Off-Canvas Menu","GitHub Pages"],"card_description":"Modern Minima replacement with six colour skins and a resume layout.","category":"Blog","card_image":"/assets/images/themes/basically-basic-card.webp","theme_screenshots":["/assets/images/themes/basically-basic-screenshot.webp","/assets/images/themes/basically-basic-screenshot-2.webp","/assets/images/themes/basically-basic-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/jekyll-theme-basically-basic/","github_url":"https://github.com/mmistakes/jekyll-theme-basically-basic","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.8.0","license":"MIT","stars":800,"forks":500,"features":["6 built-in colour skins","Off-canvas slide-out menu","Resume/CV page layout","Responsive design","Syntax highlighting","Google Analytics","Disqus comments","Read time estimates","Social sharing","GitHub Pages compatible"],"slug":"basically-basic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/beautiful-jekyll","collection":"themes","next":{"path":"_themes/bulma-clean-theme.md","relative_path":"_themes/bulma-clean-theme.md","excerpt":"<p>Bulma Clean Theme leverages the Bulma CSS framework to deliver a modern, component-rich Jekyll theme. Beyond a standard blog layout, it includes portfolio pages, product showcases, and documentation-style layouts.</p>\n\n","previous":{"path":"_themes/beautiful-jekyll.md","relative_path":"_themes/beautiful-jekyll.md","id":"/themes/beautiful-jekyll","collection":"themes","url":"/themes/beautiful-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Beautiful Jekyll","description":"One of the most popular Jekyll blog themes. Easy to set up, highly customisable, and works perfectly on GitHub Pages.","key_features":["Quick Setup","GitHub Pages","Social Links","Highly Customisable"],"card_description":"Highly popular blog theme — easy setup, works on GitHub Pages.","category":"Blog","card_image":"/assets/images/themes/beautiful-jekyll-card.webp","theme_screenshots":["/assets/images/themes/beautiful-jekyll-screenshot.webp","/assets/images/themes/beautiful-jekyll-screenshot-2.webp","/assets/images/themes/beautiful-jekyll-screenshot-3.webp"],"demo_url":"https://beautifuljekyll.com/","github_url":"https://github.com/daattali/beautiful-jekyll","author":"GitHub Community","github_author_name":"Dean Attali","github_author_url":"https://github.com/daattali","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-04-01","added_at":"2026-01-20","popular":true,"trending":false,"bestseller":false,"version":"6.0.1","license":"MIT","stars":6200,"forks":18900,"features":["Multiple colour schemes","Disqus comments","Google Analytics","Social sharing","Image thumbnails on posts","Footer links"],"slug":"beautiful-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/bulma-clean-theme","collection":"themes","next":{"path":"_themes/cayman.md","relative_path":"_themes/cayman.md","id":"/themes/cayman","collection":"themes","url":"/themes/cayman/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Cayman Jekyll Theme","description":"A bright, clean GitHub Pages Jekyll theme with a large hero header and fluid typography. Simple and polished for project landing pages.","key_features":["GitHub Pages","Hero Header","Clean Layout","Project Docs"],"card_description":"Bright GitHub Pages theme with large hero header for project sites.","category":"Documentation","card_image":"/assets/images/themes/cayman-card.webp","theme_screenshots":["/assets/images/themes/cayman-screenshot.webp","/assets/images/themes/cayman-screenshot-2.webp","/assets/images/themes/cayman-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/cayman/","github_url":"https://github.com/pages-themes/cayman","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-09-01","added_at":"2026-02-20","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0","stars":2100,"forks":5700,"features":["Teal gradient header","Download buttons","Clean single-column layout","GitHub Pages native","SEO tag support"],"slug":"cayman","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Bulma Clean Theme leverages the Bulma CSS framework to deliver a modern, component-rich Jekyll theme. Beyond a standard blog layout, it includes portfolio pages, product showcases, and documentation-style layouts.\n\nThe theme is actively maintained and comes with thorough documentation, making it approachable for developers of all experience levels.\n\n**Who is it for?** Developers who want a modern Bulma-based theme with more layout variety than a typical blog theme.\n","url":"/themes/bulma-clean-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Bulma Clean Theme Jekyll Theme","description":"A clean and modern Jekyll theme built with the Bulma CSS framework. Features a blog, portfolio, and docs-ready layout with extensive customisation.","key_features":["Bulma CSS","Portfolio Ready","Docs Layout","GitHub Pages"],"card_description":"Clean, modern Bulma CSS theme for blogs, portfolios, and docs.","category":"Blog","card_image":"/assets/images/themes/bulma-clean-theme-card.webp","theme_screenshots":["/assets/images/themes/bulma-clean-theme-screenshot.webp","/assets/images/themes/bulma-clean-theme-screenshot-2.webp","/assets/images/themes/bulma-clean-theme-screenshot-3.webp"],"demo_url":"https://www.csrhymes.com/bulma-clean-theme/","github_url":"https://github.com/chrisrhymes/bulma-clean-theme","author":"GitHub Community","github_author_name":"chrisrhymes","github_author_url":"https://github.com/chrisrhymes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-06-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.14.0","license":"MIT","stars":407,"forks":196,"features":["Bulma CSS framework","Blog and portfolio layouts","Documentation-ready structure","Hero image sections","Call-to-action blocks","Product showcase pages","Notification banners","Tabs and cards components","GitHub Pages compatible","Extensively documented"],"slug":"bulma-clean-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Beautiful Jekyll is one of the most widely-used Jekyll themes on GitHub. Its combination of ease of setup, clean design, and deep customisability has made it the go-to choice for thousands of developers building personal blogs and project sites.\n\nYou can go from zero to a live blog on GitHub Pages in minutes — fork the repo, update `_config.yml`, and you're done.\n\n**Who is it for?** Anyone who wants a polished blog on GitHub Pages with minimal setup and maximum flexibility.\n","url":"/themes/beautiful-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Beautiful Jekyll","description":"One of the most popular Jekyll blog themes. Easy to set up, highly customisable, and works perfectly on GitHub Pages.","key_features":["Quick Setup","GitHub Pages","Social Links","Highly Customisable"],"card_description":"Highly popular blog theme — easy setup, works on GitHub Pages.","category":"Blog","card_image":"/assets/images/themes/beautiful-jekyll-card.webp","theme_screenshots":["/assets/images/themes/beautiful-jekyll-screenshot.webp","/assets/images/themes/beautiful-jekyll-screenshot-2.webp","/assets/images/themes/beautiful-jekyll-screenshot-3.webp"],"demo_url":"https://beautifuljekyll.com/","github_url":"https://github.com/daattali/beautiful-jekyll","author":"GitHub Community","github_author_name":"Dean Attali","github_author_url":"https://github.com/daattali","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-04-01","added_at":"2026-01-20","popular":true,"trending":false,"bestseller":false,"version":"6.0.1","license":"MIT","stars":6200,"forks":18900,"features":["Multiple colour schemes","Disqus comments","Google Analytics","Social sharing","Image thumbnails on posts","Footer links"],"slug":"beautiful-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/bulma-clean-theme.md","relative_path":"_themes/bulma-clean-theme.md","excerpt":"<p>Bulma Clean Theme leverages the Bulma CSS framework to deliver a modern, component-rich Jekyll theme. Beyond a standard blog layout, it includes portfolio pages, product showcases, and documentation-style layouts.</p>\n\n","previous":{"path":"_themes/beautiful-jekyll.md","relative_path":"_themes/beautiful-jekyll.md","excerpt":"<p>Beautiful Jekyll is one of the most widely-used Jekyll themes on GitHub. Its combination of ease of setup, clean design, and deep customisability has made it the go-to choice for thousands of developers building personal blogs and project sites.</p>\n\n","previous":{"path":"_themes/basically-basic.md","relative_path":"_themes/basically-basic.md","id":"/themes/basically-basic","collection":"themes","url":"/themes/basically-basic/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Basically Basic Jekyll Theme","description":"Your new Jekyll default theme — a modern, polished substitute for Minima. Six customisable colour skins, resume layout, off-canvas menu, and everything Minima should have been.","key_features":["6 Color Skins","Resume Layout","Off-Canvas Menu","GitHub Pages"],"card_description":"Modern Minima replacement with six colour skins and a resume layout.","category":"Blog","card_image":"/assets/images/themes/basically-basic-card.webp","theme_screenshots":["/assets/images/themes/basically-basic-screenshot.webp","/assets/images/themes/basically-basic-screenshot-2.webp","/assets/images/themes/basically-basic-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/jekyll-theme-basically-basic/","github_url":"https://github.com/mmistakes/jekyll-theme-basically-basic","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.8.0","license":"MIT","stars":800,"forks":500,"features":["6 built-in colour skins","Off-canvas slide-out menu","Resume/CV page layout","Responsive design","Syntax highlighting","Google Analytics","Disqus comments","Read time estimates","Social sharing","GitHub Pages compatible"],"slug":"basically-basic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/beautiful-jekyll","collection":"themes","next":{"path":"_themes/bulma-clean-theme.md","relative_path":"_themes/bulma-clean-theme.md","id":"/themes/bulma-clean-theme","collection":"themes","url":"/themes/bulma-clean-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Bulma Clean Theme Jekyll Theme","description":"A clean and modern Jekyll theme built with the Bulma CSS framework. Features a blog, portfolio, and docs-ready layout with extensive customisation.","key_features":["Bulma CSS","Portfolio Ready","Docs Layout","GitHub Pages"],"card_description":"Clean, modern Bulma CSS theme for blogs, portfolios, and docs.","category":"Blog","card_image":"/assets/images/themes/bulma-clean-theme-card.webp","theme_screenshots":["/assets/images/themes/bulma-clean-theme-screenshot.webp","/assets/images/themes/bulma-clean-theme-screenshot-2.webp","/assets/images/themes/bulma-clean-theme-screenshot-3.webp"],"demo_url":"https://www.csrhymes.com/bulma-clean-theme/","github_url":"https://github.com/chrisrhymes/bulma-clean-theme","author":"GitHub Community","github_author_name":"chrisrhymes","github_author_url":"https://github.com/chrisrhymes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-06-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.14.0","license":"MIT","stars":407,"forks":196,"features":["Bulma CSS framework","Blog and portfolio layouts","Documentation-ready structure","Hero image sections","Call-to-action blocks","Product showcase pages","Notification banners","Tabs and cards components","GitHub Pages compatible","Extensively documented"],"slug":"bulma-clean-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Beautiful Jekyll is one of the most widely-used Jekyll themes on GitHub. Its combination of ease of setup, clean design, and deep customisability has made it the go-to choice for thousands of developers building personal blogs and project sites.\n\nYou can go from zero to a live blog on GitHub Pages in minutes — fork the repo, update `_config.yml`, and you're done.\n\n**Who is it for?** Anyone who wants a polished blog on GitHub Pages with minimal setup and maximum flexibility.\n","url":"/themes/beautiful-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Beautiful Jekyll","description":"One of the most popular Jekyll blog themes. Easy to set up, highly customisable, and works perfectly on GitHub Pages.","key_features":["Quick Setup","GitHub Pages","Social Links","Highly Customisable"],"card_description":"Highly popular blog theme — easy setup, works on GitHub Pages.","category":"Blog","card_image":"/assets/images/themes/beautiful-jekyll-card.webp","theme_screenshots":["/assets/images/themes/beautiful-jekyll-screenshot.webp","/assets/images/themes/beautiful-jekyll-screenshot-2.webp","/assets/images/themes/beautiful-jekyll-screenshot-3.webp"],"demo_url":"https://beautifuljekyll.com/","github_url":"https://github.com/daattali/beautiful-jekyll","author":"GitHub Community","github_author_name":"Dean Attali","github_author_url":"https://github.com/daattali","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-04-01","added_at":"2026-01-20","popular":true,"trending":false,"bestseller":false,"version":"6.0.1","license":"MIT","stars":6200,"forks":18900,"features":["Multiple colour schemes","Disqus comments","Google Analytics","Social sharing","Image thumbnails on posts","Footer links"],"slug":"beautiful-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/bulma-clean-theme","collection":"themes","next":{"path":"_themes/cayman.md","relative_path":"_themes/cayman.md","excerpt":"<p>Cayman is the classic GitHub Pages documentation theme, recognisable by its signature teal gradient header. It’s the cleanest way to turn a repository’s README into a polished project page.</p>\n\n","previous":{"path":"_themes/bulma-clean-theme.md","relative_path":"_themes/bulma-clean-theme.md","id":"/themes/bulma-clean-theme","collection":"themes","url":"/themes/bulma-clean-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Bulma Clean Theme Jekyll Theme","description":"A clean and modern Jekyll theme built with the Bulma CSS framework. Features a blog, portfolio, and docs-ready layout with extensive customisation.","key_features":["Bulma CSS","Portfolio Ready","Docs Layout","GitHub Pages"],"card_description":"Clean, modern Bulma CSS theme for blogs, portfolios, and docs.","category":"Blog","card_image":"/assets/images/themes/bulma-clean-theme-card.webp","theme_screenshots":["/assets/images/themes/bulma-clean-theme-screenshot.webp","/assets/images/themes/bulma-clean-theme-screenshot-2.webp","/assets/images/themes/bulma-clean-theme-screenshot-3.webp"],"demo_url":"https://www.csrhymes.com/bulma-clean-theme/","github_url":"https://github.com/chrisrhymes/bulma-clean-theme","author":"GitHub Community","github_author_name":"chrisrhymes","github_author_url":"https://github.com/chrisrhymes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-06-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.14.0","license":"MIT","stars":407,"forks":196,"features":["Bulma CSS framework","Blog and portfolio layouts","Documentation-ready structure","Hero image sections","Call-to-action blocks","Product showcase pages","Notification banners","Tabs and cards components","GitHub Pages compatible","Extensively documented"],"slug":"bulma-clean-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/cayman","collection":"themes","next":{"path":"_themes/centrarium.md","relative_path":"_themes/centrarium.md","id":"/themes/centrarium","collection":"themes","url":"/themes/centrarium/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Centrarium Jekyll Theme","description":"A simple, classy Jekyll blog theme with a large header image, featured posts, category pages, and Google Analytics integration.","key_features":["Featured Images","Category Pages","Analytics Ready","GitHub Pages"],"card_description":"Classy blog theme with large header images and featured posts.","category":"Blog","card_image":"/assets/images/themes/centrarium-card.webp","theme_screenshots":["/assets/images/themes/centrarium-screenshot.webp","/assets/images/themes/centrarium-screenshot-2.webp","/assets/images/themes/centrarium-screenshot-3.webp"],"demo_url":"https://bencentra.com/centrarium/","github_url":"https://github.com/bencentra/centrarium","author":"GitHub Community","github_author_name":"bencentra","github_author_url":"https://github.com/bencentra","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-15","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":444,"forks":251,"features":["Large hero header image","Featured post support","Category archive pages","Tag archive pages","Disqus comments","Google Analytics","Social share buttons","Paginated post list","GitHub Pages compatible","Responsive design"],"slug":"centrarium","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Cayman is the classic GitHub Pages documentation theme, recognisable by its signature teal gradient header. It's the cleanest way to turn a repository's README into a polished project page.\n\nBuilt and maintained by GitHub itself, it's always up to date with the latest GitHub Pages Jekyll version.\n\n**Who is it for?** Open source projects, GitHub Pages documentation sites, and anyone who wants the classic, trusted project page look.\n","url":"/themes/cayman/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Cayman Jekyll Theme","description":"A bright, clean GitHub Pages Jekyll theme with a large hero header and fluid typography. Simple and polished for project landing pages.","key_features":["GitHub Pages","Hero Header","Clean Layout","Project Docs"],"card_description":"Bright GitHub Pages theme with large hero header for project sites.","category":"Documentation","card_image":"/assets/images/themes/cayman-card.webp","theme_screenshots":["/assets/images/themes/cayman-screenshot.webp","/assets/images/themes/cayman-screenshot-2.webp","/assets/images/themes/cayman-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/cayman/","github_url":"https://github.com/pages-themes/cayman","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-09-01","added_at":"2026-02-20","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0","stars":2100,"forks":5700,"features":["Teal gradient header","Download buttons","Clean single-column layout","GitHub Pages native","SEO tag support"],"slug":"cayman","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Bulma Clean Theme leverages the Bulma CSS framework to deliver a modern, component-rich Jekyll theme. Beyond a standard blog layout, it includes portfolio pages, product showcases, and documentation-style layouts.\n\nThe theme is actively maintained and comes with thorough documentation, making it approachable for developers of all experience levels.\n\n**Who is it for?** Developers who want a modern Bulma-based theme with more layout variety than a typical blog theme.\n","url":"/themes/bulma-clean-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Bulma Clean Theme Jekyll Theme","description":"A clean and modern Jekyll theme built with the Bulma CSS framework. Features a blog, portfolio, and docs-ready layout with extensive customisation.","key_features":["Bulma CSS","Portfolio Ready","Docs Layout","GitHub Pages"],"card_description":"Clean, modern Bulma CSS theme for blogs, portfolios, and docs.","category":"Blog","card_image":"/assets/images/themes/bulma-clean-theme-card.webp","theme_screenshots":["/assets/images/themes/bulma-clean-theme-screenshot.webp","/assets/images/themes/bulma-clean-theme-screenshot-2.webp","/assets/images/themes/bulma-clean-theme-screenshot-3.webp"],"demo_url":"https://www.csrhymes.com/bulma-clean-theme/","github_url":"https://github.com/chrisrhymes/bulma-clean-theme","author":"GitHub Community","github_author_name":"chrisrhymes","github_author_url":"https://github.com/chrisrhymes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-06-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.14.0","license":"MIT","stars":407,"forks":196,"features":["Bulma CSS framework","Blog and portfolio layouts","Documentation-ready structure","Hero image sections","Call-to-action blocks","Product showcase pages","Notification banners","Tabs and cards components","GitHub Pages compatible","Extensively documented"],"slug":"bulma-clean-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/cayman.md","relative_path":"_themes/cayman.md","excerpt":"<p>Cayman is the classic GitHub Pages documentation theme, recognisable by its signature teal gradient header. It’s the cleanest way to turn a repository’s README into a polished project page.</p>\n\n","previous":{"path":"_themes/bulma-clean-theme.md","relative_path":"_themes/bulma-clean-theme.md","excerpt":"<p>Bulma Clean Theme leverages the Bulma CSS framework to deliver a modern, component-rich Jekyll theme. Beyond a standard blog layout, it includes portfolio pages, product showcases, and documentation-style layouts.</p>\n\n","previous":{"path":"_themes/beautiful-jekyll.md","relative_path":"_themes/beautiful-jekyll.md","id":"/themes/beautiful-jekyll","collection":"themes","url":"/themes/beautiful-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Beautiful Jekyll","description":"One of the most popular Jekyll blog themes. Easy to set up, highly customisable, and works perfectly on GitHub Pages.","key_features":["Quick Setup","GitHub Pages","Social Links","Highly Customisable"],"card_description":"Highly popular blog theme — easy setup, works on GitHub Pages.","category":"Blog","card_image":"/assets/images/themes/beautiful-jekyll-card.webp","theme_screenshots":["/assets/images/themes/beautiful-jekyll-screenshot.webp","/assets/images/themes/beautiful-jekyll-screenshot-2.webp","/assets/images/themes/beautiful-jekyll-screenshot-3.webp"],"demo_url":"https://beautifuljekyll.com/","github_url":"https://github.com/daattali/beautiful-jekyll","author":"GitHub Community","github_author_name":"Dean Attali","github_author_url":"https://github.com/daattali","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-04-01","added_at":"2026-01-20","popular":true,"trending":false,"bestseller":false,"version":"6.0.1","license":"MIT","stars":6200,"forks":18900,"features":["Multiple colour schemes","Disqus comments","Google Analytics","Social sharing","Image thumbnails on posts","Footer links"],"slug":"beautiful-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/bulma-clean-theme","collection":"themes","next":{"path":"_themes/cayman.md","relative_path":"_themes/cayman.md","id":"/themes/cayman","collection":"themes","url":"/themes/cayman/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Cayman Jekyll Theme","description":"A bright, clean GitHub Pages Jekyll theme with a large hero header and fluid typography. Simple and polished for project landing pages.","key_features":["GitHub Pages","Hero Header","Clean Layout","Project Docs"],"card_description":"Bright GitHub Pages theme with large hero header for project sites.","category":"Documentation","card_image":"/assets/images/themes/cayman-card.webp","theme_screenshots":["/assets/images/themes/cayman-screenshot.webp","/assets/images/themes/cayman-screenshot-2.webp","/assets/images/themes/cayman-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/cayman/","github_url":"https://github.com/pages-themes/cayman","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-09-01","added_at":"2026-02-20","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0","stars":2100,"forks":5700,"features":["Teal gradient header","Download buttons","Clean single-column layout","GitHub Pages native","SEO tag support"],"slug":"cayman","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Bulma Clean Theme leverages the Bulma CSS framework to deliver a modern, component-rich Jekyll theme. Beyond a standard blog layout, it includes portfolio pages, product showcases, and documentation-style layouts.\n\nThe theme is actively maintained and comes with thorough documentation, making it approachable for developers of all experience levels.\n\n**Who is it for?** Developers who want a modern Bulma-based theme with more layout variety than a typical blog theme.\n","url":"/themes/bulma-clean-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Bulma Clean Theme Jekyll Theme","description":"A clean and modern Jekyll theme built with the Bulma CSS framework. Features a blog, portfolio, and docs-ready layout with extensive customisation.","key_features":["Bulma CSS","Portfolio Ready","Docs Layout","GitHub Pages"],"card_description":"Clean, modern Bulma CSS theme for blogs, portfolios, and docs.","category":"Blog","card_image":"/assets/images/themes/bulma-clean-theme-card.webp","theme_screenshots":["/assets/images/themes/bulma-clean-theme-screenshot.webp","/assets/images/themes/bulma-clean-theme-screenshot-2.webp","/assets/images/themes/bulma-clean-theme-screenshot-3.webp"],"demo_url":"https://www.csrhymes.com/bulma-clean-theme/","github_url":"https://github.com/chrisrhymes/bulma-clean-theme","author":"GitHub Community","github_author_name":"chrisrhymes","github_author_url":"https://github.com/chrisrhymes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-06-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.14.0","license":"MIT","stars":407,"forks":196,"features":["Bulma CSS framework","Blog and portfolio layouts","Documentation-ready structure","Hero image sections","Call-to-action blocks","Product showcase pages","Notification banners","Tabs and cards components","GitHub Pages compatible","Extensively documented"],"slug":"bulma-clean-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/cayman","collection":"themes","next":{"path":"_themes/centrarium.md","relative_path":"_themes/centrarium.md","excerpt":"<p>Centrarium balances a clean, classy aesthetic with a generous feature set. The large header image gives each page a visual anchor, while the well-structured navigation makes it easy to explore categories and tags.</p>\n\n","previous":{"path":"_themes/cayman.md","relative_path":"_themes/cayman.md","id":"/themes/cayman","collection":"themes","url":"/themes/cayman/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Cayman Jekyll Theme","description":"A bright, clean GitHub Pages Jekyll theme with a large hero header and fluid typography. Simple and polished for project landing pages.","key_features":["GitHub Pages","Hero Header","Clean Layout","Project Docs"],"card_description":"Bright GitHub Pages theme with large hero header for project sites.","category":"Documentation","card_image":"/assets/images/themes/cayman-card.webp","theme_screenshots":["/assets/images/themes/cayman-screenshot.webp","/assets/images/themes/cayman-screenshot-2.webp","/assets/images/themes/cayman-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/cayman/","github_url":"https://github.com/pages-themes/cayman","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-09-01","added_at":"2026-02-20","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0","stars":2100,"forks":5700,"features":["Teal gradient header","Download buttons","Clean single-column layout","GitHub Pages native","SEO tag support"],"slug":"cayman","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/centrarium","collection":"themes","next":{"path":"_themes/chalk.md","relative_path":"_themes/chalk.md","id":"/themes/chalk","collection":"themes","url":"/themes/chalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Chalk Jekyll Theme","description":"A high quality, completely customisable Jekyll blog theme. Features an elegant two-column layout, full-text search, category filtering, and subtle animations that make the experience feel alive.","key_features":["Full-Text Search","Tag Filtering","Subtle Animations","Category Pages"],"card_description":"Elegant two-column blog with full-text search and category filtering.","category":"Blog","card_image":"/assets/images/themes/chalk-card.webp","theme_screenshots":["/assets/images/themes/chalk-screenshot.webp","/assets/images/themes/chalk-screenshot-2.webp","/assets/images/themes/chalk-screenshot-3.webp"],"demo_url":"https://chalk.nielsenramon.com/","github_url":"https://github.com/nielsenramon/chalk","author":"GitHub Community","github_author_name":"nielsenramon","github_author_url":"https://github.com/nielsenramon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"2.3.0","license":"MIT","stars":1300,"forks":350,"features":["Two-column layout with elegant sidebar","Full-text search powered by Lunr.js","Category filtering on the post listing","Subtle CSS animations throughout","Cross browser compatible","Disqus comments","Google Analytics","Apple touch icon support","Environment-based configuration","SVG social icons"],"slug":"chalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Centrarium balances a clean, classy aesthetic with a generous feature set. The large header image gives each page a visual anchor, while the well-structured navigation makes it easy to explore categories and tags.\n\nFeatured posts can be pinned to highlight important content, and the comment system integrates cleanly with Disqus.\n\n**Who is it for?** Bloggers who want a polished, feature-complete theme without the complexity of larger frameworks like Minimal Mistakes.\n","url":"/themes/centrarium/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Centrarium Jekyll Theme","description":"A simple, classy Jekyll blog theme with a large header image, featured posts, category pages, and Google Analytics integration.","key_features":["Featured Images","Category Pages","Analytics Ready","GitHub Pages"],"card_description":"Classy blog theme with large header images and featured posts.","category":"Blog","card_image":"/assets/images/themes/centrarium-card.webp","theme_screenshots":["/assets/images/themes/centrarium-screenshot.webp","/assets/images/themes/centrarium-screenshot-2.webp","/assets/images/themes/centrarium-screenshot-3.webp"],"demo_url":"https://bencentra.com/centrarium/","github_url":"https://github.com/bencentra/centrarium","author":"GitHub Community","github_author_name":"bencentra","github_author_url":"https://github.com/bencentra","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-15","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":444,"forks":251,"features":["Large hero header image","Featured post support","Category archive pages","Tag archive pages","Disqus comments","Google Analytics","Social share buttons","Paginated post list","GitHub Pages compatible","Responsive design"],"slug":"centrarium","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Cayman is the classic GitHub Pages documentation theme, recognisable by its signature teal gradient header. It's the cleanest way to turn a repository's README into a polished project page.\n\nBuilt and maintained by GitHub itself, it's always up to date with the latest GitHub Pages Jekyll version.\n\n**Who is it for?** Open source projects, GitHub Pages documentation sites, and anyone who wants the classic, trusted project page look.\n","url":"/themes/cayman/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Cayman Jekyll Theme","description":"A bright, clean GitHub Pages Jekyll theme with a large hero header and fluid typography. Simple and polished for project landing pages.","key_features":["GitHub Pages","Hero Header","Clean Layout","Project Docs"],"card_description":"Bright GitHub Pages theme with large hero header for project sites.","category":"Documentation","card_image":"/assets/images/themes/cayman-card.webp","theme_screenshots":["/assets/images/themes/cayman-screenshot.webp","/assets/images/themes/cayman-screenshot-2.webp","/assets/images/themes/cayman-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/cayman/","github_url":"https://github.com/pages-themes/cayman","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-09-01","added_at":"2026-02-20","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0","stars":2100,"forks":5700,"features":["Teal gradient header","Download buttons","Clean single-column layout","GitHub Pages native","SEO tag support"],"slug":"cayman","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/centrarium.md","relative_path":"_themes/centrarium.md","excerpt":"<p>Centrarium balances a clean, classy aesthetic with a generous feature set. The large header image gives each page a visual anchor, while the well-structured navigation makes it easy to explore categories and tags.</p>\n\n","previous":{"path":"_themes/cayman.md","relative_path":"_themes/cayman.md","excerpt":"<p>Cayman is the classic GitHub Pages documentation theme, recognisable by its signature teal gradient header. It’s the cleanest way to turn a repository’s README into a polished project page.</p>\n\n","previous":{"path":"_themes/bulma-clean-theme.md","relative_path":"_themes/bulma-clean-theme.md","id":"/themes/bulma-clean-theme","collection":"themes","url":"/themes/bulma-clean-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Bulma Clean Theme Jekyll Theme","description":"A clean and modern Jekyll theme built with the Bulma CSS framework. Features a blog, portfolio, and docs-ready layout with extensive customisation.","key_features":["Bulma CSS","Portfolio Ready","Docs Layout","GitHub Pages"],"card_description":"Clean, modern Bulma CSS theme for blogs, portfolios, and docs.","category":"Blog","card_image":"/assets/images/themes/bulma-clean-theme-card.webp","theme_screenshots":["/assets/images/themes/bulma-clean-theme-screenshot.webp","/assets/images/themes/bulma-clean-theme-screenshot-2.webp","/assets/images/themes/bulma-clean-theme-screenshot-3.webp"],"demo_url":"https://www.csrhymes.com/bulma-clean-theme/","github_url":"https://github.com/chrisrhymes/bulma-clean-theme","author":"GitHub Community","github_author_name":"chrisrhymes","github_author_url":"https://github.com/chrisrhymes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-06-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"0.14.0","license":"MIT","stars":407,"forks":196,"features":["Bulma CSS framework","Blog and portfolio layouts","Documentation-ready structure","Hero image sections","Call-to-action blocks","Product showcase pages","Notification banners","Tabs and cards components","GitHub Pages compatible","Extensively documented"],"slug":"bulma-clean-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/cayman","collection":"themes","next":{"path":"_themes/centrarium.md","relative_path":"_themes/centrarium.md","id":"/themes/centrarium","collection":"themes","url":"/themes/centrarium/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Centrarium Jekyll Theme","description":"A simple, classy Jekyll blog theme with a large header image, featured posts, category pages, and Google Analytics integration.","key_features":["Featured Images","Category Pages","Analytics Ready","GitHub Pages"],"card_description":"Classy blog theme with large header images and featured posts.","category":"Blog","card_image":"/assets/images/themes/centrarium-card.webp","theme_screenshots":["/assets/images/themes/centrarium-screenshot.webp","/assets/images/themes/centrarium-screenshot-2.webp","/assets/images/themes/centrarium-screenshot-3.webp"],"demo_url":"https://bencentra.com/centrarium/","github_url":"https://github.com/bencentra/centrarium","author":"GitHub Community","github_author_name":"bencentra","github_author_url":"https://github.com/bencentra","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-15","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":444,"forks":251,"features":["Large hero header image","Featured post support","Category archive pages","Tag archive pages","Disqus comments","Google Analytics","Social share buttons","Paginated post list","GitHub Pages compatible","Responsive design"],"slug":"centrarium","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Cayman is the classic GitHub Pages documentation theme, recognisable by its signature teal gradient header. It's the cleanest way to turn a repository's README into a polished project page.\n\nBuilt and maintained by GitHub itself, it's always up to date with the latest GitHub Pages Jekyll version.\n\n**Who is it for?** Open source projects, GitHub Pages documentation sites, and anyone who wants the classic, trusted project page look.\n","url":"/themes/cayman/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Cayman Jekyll Theme","description":"A bright, clean GitHub Pages Jekyll theme with a large hero header and fluid typography. Simple and polished for project landing pages.","key_features":["GitHub Pages","Hero Header","Clean Layout","Project Docs"],"card_description":"Bright GitHub Pages theme with large hero header for project sites.","category":"Documentation","card_image":"/assets/images/themes/cayman-card.webp","theme_screenshots":["/assets/images/themes/cayman-screenshot.webp","/assets/images/themes/cayman-screenshot-2.webp","/assets/images/themes/cayman-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/cayman/","github_url":"https://github.com/pages-themes/cayman","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-09-01","added_at":"2026-02-20","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0","stars":2100,"forks":5700,"features":["Teal gradient header","Download buttons","Clean single-column layout","GitHub Pages native","SEO tag support"],"slug":"cayman","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/centrarium","collection":"themes","next":{"path":"_themes/chalk.md","relative_path":"_themes/chalk.md","excerpt":"<p>Chalk stands out in the crowded minimal blog space by adding just enough polish to feel premium without feeling heavy. The sidebar layout makes good use of horizontal space on desktop, and the subtle CSS animations — hover states, transitions, loading effects — give the whole site a crafted, alive feeling.</p>\n\n","previous":{"path":"_themes/centrarium.md","relative_path":"_themes/centrarium.md","id":"/themes/centrarium","collection":"themes","url":"/themes/centrarium/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Centrarium Jekyll Theme","description":"A simple, classy Jekyll blog theme with a large header image, featured posts, category pages, and Google Analytics integration.","key_features":["Featured Images","Category Pages","Analytics Ready","GitHub Pages"],"card_description":"Classy blog theme with large header images and featured posts.","category":"Blog","card_image":"/assets/images/themes/centrarium-card.webp","theme_screenshots":["/assets/images/themes/centrarium-screenshot.webp","/assets/images/themes/centrarium-screenshot-2.webp","/assets/images/themes/centrarium-screenshot-3.webp"],"demo_url":"https://bencentra.com/centrarium/","github_url":"https://github.com/bencentra/centrarium","author":"GitHub Community","github_author_name":"bencentra","github_author_url":"https://github.com/bencentra","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-15","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":444,"forks":251,"features":["Large hero header image","Featured post support","Category archive pages","Tag archive pages","Disqus comments","Google Analytics","Social share buttons","Paginated post list","GitHub Pages compatible","Responsive design"],"slug":"centrarium","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/chalk","collection":"themes","next":{"path":"_themes/chirpy.md","relative_path":"_themes/chirpy.md","id":"/themes/chirpy","collection":"themes","url":"/themes/chirpy/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Chirpy Jekyll Theme","description":"A polished, feature-rich blog theme with dark mode, full-text search, reading time, table of contents, and PWA support. One of the fastest-growing Jekyll themes.","key_features":["Dark Mode","Full-Text Search","PWA Support","Table of Contents"],"card_description":"Feature-rich blog with dark mode, search, TOC, and PWA support.","category":"Blog","card_image":"/assets/images/themes/chirpy-card.webp","theme_screenshots":["/assets/images/themes/chirpy-screenshot.webp","/assets/images/themes/chirpy-screenshot-2.webp","/assets/images/themes/chirpy-screenshot-3.webp"],"demo_url":"https://chirpy.cotes.page/","github_url":"https://github.com/cotes2020/jekyll-theme-chirpy","author":"GitHub Community","github_author_name":"Cotes Chung","github_author_url":"https://github.com/cotes2020","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-archives","jekyll-paginate-v2"],"updated_at":"2024-04-01","added_at":"2026-01-05","popular":true,"trending":true,"bestseller":false,"version":"7.1.0","license":"MIT","stars":9800,"forks":1900,"features":["Light and dark mode toggle","Full-text Lunr.js search","Automatic table of contents","Reading time estimate per post","Progressive Web App (PWA) support","Disqus and giscus comments","Google Analytics and GoatCounter","SEO optimised with structured data","Pinned posts","Code syntax highlighting with copy button"],"slug":"chirpy","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Chalk stands out in the crowded minimal blog space by adding just enough polish to feel premium without feeling heavy. The sidebar layout makes good use of horizontal space on desktop, and the subtle CSS animations — hover states, transitions, loading effects — give the whole site a crafted, alive feeling.\n\nThe built-in Lunr.js search and category filtering are genuinely useful, and the theme's careful attention to cross-browser consistency means it looks right everywhere.\n\n**Who is it for?** Developers and bloggers who want a minimal aesthetic with a bit more visual refinement and user-friendly features like search and category browsing.\n","url":"/themes/chalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Chalk Jekyll Theme","description":"A high quality, completely customisable Jekyll blog theme. Features an elegant two-column layout, full-text search, category filtering, and subtle animations that make the experience feel alive.","key_features":["Full-Text Search","Tag Filtering","Subtle Animations","Category Pages"],"card_description":"Elegant two-column blog with full-text search and category filtering.","category":"Blog","card_image":"/assets/images/themes/chalk-card.webp","theme_screenshots":["/assets/images/themes/chalk-screenshot.webp","/assets/images/themes/chalk-screenshot-2.webp","/assets/images/themes/chalk-screenshot-3.webp"],"demo_url":"https://chalk.nielsenramon.com/","github_url":"https://github.com/nielsenramon/chalk","author":"GitHub Community","github_author_name":"nielsenramon","github_author_url":"https://github.com/nielsenramon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"2.3.0","license":"MIT","stars":1300,"forks":350,"features":["Two-column layout with elegant sidebar","Full-text search powered by Lunr.js","Category filtering on the post listing","Subtle CSS animations throughout","Cross browser compatible","Disqus comments","Google Analytics","Apple touch icon support","Environment-based configuration","SVG social icons"],"slug":"chalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Centrarium balances a clean, classy aesthetic with a generous feature set. The large header image gives each page a visual anchor, while the well-structured navigation makes it easy to explore categories and tags.\n\nFeatured posts can be pinned to highlight important content, and the comment system integrates cleanly with Disqus.\n\n**Who is it for?** Bloggers who want a polished, feature-complete theme without the complexity of larger frameworks like Minimal Mistakes.\n","url":"/themes/centrarium/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Centrarium Jekyll Theme","description":"A simple, classy Jekyll blog theme with a large header image, featured posts, category pages, and Google Analytics integration.","key_features":["Featured Images","Category Pages","Analytics Ready","GitHub Pages"],"card_description":"Classy blog theme with large header images and featured posts.","category":"Blog","card_image":"/assets/images/themes/centrarium-card.webp","theme_screenshots":["/assets/images/themes/centrarium-screenshot.webp","/assets/images/themes/centrarium-screenshot-2.webp","/assets/images/themes/centrarium-screenshot-3.webp"],"demo_url":"https://bencentra.com/centrarium/","github_url":"https://github.com/bencentra/centrarium","author":"GitHub Community","github_author_name":"bencentra","github_author_url":"https://github.com/bencentra","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-15","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":444,"forks":251,"features":["Large hero header image","Featured post support","Category archive pages","Tag archive pages","Disqus comments","Google Analytics","Social share buttons","Paginated post list","GitHub Pages compatible","Responsive design"],"slug":"centrarium","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/chalk.md","relative_path":"_themes/chalk.md","excerpt":"<p>Chalk stands out in the crowded minimal blog space by adding just enough polish to feel premium without feeling heavy. The sidebar layout makes good use of horizontal space on desktop, and the subtle CSS animations — hover states, transitions, loading effects — give the whole site a crafted, alive feeling.</p>\n\n","previous":{"path":"_themes/centrarium.md","relative_path":"_themes/centrarium.md","excerpt":"<p>Centrarium balances a clean, classy aesthetic with a generous feature set. The large header image gives each page a visual anchor, while the well-structured navigation makes it easy to explore categories and tags.</p>\n\n","previous":{"path":"_themes/cayman.md","relative_path":"_themes/cayman.md","id":"/themes/cayman","collection":"themes","url":"/themes/cayman/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Cayman Jekyll Theme","description":"A bright, clean GitHub Pages Jekyll theme with a large hero header and fluid typography. Simple and polished for project landing pages.","key_features":["GitHub Pages","Hero Header","Clean Layout","Project Docs"],"card_description":"Bright GitHub Pages theme with large hero header for project sites.","category":"Documentation","card_image":"/assets/images/themes/cayman-card.webp","theme_screenshots":["/assets/images/themes/cayman-screenshot.webp","/assets/images/themes/cayman-screenshot-2.webp","/assets/images/themes/cayman-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/cayman/","github_url":"https://github.com/pages-themes/cayman","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-09-01","added_at":"2026-02-20","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0","stars":2100,"forks":5700,"features":["Teal gradient header","Download buttons","Clean single-column layout","GitHub Pages native","SEO tag support"],"slug":"cayman","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/centrarium","collection":"themes","next":{"path":"_themes/chalk.md","relative_path":"_themes/chalk.md","id":"/themes/chalk","collection":"themes","url":"/themes/chalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Chalk Jekyll Theme","description":"A high quality, completely customisable Jekyll blog theme. Features an elegant two-column layout, full-text search, category filtering, and subtle animations that make the experience feel alive.","key_features":["Full-Text Search","Tag Filtering","Subtle Animations","Category Pages"],"card_description":"Elegant two-column blog with full-text search and category filtering.","category":"Blog","card_image":"/assets/images/themes/chalk-card.webp","theme_screenshots":["/assets/images/themes/chalk-screenshot.webp","/assets/images/themes/chalk-screenshot-2.webp","/assets/images/themes/chalk-screenshot-3.webp"],"demo_url":"https://chalk.nielsenramon.com/","github_url":"https://github.com/nielsenramon/chalk","author":"GitHub Community","github_author_name":"nielsenramon","github_author_url":"https://github.com/nielsenramon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"2.3.0","license":"MIT","stars":1300,"forks":350,"features":["Two-column layout with elegant sidebar","Full-text search powered by Lunr.js","Category filtering on the post listing","Subtle CSS animations throughout","Cross browser compatible","Disqus comments","Google Analytics","Apple touch icon support","Environment-based configuration","SVG social icons"],"slug":"chalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Centrarium balances a clean, classy aesthetic with a generous feature set. The large header image gives each page a visual anchor, while the well-structured navigation makes it easy to explore categories and tags.\n\nFeatured posts can be pinned to highlight important content, and the comment system integrates cleanly with Disqus.\n\n**Who is it for?** Bloggers who want a polished, feature-complete theme without the complexity of larger frameworks like Minimal Mistakes.\n","url":"/themes/centrarium/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Centrarium Jekyll Theme","description":"A simple, classy Jekyll blog theme with a large header image, featured posts, category pages, and Google Analytics integration.","key_features":["Featured Images","Category Pages","Analytics Ready","GitHub Pages"],"card_description":"Classy blog theme with large header images and featured posts.","category":"Blog","card_image":"/assets/images/themes/centrarium-card.webp","theme_screenshots":["/assets/images/themes/centrarium-screenshot.webp","/assets/images/themes/centrarium-screenshot-2.webp","/assets/images/themes/centrarium-screenshot-3.webp"],"demo_url":"https://bencentra.com/centrarium/","github_url":"https://github.com/bencentra/centrarium","author":"GitHub Community","github_author_name":"bencentra","github_author_url":"https://github.com/bencentra","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-15","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":444,"forks":251,"features":["Large hero header image","Featured post support","Category archive pages","Tag archive pages","Disqus comments","Google Analytics","Social share buttons","Paginated post list","GitHub Pages compatible","Responsive design"],"slug":"centrarium","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/chalk","collection":"themes","next":{"path":"_themes/chirpy.md","relative_path":"_themes/chirpy.md","excerpt":"<p>Chirpy has emerged as one of the most beloved Jekyll themes of the last few years. Where many themes offer either good looks or good features, Chirpy delivers both. Its clean, modern design prioritises readability — comfortable line lengths, generous whitespace, and a typographic hierarchy that guides your reader through even the longest technical articles.</p>\n\n","previous":{"path":"_themes/chalk.md","relative_path":"_themes/chalk.md","id":"/themes/chalk","collection":"themes","url":"/themes/chalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Chalk Jekyll Theme","description":"A high quality, completely customisable Jekyll blog theme. Features an elegant two-column layout, full-text search, category filtering, and subtle animations that make the experience feel alive.","key_features":["Full-Text Search","Tag Filtering","Subtle Animations","Category Pages"],"card_description":"Elegant two-column blog with full-text search and category filtering.","category":"Blog","card_image":"/assets/images/themes/chalk-card.webp","theme_screenshots":["/assets/images/themes/chalk-screenshot.webp","/assets/images/themes/chalk-screenshot-2.webp","/assets/images/themes/chalk-screenshot-3.webp"],"demo_url":"https://chalk.nielsenramon.com/","github_url":"https://github.com/nielsenramon/chalk","author":"GitHub Community","github_author_name":"nielsenramon","github_author_url":"https://github.com/nielsenramon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"2.3.0","license":"MIT","stars":1300,"forks":350,"features":["Two-column layout with elegant sidebar","Full-text search powered by Lunr.js","Category filtering on the post listing","Subtle CSS animations throughout","Cross browser compatible","Disqus comments","Google Analytics","Apple touch icon support","Environment-based configuration","SVG social icons"],"slug":"chalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/chirpy","collection":"themes","next":{"path":"_themes/clean-blog.md","relative_path":"_themes/clean-blog.md","id":"/themes/clean-blog","collection":"themes","url":"/themes/clean-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Clean Blog Jekyll Theme","description":"A clean, distraction-free blog theme with full-width header images per post. A Start Bootstrap original ported to Jekyll.","key_features":["Post Header Images","Clean Design","GitHub Pages","Bootstrap Based"],"card_description":"Distraction-free blog with full-width header images per post.","category":"Blog","card_image":"/assets/images/themes/clean-blog-card.webp","theme_screenshots":["/assets/images/themes/clean-blog-screenshot.webp","/assets/images/themes/clean-blog-screenshot-2.webp","/assets/images/themes/clean-blog-screenshot-3.webp"],"demo_url":"https://startbootstrap.github.io/startbootstrap-clean-blog-jekyll/","github_url":"https://github.com/StartBootstrap/startbootstrap-clean-blog-jekyll","author":"GitHub Community","github_author_name":"Start Bootstrap","github_author_url":"https://github.com/StartBootstrap","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-10-01","added_at":"2026-02-25","popular":true,"trending":false,"bestseller":false,"version":"6.0.9","license":"MIT","stars":2800,"forks":8100,"features":["Full-width header image per post","Bootstrap 5 based","Disqus comments","Contact form","Social sharing","Pagination"],"slug":"clean-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Chirpy has emerged as one of the most beloved Jekyll themes of the last few years. Where many themes offer either good looks or good features, Chirpy delivers both. Its clean, modern design prioritises readability — comfortable line lengths, generous whitespace, and a typographic hierarchy that guides your reader through even the longest technical articles.\n\nThe dark mode implementation is among the best in the Jekyll ecosystem: it respects the operating system preference by default, remembers the user's manual override, and transitions smoothly without a flash of unstyled content.\n\n**Who is it for?** Technical bloggers, developers writing tutorials, and anyone publishing long-form content who wants their readers to have a genuinely great experience.\n","url":"/themes/chirpy/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Chirpy Jekyll Theme","description":"A polished, feature-rich blog theme with dark mode, full-text search, reading time, table of contents, and PWA support. One of the fastest-growing Jekyll themes.","key_features":["Dark Mode","Full-Text Search","PWA Support","Table of Contents"],"card_description":"Feature-rich blog with dark mode, search, TOC, and PWA support.","category":"Blog","card_image":"/assets/images/themes/chirpy-card.webp","theme_screenshots":["/assets/images/themes/chirpy-screenshot.webp","/assets/images/themes/chirpy-screenshot-2.webp","/assets/images/themes/chirpy-screenshot-3.webp"],"demo_url":"https://chirpy.cotes.page/","github_url":"https://github.com/cotes2020/jekyll-theme-chirpy","author":"GitHub Community","github_author_name":"Cotes Chung","github_author_url":"https://github.com/cotes2020","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-archives","jekyll-paginate-v2"],"updated_at":"2024-04-01","added_at":"2026-01-05","popular":true,"trending":true,"bestseller":false,"version":"7.1.0","license":"MIT","stars":9800,"forks":1900,"features":["Light and dark mode toggle","Full-text Lunr.js search","Automatic table of contents","Reading time estimate per post","Progressive Web App (PWA) support","Disqus and giscus comments","Google Analytics and GoatCounter","SEO optimised with structured data","Pinned posts","Code syntax highlighting with copy button"],"slug":"chirpy","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Chalk stands out in the crowded minimal blog space by adding just enough polish to feel premium without feeling heavy. The sidebar layout makes good use of horizontal space on desktop, and the subtle CSS animations — hover states, transitions, loading effects — give the whole site a crafted, alive feeling.\n\nThe built-in Lunr.js search and category filtering are genuinely useful, and the theme's careful attention to cross-browser consistency means it looks right everywhere.\n\n**Who is it for?** Developers and bloggers who want a minimal aesthetic with a bit more visual refinement and user-friendly features like search and category browsing.\n","url":"/themes/chalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Chalk Jekyll Theme","description":"A high quality, completely customisable Jekyll blog theme. Features an elegant two-column layout, full-text search, category filtering, and subtle animations that make the experience feel alive.","key_features":["Full-Text Search","Tag Filtering","Subtle Animations","Category Pages"],"card_description":"Elegant two-column blog with full-text search and category filtering.","category":"Blog","card_image":"/assets/images/themes/chalk-card.webp","theme_screenshots":["/assets/images/themes/chalk-screenshot.webp","/assets/images/themes/chalk-screenshot-2.webp","/assets/images/themes/chalk-screenshot-3.webp"],"demo_url":"https://chalk.nielsenramon.com/","github_url":"https://github.com/nielsenramon/chalk","author":"GitHub Community","github_author_name":"nielsenramon","github_author_url":"https://github.com/nielsenramon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"2.3.0","license":"MIT","stars":1300,"forks":350,"features":["Two-column layout with elegant sidebar","Full-text search powered by Lunr.js","Category filtering on the post listing","Subtle CSS animations throughout","Cross browser compatible","Disqus comments","Google Analytics","Apple touch icon support","Environment-based configuration","SVG social icons"],"slug":"chalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/chirpy.md","relative_path":"_themes/chirpy.md","excerpt":"<p>Chirpy has emerged as one of the most beloved Jekyll themes of the last few years. Where many themes offer either good looks or good features, Chirpy delivers both. Its clean, modern design prioritises readability — comfortable line lengths, generous whitespace, and a typographic hierarchy that guides your reader through even the longest technical articles.</p>\n\n","previous":{"path":"_themes/chalk.md","relative_path":"_themes/chalk.md","excerpt":"<p>Chalk stands out in the crowded minimal blog space by adding just enough polish to feel premium without feeling heavy. The sidebar layout makes good use of horizontal space on desktop, and the subtle CSS animations — hover states, transitions, loading effects — give the whole site a crafted, alive feeling.</p>\n\n","previous":{"path":"_themes/centrarium.md","relative_path":"_themes/centrarium.md","id":"/themes/centrarium","collection":"themes","url":"/themes/centrarium/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Centrarium Jekyll Theme","description":"A simple, classy Jekyll blog theme with a large header image, featured posts, category pages, and Google Analytics integration.","key_features":["Featured Images","Category Pages","Analytics Ready","GitHub Pages"],"card_description":"Classy blog theme with large header images and featured posts.","category":"Blog","card_image":"/assets/images/themes/centrarium-card.webp","theme_screenshots":["/assets/images/themes/centrarium-screenshot.webp","/assets/images/themes/centrarium-screenshot-2.webp","/assets/images/themes/centrarium-screenshot-3.webp"],"demo_url":"https://bencentra.com/centrarium/","github_url":"https://github.com/bencentra/centrarium","author":"GitHub Community","github_author_name":"bencentra","github_author_url":"https://github.com/bencentra","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-15","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":444,"forks":251,"features":["Large hero header image","Featured post support","Category archive pages","Tag archive pages","Disqus comments","Google Analytics","Social share buttons","Paginated post list","GitHub Pages compatible","Responsive design"],"slug":"centrarium","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/chalk","collection":"themes","next":{"path":"_themes/chirpy.md","relative_path":"_themes/chirpy.md","id":"/themes/chirpy","collection":"themes","url":"/themes/chirpy/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Chirpy Jekyll Theme","description":"A polished, feature-rich blog theme with dark mode, full-text search, reading time, table of contents, and PWA support. One of the fastest-growing Jekyll themes.","key_features":["Dark Mode","Full-Text Search","PWA Support","Table of Contents"],"card_description":"Feature-rich blog with dark mode, search, TOC, and PWA support.","category":"Blog","card_image":"/assets/images/themes/chirpy-card.webp","theme_screenshots":["/assets/images/themes/chirpy-screenshot.webp","/assets/images/themes/chirpy-screenshot-2.webp","/assets/images/themes/chirpy-screenshot-3.webp"],"demo_url":"https://chirpy.cotes.page/","github_url":"https://github.com/cotes2020/jekyll-theme-chirpy","author":"GitHub Community","github_author_name":"Cotes Chung","github_author_url":"https://github.com/cotes2020","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-archives","jekyll-paginate-v2"],"updated_at":"2024-04-01","added_at":"2026-01-05","popular":true,"trending":true,"bestseller":false,"version":"7.1.0","license":"MIT","stars":9800,"forks":1900,"features":["Light and dark mode toggle","Full-text Lunr.js search","Automatic table of contents","Reading time estimate per post","Progressive Web App (PWA) support","Disqus and giscus comments","Google Analytics and GoatCounter","SEO optimised with structured data","Pinned posts","Code syntax highlighting with copy button"],"slug":"chirpy","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Chalk stands out in the crowded minimal blog space by adding just enough polish to feel premium without feeling heavy. The sidebar layout makes good use of horizontal space on desktop, and the subtle CSS animations — hover states, transitions, loading effects — give the whole site a crafted, alive feeling.\n\nThe built-in Lunr.js search and category filtering are genuinely useful, and the theme's careful attention to cross-browser consistency means it looks right everywhere.\n\n**Who is it for?** Developers and bloggers who want a minimal aesthetic with a bit more visual refinement and user-friendly features like search and category browsing.\n","url":"/themes/chalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Chalk Jekyll Theme","description":"A high quality, completely customisable Jekyll blog theme. Features an elegant two-column layout, full-text search, category filtering, and subtle animations that make the experience feel alive.","key_features":["Full-Text Search","Tag Filtering","Subtle Animations","Category Pages"],"card_description":"Elegant two-column blog with full-text search and category filtering.","category":"Blog","card_image":"/assets/images/themes/chalk-card.webp","theme_screenshots":["/assets/images/themes/chalk-screenshot.webp","/assets/images/themes/chalk-screenshot-2.webp","/assets/images/themes/chalk-screenshot-3.webp"],"demo_url":"https://chalk.nielsenramon.com/","github_url":"https://github.com/nielsenramon/chalk","author":"GitHub Community","github_author_name":"nielsenramon","github_author_url":"https://github.com/nielsenramon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"2.3.0","license":"MIT","stars":1300,"forks":350,"features":["Two-column layout with elegant sidebar","Full-text search powered by Lunr.js","Category filtering on the post listing","Subtle CSS animations throughout","Cross browser compatible","Disqus comments","Google Analytics","Apple touch icon support","Environment-based configuration","SVG social icons"],"slug":"chalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/chirpy","collection":"themes","next":{"path":"_themes/clean-blog.md","relative_path":"_themes/clean-blog.md","excerpt":"<p>Clean Blog is a straightforward, polished blog theme built on Bootstrap 5. Its signature feature is the full-width header image on every post — it gives each article its own visual identity without requiring any special setup.</p>\n\n","previous":{"path":"_themes/chirpy.md","relative_path":"_themes/chirpy.md","id":"/themes/chirpy","collection":"themes","url":"/themes/chirpy/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Chirpy Jekyll Theme","description":"A polished, feature-rich blog theme with dark mode, full-text search, reading time, table of contents, and PWA support. One of the fastest-growing Jekyll themes.","key_features":["Dark Mode","Full-Text Search","PWA Support","Table of Contents"],"card_description":"Feature-rich blog with dark mode, search, TOC, and PWA support.","category":"Blog","card_image":"/assets/images/themes/chirpy-card.webp","theme_screenshots":["/assets/images/themes/chirpy-screenshot.webp","/assets/images/themes/chirpy-screenshot-2.webp","/assets/images/themes/chirpy-screenshot-3.webp"],"demo_url":"https://chirpy.cotes.page/","github_url":"https://github.com/cotes2020/jekyll-theme-chirpy","author":"GitHub Community","github_author_name":"Cotes Chung","github_author_url":"https://github.com/cotes2020","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-archives","jekyll-paginate-v2"],"updated_at":"2024-04-01","added_at":"2026-01-05","popular":true,"trending":true,"bestseller":false,"version":"7.1.0","license":"MIT","stars":9800,"forks":1900,"features":["Light and dark mode toggle","Full-text Lunr.js search","Automatic table of contents","Reading time estimate per post","Progressive Web App (PWA) support","Disqus and giscus comments","Google Analytics and GoatCounter","SEO optimised with structured data","Pinned posts","Code syntax highlighting with copy button"],"slug":"chirpy","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/clean-blog","collection":"themes","next":{"path":"_themes/contrast.md","relative_path":"_themes/contrast.md","id":"/themes/contrast","collection":"themes","url":"/themes/contrast/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Contrast Jekyll Theme","description":"A simple, minimal Jekyll blog theme with strong typographic contrast, clean post listings, and support for tags and pagination.","key_features":["High Contrast","Tag Support","Minimal Design","Fast Loading"],"card_description":"Minimal blog with strong typographic contrast and tag support.","category":"Blog","card_image":"/assets/images/themes/contrast-card.webp","theme_screenshots":["/assets/images/themes/contrast-screenshot.webp","/assets/images/themes/contrast-screenshot-2.webp","/assets/images/themes/contrast-screenshot-3.webp"],"demo_url":"https://niklasbuschmann.github.io/contrast/","github_url":"https://github.com/niklasbuschmann/contrast","author":"GitHub Community","github_author_name":"niklasbuschmann","github_author_url":"https://github.com/niklasbuschmann","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-08-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":446,"forks":199,"features":["High contrast typography","Minimal navigation","Tag archive pages","Paginated post list","Clean post layout","RSS feed","GitHub Pages compatible","Fast load times","No JavaScript required","Mobile friendly"],"slug":"contrast","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Clean Blog is a straightforward, polished blog theme built on Bootstrap 5. Its signature feature is the full-width header image on every post — it gives each article its own visual identity without requiring any special setup.\n\nPorted from Start Bootstrap's original HTML template, it's one of the most forked Jekyll themes on GitHub.\n\n**Who is it for?** Bloggers who want a classic, reader-friendly blog layout with strong visual post headers.\n","url":"/themes/clean-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Clean Blog Jekyll Theme","description":"A clean, distraction-free blog theme with full-width header images per post. A Start Bootstrap original ported to Jekyll.","key_features":["Post Header Images","Clean Design","GitHub Pages","Bootstrap Based"],"card_description":"Distraction-free blog with full-width header images per post.","category":"Blog","card_image":"/assets/images/themes/clean-blog-card.webp","theme_screenshots":["/assets/images/themes/clean-blog-screenshot.webp","/assets/images/themes/clean-blog-screenshot-2.webp","/assets/images/themes/clean-blog-screenshot-3.webp"],"demo_url":"https://startbootstrap.github.io/startbootstrap-clean-blog-jekyll/","github_url":"https://github.com/StartBootstrap/startbootstrap-clean-blog-jekyll","author":"GitHub Community","github_author_name":"Start Bootstrap","github_author_url":"https://github.com/StartBootstrap","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-10-01","added_at":"2026-02-25","popular":true,"trending":false,"bestseller":false,"version":"6.0.9","license":"MIT","stars":2800,"forks":8100,"features":["Full-width header image per post","Bootstrap 5 based","Disqus comments","Contact form","Social sharing","Pagination"],"slug":"clean-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Chirpy has emerged as one of the most beloved Jekyll themes of the last few years. Where many themes offer either good looks or good features, Chirpy delivers both. Its clean, modern design prioritises readability — comfortable line lengths, generous whitespace, and a typographic hierarchy that guides your reader through even the longest technical articles.\n\nThe dark mode implementation is among the best in the Jekyll ecosystem: it respects the operating system preference by default, remembers the user's manual override, and transitions smoothly without a flash of unstyled content.\n\n**Who is it for?** Technical bloggers, developers writing tutorials, and anyone publishing long-form content who wants their readers to have a genuinely great experience.\n","url":"/themes/chirpy/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Chirpy Jekyll Theme","description":"A polished, feature-rich blog theme with dark mode, full-text search, reading time, table of contents, and PWA support. One of the fastest-growing Jekyll themes.","key_features":["Dark Mode","Full-Text Search","PWA Support","Table of Contents"],"card_description":"Feature-rich blog with dark mode, search, TOC, and PWA support.","category":"Blog","card_image":"/assets/images/themes/chirpy-card.webp","theme_screenshots":["/assets/images/themes/chirpy-screenshot.webp","/assets/images/themes/chirpy-screenshot-2.webp","/assets/images/themes/chirpy-screenshot-3.webp"],"demo_url":"https://chirpy.cotes.page/","github_url":"https://github.com/cotes2020/jekyll-theme-chirpy","author":"GitHub Community","github_author_name":"Cotes Chung","github_author_url":"https://github.com/cotes2020","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-archives","jekyll-paginate-v2"],"updated_at":"2024-04-01","added_at":"2026-01-05","popular":true,"trending":true,"bestseller":false,"version":"7.1.0","license":"MIT","stars":9800,"forks":1900,"features":["Light and dark mode toggle","Full-text Lunr.js search","Automatic table of contents","Reading time estimate per post","Progressive Web App (PWA) support","Disqus and giscus comments","Google Analytics and GoatCounter","SEO optimised with structured data","Pinned posts","Code syntax highlighting with copy button"],"slug":"chirpy","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/clean-blog.md","relative_path":"_themes/clean-blog.md","excerpt":"<p>Clean Blog is a straightforward, polished blog theme built on Bootstrap 5. Its signature feature is the full-width header image on every post — it gives each article its own visual identity without requiring any special setup.</p>\n\n","previous":{"path":"_themes/chirpy.md","relative_path":"_themes/chirpy.md","excerpt":"<p>Chirpy has emerged as one of the most beloved Jekyll themes of the last few years. Where many themes offer either good looks or good features, Chirpy delivers both. Its clean, modern design prioritises readability — comfortable line lengths, generous whitespace, and a typographic hierarchy that guides your reader through even the longest technical articles.</p>\n\n","previous":{"path":"_themes/chalk.md","relative_path":"_themes/chalk.md","id":"/themes/chalk","collection":"themes","url":"/themes/chalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Chalk Jekyll Theme","description":"A high quality, completely customisable Jekyll blog theme. Features an elegant two-column layout, full-text search, category filtering, and subtle animations that make the experience feel alive.","key_features":["Full-Text Search","Tag Filtering","Subtle Animations","Category Pages"],"card_description":"Elegant two-column blog with full-text search and category filtering.","category":"Blog","card_image":"/assets/images/themes/chalk-card.webp","theme_screenshots":["/assets/images/themes/chalk-screenshot.webp","/assets/images/themes/chalk-screenshot-2.webp","/assets/images/themes/chalk-screenshot-3.webp"],"demo_url":"https://chalk.nielsenramon.com/","github_url":"https://github.com/nielsenramon/chalk","author":"GitHub Community","github_author_name":"nielsenramon","github_author_url":"https://github.com/nielsenramon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"2.3.0","license":"MIT","stars":1300,"forks":350,"features":["Two-column layout with elegant sidebar","Full-text search powered by Lunr.js","Category filtering on the post listing","Subtle CSS animations throughout","Cross browser compatible","Disqus comments","Google Analytics","Apple touch icon support","Environment-based configuration","SVG social icons"],"slug":"chalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/chirpy","collection":"themes","next":{"path":"_themes/clean-blog.md","relative_path":"_themes/clean-blog.md","id":"/themes/clean-blog","collection":"themes","url":"/themes/clean-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Clean Blog Jekyll Theme","description":"A clean, distraction-free blog theme with full-width header images per post. A Start Bootstrap original ported to Jekyll.","key_features":["Post Header Images","Clean Design","GitHub Pages","Bootstrap Based"],"card_description":"Distraction-free blog with full-width header images per post.","category":"Blog","card_image":"/assets/images/themes/clean-blog-card.webp","theme_screenshots":["/assets/images/themes/clean-blog-screenshot.webp","/assets/images/themes/clean-blog-screenshot-2.webp","/assets/images/themes/clean-blog-screenshot-3.webp"],"demo_url":"https://startbootstrap.github.io/startbootstrap-clean-blog-jekyll/","github_url":"https://github.com/StartBootstrap/startbootstrap-clean-blog-jekyll","author":"GitHub Community","github_author_name":"Start Bootstrap","github_author_url":"https://github.com/StartBootstrap","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-10-01","added_at":"2026-02-25","popular":true,"trending":false,"bestseller":false,"version":"6.0.9","license":"MIT","stars":2800,"forks":8100,"features":["Full-width header image per post","Bootstrap 5 based","Disqus comments","Contact form","Social sharing","Pagination"],"slug":"clean-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Chirpy has emerged as one of the most beloved Jekyll themes of the last few years. Where many themes offer either good looks or good features, Chirpy delivers both. Its clean, modern design prioritises readability — comfortable line lengths, generous whitespace, and a typographic hierarchy that guides your reader through even the longest technical articles.\n\nThe dark mode implementation is among the best in the Jekyll ecosystem: it respects the operating system preference by default, remembers the user's manual override, and transitions smoothly without a flash of unstyled content.\n\n**Who is it for?** Technical bloggers, developers writing tutorials, and anyone publishing long-form content who wants their readers to have a genuinely great experience.\n","url":"/themes/chirpy/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Chirpy Jekyll Theme","description":"A polished, feature-rich blog theme with dark mode, full-text search, reading time, table of contents, and PWA support. One of the fastest-growing Jekyll themes.","key_features":["Dark Mode","Full-Text Search","PWA Support","Table of Contents"],"card_description":"Feature-rich blog with dark mode, search, TOC, and PWA support.","category":"Blog","card_image":"/assets/images/themes/chirpy-card.webp","theme_screenshots":["/assets/images/themes/chirpy-screenshot.webp","/assets/images/themes/chirpy-screenshot-2.webp","/assets/images/themes/chirpy-screenshot-3.webp"],"demo_url":"https://chirpy.cotes.page/","github_url":"https://github.com/cotes2020/jekyll-theme-chirpy","author":"GitHub Community","github_author_name":"Cotes Chung","github_author_url":"https://github.com/cotes2020","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-archives","jekyll-paginate-v2"],"updated_at":"2024-04-01","added_at":"2026-01-05","popular":true,"trending":true,"bestseller":false,"version":"7.1.0","license":"MIT","stars":9800,"forks":1900,"features":["Light and dark mode toggle","Full-text Lunr.js search","Automatic table of contents","Reading time estimate per post","Progressive Web App (PWA) support","Disqus and giscus comments","Google Analytics and GoatCounter","SEO optimised with structured data","Pinned posts","Code syntax highlighting with copy button"],"slug":"chirpy","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/clean-blog","collection":"themes","next":{"path":"_themes/contrast.md","relative_path":"_themes/contrast.md","excerpt":"<p>Contrast lives up to its name — bold, high-contrast typography makes every post immediately legible. The design is stripped back to the bare essentials: a post list, individual post pages, and tag archives.</p>\n\n","previous":{"path":"_themes/clean-blog.md","relative_path":"_themes/clean-blog.md","id":"/themes/clean-blog","collection":"themes","url":"/themes/clean-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Clean Blog Jekyll Theme","description":"A clean, distraction-free blog theme with full-width header images per post. A Start Bootstrap original ported to Jekyll.","key_features":["Post Header Images","Clean Design","GitHub Pages","Bootstrap Based"],"card_description":"Distraction-free blog with full-width header images per post.","category":"Blog","card_image":"/assets/images/themes/clean-blog-card.webp","theme_screenshots":["/assets/images/themes/clean-blog-screenshot.webp","/assets/images/themes/clean-blog-screenshot-2.webp","/assets/images/themes/clean-blog-screenshot-3.webp"],"demo_url":"https://startbootstrap.github.io/startbootstrap-clean-blog-jekyll/","github_url":"https://github.com/StartBootstrap/startbootstrap-clean-blog-jekyll","author":"GitHub Community","github_author_name":"Start Bootstrap","github_author_url":"https://github.com/StartBootstrap","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-10-01","added_at":"2026-02-25","popular":true,"trending":false,"bestseller":false,"version":"6.0.9","license":"MIT","stars":2800,"forks":8100,"features":["Full-width header image per post","Bootstrap 5 based","Disqus comments","Contact form","Social sharing","Pagination"],"slug":"clean-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/contrast","collection":"themes","next":{"path":"_themes/creative.md","relative_path":"_themes/creative.md","id":"/themes/creative","collection":"themes","url":"/themes/creative/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Creative Jekyll Theme","description":"A one-page Bootstrap landing page Jekyll theme with a fullscreen hero image, smooth scroll navigation, and portfolio sections.","key_features":["One-Page Layout","Smooth Scroll","Portfolio Sections","Bootstrap Based"],"card_description":"One-page Bootstrap landing page with fullscreen hero and portfolio.","category":"Landing Page","card_image":"/assets/images/themes/creative-card.webp","theme_screenshots":["/assets/images/themes/creative-screenshot.webp","/assets/images/themes/creative-screenshot-2.webp","/assets/images/themes/creative-screenshot-3.webp"],"demo_url":"https://volny.github.io/creative-theme-jekyll/","github_url":"https://github.com/volny/creative-theme-jekyll","author":"GitHub Community","github_author_name":"volny","github_author_url":"https://github.com/volny","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":545,"forks":397,"features":["Fullscreen hero image","Smooth scroll navigation","Portfolio grid section","Services section","Call-to-action buttons","Bootstrap 3 powered","Animated scroll effects","Contact section","GitHub Pages compatible","One-page layout"],"slug":"creative","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Contrast lives up to its name — bold, high-contrast typography makes every post immediately legible. The design is stripped back to the bare essentials: a post list, individual post pages, and tag archives.\n\nWith no JavaScript dependencies, pages load nearly instantly.\n\n**Who is it for?** Writers who prioritise readability above all else and want a featherweight theme with zero bloat.\n","url":"/themes/contrast/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Contrast Jekyll Theme","description":"A simple, minimal Jekyll blog theme with strong typographic contrast, clean post listings, and support for tags and pagination.","key_features":["High Contrast","Tag Support","Minimal Design","Fast Loading"],"card_description":"Minimal blog with strong typographic contrast and tag support.","category":"Blog","card_image":"/assets/images/themes/contrast-card.webp","theme_screenshots":["/assets/images/themes/contrast-screenshot.webp","/assets/images/themes/contrast-screenshot-2.webp","/assets/images/themes/contrast-screenshot-3.webp"],"demo_url":"https://niklasbuschmann.github.io/contrast/","github_url":"https://github.com/niklasbuschmann/contrast","author":"GitHub Community","github_author_name":"niklasbuschmann","github_author_url":"https://github.com/niklasbuschmann","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-08-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":446,"forks":199,"features":["High contrast typography","Minimal navigation","Tag archive pages","Paginated post list","Clean post layout","RSS feed","GitHub Pages compatible","Fast load times","No JavaScript required","Mobile friendly"],"slug":"contrast","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Clean Blog is a straightforward, polished blog theme built on Bootstrap 5. Its signature feature is the full-width header image on every post — it gives each article its own visual identity without requiring any special setup.\n\nPorted from Start Bootstrap's original HTML template, it's one of the most forked Jekyll themes on GitHub.\n\n**Who is it for?** Bloggers who want a classic, reader-friendly blog layout with strong visual post headers.\n","url":"/themes/clean-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Clean Blog Jekyll Theme","description":"A clean, distraction-free blog theme with full-width header images per post. A Start Bootstrap original ported to Jekyll.","key_features":["Post Header Images","Clean Design","GitHub Pages","Bootstrap Based"],"card_description":"Distraction-free blog with full-width header images per post.","category":"Blog","card_image":"/assets/images/themes/clean-blog-card.webp","theme_screenshots":["/assets/images/themes/clean-blog-screenshot.webp","/assets/images/themes/clean-blog-screenshot-2.webp","/assets/images/themes/clean-blog-screenshot-3.webp"],"demo_url":"https://startbootstrap.github.io/startbootstrap-clean-blog-jekyll/","github_url":"https://github.com/StartBootstrap/startbootstrap-clean-blog-jekyll","author":"GitHub Community","github_author_name":"Start Bootstrap","github_author_url":"https://github.com/StartBootstrap","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-10-01","added_at":"2026-02-25","popular":true,"trending":false,"bestseller":false,"version":"6.0.9","license":"MIT","stars":2800,"forks":8100,"features":["Full-width header image per post","Bootstrap 5 based","Disqus comments","Contact form","Social sharing","Pagination"],"slug":"clean-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/contrast.md","relative_path":"_themes/contrast.md","excerpt":"<p>Contrast lives up to its name — bold, high-contrast typography makes every post immediately legible. The design is stripped back to the bare essentials: a post list, individual post pages, and tag archives.</p>\n\n","previous":{"path":"_themes/clean-blog.md","relative_path":"_themes/clean-blog.md","excerpt":"<p>Clean Blog is a straightforward, polished blog theme built on Bootstrap 5. Its signature feature is the full-width header image on every post — it gives each article its own visual identity without requiring any special setup.</p>\n\n","previous":{"path":"_themes/chirpy.md","relative_path":"_themes/chirpy.md","id":"/themes/chirpy","collection":"themes","url":"/themes/chirpy/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Chirpy Jekyll Theme","description":"A polished, feature-rich blog theme with dark mode, full-text search, reading time, table of contents, and PWA support. One of the fastest-growing Jekyll themes.","key_features":["Dark Mode","Full-Text Search","PWA Support","Table of Contents"],"card_description":"Feature-rich blog with dark mode, search, TOC, and PWA support.","category":"Blog","card_image":"/assets/images/themes/chirpy-card.webp","theme_screenshots":["/assets/images/themes/chirpy-screenshot.webp","/assets/images/themes/chirpy-screenshot-2.webp","/assets/images/themes/chirpy-screenshot-3.webp"],"demo_url":"https://chirpy.cotes.page/","github_url":"https://github.com/cotes2020/jekyll-theme-chirpy","author":"GitHub Community","github_author_name":"Cotes Chung","github_author_url":"https://github.com/cotes2020","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-archives","jekyll-paginate-v2"],"updated_at":"2024-04-01","added_at":"2026-01-05","popular":true,"trending":true,"bestseller":false,"version":"7.1.0","license":"MIT","stars":9800,"forks":1900,"features":["Light and dark mode toggle","Full-text Lunr.js search","Automatic table of contents","Reading time estimate per post","Progressive Web App (PWA) support","Disqus and giscus comments","Google Analytics and GoatCounter","SEO optimised with structured data","Pinned posts","Code syntax highlighting with copy button"],"slug":"chirpy","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/clean-blog","collection":"themes","next":{"path":"_themes/contrast.md","relative_path":"_themes/contrast.md","id":"/themes/contrast","collection":"themes","url":"/themes/contrast/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Contrast Jekyll Theme","description":"A simple, minimal Jekyll blog theme with strong typographic contrast, clean post listings, and support for tags and pagination.","key_features":["High Contrast","Tag Support","Minimal Design","Fast Loading"],"card_description":"Minimal blog with strong typographic contrast and tag support.","category":"Blog","card_image":"/assets/images/themes/contrast-card.webp","theme_screenshots":["/assets/images/themes/contrast-screenshot.webp","/assets/images/themes/contrast-screenshot-2.webp","/assets/images/themes/contrast-screenshot-3.webp"],"demo_url":"https://niklasbuschmann.github.io/contrast/","github_url":"https://github.com/niklasbuschmann/contrast","author":"GitHub Community","github_author_name":"niklasbuschmann","github_author_url":"https://github.com/niklasbuschmann","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-08-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":446,"forks":199,"features":["High contrast typography","Minimal navigation","Tag archive pages","Paginated post list","Clean post layout","RSS feed","GitHub Pages compatible","Fast load times","No JavaScript required","Mobile friendly"],"slug":"contrast","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Clean Blog is a straightforward, polished blog theme built on Bootstrap 5. Its signature feature is the full-width header image on every post — it gives each article its own visual identity without requiring any special setup.\n\nPorted from Start Bootstrap's original HTML template, it's one of the most forked Jekyll themes on GitHub.\n\n**Who is it for?** Bloggers who want a classic, reader-friendly blog layout with strong visual post headers.\n","url":"/themes/clean-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Clean Blog Jekyll Theme","description":"A clean, distraction-free blog theme with full-width header images per post. A Start Bootstrap original ported to Jekyll.","key_features":["Post Header Images","Clean Design","GitHub Pages","Bootstrap Based"],"card_description":"Distraction-free blog with full-width header images per post.","category":"Blog","card_image":"/assets/images/themes/clean-blog-card.webp","theme_screenshots":["/assets/images/themes/clean-blog-screenshot.webp","/assets/images/themes/clean-blog-screenshot-2.webp","/assets/images/themes/clean-blog-screenshot-3.webp"],"demo_url":"https://startbootstrap.github.io/startbootstrap-clean-blog-jekyll/","github_url":"https://github.com/StartBootstrap/startbootstrap-clean-blog-jekyll","author":"GitHub Community","github_author_name":"Start Bootstrap","github_author_url":"https://github.com/StartBootstrap","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-10-01","added_at":"2026-02-25","popular":true,"trending":false,"bestseller":false,"version":"6.0.9","license":"MIT","stars":2800,"forks":8100,"features":["Full-width header image per post","Bootstrap 5 based","Disqus comments","Contact form","Social sharing","Pagination"],"slug":"clean-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/contrast","collection":"themes","next":{"path":"_themes/creative.md","relative_path":"_themes/creative.md","excerpt":"<p>Creative is a Jekyll adaptation of Start Bootstrap’s Creative theme — a bold, fullscreen one-pager built for agencies, studios, and freelancers making a strong first impression.</p>\n\n","previous":{"path":"_themes/contrast.md","relative_path":"_themes/contrast.md","id":"/themes/contrast","collection":"themes","url":"/themes/contrast/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Contrast Jekyll Theme","description":"A simple, minimal Jekyll blog theme with strong typographic contrast, clean post listings, and support for tags and pagination.","key_features":["High Contrast","Tag Support","Minimal Design","Fast Loading"],"card_description":"Minimal blog with strong typographic contrast and tag support.","category":"Blog","card_image":"/assets/images/themes/contrast-card.webp","theme_screenshots":["/assets/images/themes/contrast-screenshot.webp","/assets/images/themes/contrast-screenshot-2.webp","/assets/images/themes/contrast-screenshot-3.webp"],"demo_url":"https://niklasbuschmann.github.io/contrast/","github_url":"https://github.com/niklasbuschmann/contrast","author":"GitHub Community","github_author_name":"niklasbuschmann","github_author_url":"https://github.com/niklasbuschmann","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-08-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":446,"forks":199,"features":["High contrast typography","Minimal navigation","Tag archive pages","Paginated post list","Clean post layout","RSS feed","GitHub Pages compatible","Fast load times","No JavaScript required","Mobile friendly"],"slug":"contrast","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/creative","collection":"themes","next":{"path":"_themes/devlopr-jekyll.md","relative_path":"_themes/devlopr-jekyll.md","id":"/themes/devlopr-jekyll","collection":"themes","url":"/themes/devlopr-jekyll/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Devlopr Jekyll Theme","description":"A feature-rich developer portfolio Jekyll theme with an integrated blog, skills section, CMS support, and dark mode built in.","key_features":["Dark Mode","CMS Support","Skills Section","Portfolio & Blog"],"card_description":"Developer portfolio with blog, skills section, and dark mode built in.","category":"Portfolio","card_image":"/assets/images/themes/devlopr-jekyll-card.webp","theme_screenshots":["/assets/images/themes/devlopr-jekyll-screenshot.webp","/assets/images/themes/devlopr-jekyll-screenshot-2.webp","/assets/images/themes/devlopr-jekyll-screenshot-3.webp"],"demo_url":"https://devlopr.netlify.app/","github_url":"https://github.com/sujaykundu777/devlopr-jekyll","author":"GitHub Community","github_author_name":"sujaykundu777","github_author_url":"https://github.com/sujaykundu777","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"4.4.0","license":"MIT","stars":450,"forks":400,"features":["Built-in CMS support (Netlify CMS + Forestry)","Dark mode toggle","Developer portfolio section","Blog with categories and tags","Projects showcase grid","Skills and timeline sections","Newsletter subscription support","Disqus and Utterances comments","Google Analytics","GitHub Pages compatible"],"slug":"devlopr-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Creative is a Jekyll adaptation of Start Bootstrap's Creative theme — a bold, fullscreen one-pager built for agencies, studios, and freelancers making a strong first impression.\n\nA large hero image commands attention above the fold, while smooth-scroll navigation guides visitors through portfolio, services, and contact sections below.\n\n**Who is it for?** Agencies and freelancers who need a striking one-page landing site that showcases their portfolio and services.\n","url":"/themes/creative/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Creative Jekyll Theme","description":"A one-page Bootstrap landing page Jekyll theme with a fullscreen hero image, smooth scroll navigation, and portfolio sections.","key_features":["One-Page Layout","Smooth Scroll","Portfolio Sections","Bootstrap Based"],"card_description":"One-page Bootstrap landing page with fullscreen hero and portfolio.","category":"Landing Page","card_image":"/assets/images/themes/creative-card.webp","theme_screenshots":["/assets/images/themes/creative-screenshot.webp","/assets/images/themes/creative-screenshot-2.webp","/assets/images/themes/creative-screenshot-3.webp"],"demo_url":"https://volny.github.io/creative-theme-jekyll/","github_url":"https://github.com/volny/creative-theme-jekyll","author":"GitHub Community","github_author_name":"volny","github_author_url":"https://github.com/volny","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":545,"forks":397,"features":["Fullscreen hero image","Smooth scroll navigation","Portfolio grid section","Services section","Call-to-action buttons","Bootstrap 3 powered","Animated scroll effects","Contact section","GitHub Pages compatible","One-page layout"],"slug":"creative","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Contrast lives up to its name — bold, high-contrast typography makes every post immediately legible. The design is stripped back to the bare essentials: a post list, individual post pages, and tag archives.\n\nWith no JavaScript dependencies, pages load nearly instantly.\n\n**Who is it for?** Writers who prioritise readability above all else and want a featherweight theme with zero bloat.\n","url":"/themes/contrast/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Contrast Jekyll Theme","description":"A simple, minimal Jekyll blog theme with strong typographic contrast, clean post listings, and support for tags and pagination.","key_features":["High Contrast","Tag Support","Minimal Design","Fast Loading"],"card_description":"Minimal blog with strong typographic contrast and tag support.","category":"Blog","card_image":"/assets/images/themes/contrast-card.webp","theme_screenshots":["/assets/images/themes/contrast-screenshot.webp","/assets/images/themes/contrast-screenshot-2.webp","/assets/images/themes/contrast-screenshot-3.webp"],"demo_url":"https://niklasbuschmann.github.io/contrast/","github_url":"https://github.com/niklasbuschmann/contrast","author":"GitHub Community","github_author_name":"niklasbuschmann","github_author_url":"https://github.com/niklasbuschmann","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-08-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":446,"forks":199,"features":["High contrast typography","Minimal navigation","Tag archive pages","Paginated post list","Clean post layout","RSS feed","GitHub Pages compatible","Fast load times","No JavaScript required","Mobile friendly"],"slug":"contrast","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/creative.md","relative_path":"_themes/creative.md","excerpt":"<p>Creative is a Jekyll adaptation of Start Bootstrap’s Creative theme — a bold, fullscreen one-pager built for agencies, studios, and freelancers making a strong first impression.</p>\n\n","previous":{"path":"_themes/contrast.md","relative_path":"_themes/contrast.md","excerpt":"<p>Contrast lives up to its name — bold, high-contrast typography makes every post immediately legible. The design is stripped back to the bare essentials: a post list, individual post pages, and tag archives.</p>\n\n","previous":{"path":"_themes/clean-blog.md","relative_path":"_themes/clean-blog.md","id":"/themes/clean-blog","collection":"themes","url":"/themes/clean-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Clean Blog Jekyll Theme","description":"A clean, distraction-free blog theme with full-width header images per post. A Start Bootstrap original ported to Jekyll.","key_features":["Post Header Images","Clean Design","GitHub Pages","Bootstrap Based"],"card_description":"Distraction-free blog with full-width header images per post.","category":"Blog","card_image":"/assets/images/themes/clean-blog-card.webp","theme_screenshots":["/assets/images/themes/clean-blog-screenshot.webp","/assets/images/themes/clean-blog-screenshot-2.webp","/assets/images/themes/clean-blog-screenshot-3.webp"],"demo_url":"https://startbootstrap.github.io/startbootstrap-clean-blog-jekyll/","github_url":"https://github.com/StartBootstrap/startbootstrap-clean-blog-jekyll","author":"GitHub Community","github_author_name":"Start Bootstrap","github_author_url":"https://github.com/StartBootstrap","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-10-01","added_at":"2026-02-25","popular":true,"trending":false,"bestseller":false,"version":"6.0.9","license":"MIT","stars":2800,"forks":8100,"features":["Full-width header image per post","Bootstrap 5 based","Disqus comments","Contact form","Social sharing","Pagination"],"slug":"clean-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/contrast","collection":"themes","next":{"path":"_themes/creative.md","relative_path":"_themes/creative.md","id":"/themes/creative","collection":"themes","url":"/themes/creative/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Creative Jekyll Theme","description":"A one-page Bootstrap landing page Jekyll theme with a fullscreen hero image, smooth scroll navigation, and portfolio sections.","key_features":["One-Page Layout","Smooth Scroll","Portfolio Sections","Bootstrap Based"],"card_description":"One-page Bootstrap landing page with fullscreen hero and portfolio.","category":"Landing Page","card_image":"/assets/images/themes/creative-card.webp","theme_screenshots":["/assets/images/themes/creative-screenshot.webp","/assets/images/themes/creative-screenshot-2.webp","/assets/images/themes/creative-screenshot-3.webp"],"demo_url":"https://volny.github.io/creative-theme-jekyll/","github_url":"https://github.com/volny/creative-theme-jekyll","author":"GitHub Community","github_author_name":"volny","github_author_url":"https://github.com/volny","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":545,"forks":397,"features":["Fullscreen hero image","Smooth scroll navigation","Portfolio grid section","Services section","Call-to-action buttons","Bootstrap 3 powered","Animated scroll effects","Contact section","GitHub Pages compatible","One-page layout"],"slug":"creative","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Contrast lives up to its name — bold, high-contrast typography makes every post immediately legible. The design is stripped back to the bare essentials: a post list, individual post pages, and tag archives.\n\nWith no JavaScript dependencies, pages load nearly instantly.\n\n**Who is it for?** Writers who prioritise readability above all else and want a featherweight theme with zero bloat.\n","url":"/themes/contrast/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Contrast Jekyll Theme","description":"A simple, minimal Jekyll blog theme with strong typographic contrast, clean post listings, and support for tags and pagination.","key_features":["High Contrast","Tag Support","Minimal Design","Fast Loading"],"card_description":"Minimal blog with strong typographic contrast and tag support.","category":"Blog","card_image":"/assets/images/themes/contrast-card.webp","theme_screenshots":["/assets/images/themes/contrast-screenshot.webp","/assets/images/themes/contrast-screenshot-2.webp","/assets/images/themes/contrast-screenshot-3.webp"],"demo_url":"https://niklasbuschmann.github.io/contrast/","github_url":"https://github.com/niklasbuschmann/contrast","author":"GitHub Community","github_author_name":"niklasbuschmann","github_author_url":"https://github.com/niklasbuschmann","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-08-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":446,"forks":199,"features":["High contrast typography","Minimal navigation","Tag archive pages","Paginated post list","Clean post layout","RSS feed","GitHub Pages compatible","Fast load times","No JavaScript required","Mobile friendly"],"slug":"contrast","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/creative","collection":"themes","next":{"path":"_themes/devlopr-jekyll.md","relative_path":"_themes/devlopr-jekyll.md","excerpt":"<p>Devlopr stands out from every other Jekyll theme in one important way: it ships with built-in CMS support. You can write and publish blog posts through a browser-based admin interface — no terminal, no text editor, no git commits. This makes it genuinely practical for developers who want the speed and security of a static site but the convenience of a CMS for day-to-day content updates.</p>\n\n","previous":{"path":"_themes/creative.md","relative_path":"_themes/creative.md","id":"/themes/creative","collection":"themes","url":"/themes/creative/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Creative Jekyll Theme","description":"A one-page Bootstrap landing page Jekyll theme with a fullscreen hero image, smooth scroll navigation, and portfolio sections.","key_features":["One-Page Layout","Smooth Scroll","Portfolio Sections","Bootstrap Based"],"card_description":"One-page Bootstrap landing page with fullscreen hero and portfolio.","category":"Landing Page","card_image":"/assets/images/themes/creative-card.webp","theme_screenshots":["/assets/images/themes/creative-screenshot.webp","/assets/images/themes/creative-screenshot-2.webp","/assets/images/themes/creative-screenshot-3.webp"],"demo_url":"https://volny.github.io/creative-theme-jekyll/","github_url":"https://github.com/volny/creative-theme-jekyll","author":"GitHub Community","github_author_name":"volny","github_author_url":"https://github.com/volny","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":545,"forks":397,"features":["Fullscreen hero image","Smooth scroll navigation","Portfolio grid section","Services section","Call-to-action buttons","Bootstrap 3 powered","Animated scroll effects","Contact section","GitHub Pages compatible","One-page layout"],"slug":"creative","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/devlopr-jekyll","collection":"themes","next":{"path":"_themes/dinky.md","relative_path":"_themes/dinky.md","id":"/themes/dinky","collection":"themes","url":"/themes/dinky/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Dinky Jekyll Theme","description":"A compact GitHub Pages Jekyll theme with a fixed sidebar and clean layout. Great for small documentation pages and personal project sites.","key_features":["GitHub Pages","Fixed Sidebar","Project Docs","Compact Layout"],"card_description":"Compact GitHub Pages theme with fixed sidebar for small project sites.","category":"Documentation","card_image":"/assets/images/themes/dinky-card.webp","theme_screenshots":["/assets/images/themes/dinky-screenshot.webp","/assets/images/themes/dinky-screenshot-2.webp","/assets/images/themes/dinky-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/dinky/","github_url":"https://github.com/pages-themes/dinky","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Compact sidebar navigation","Bright blue accent colours","Clean documentation layout","Single-line enable via _config.yml","Responsive design","No local Jekyll install needed"],"slug":"dinky","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Devlopr stands out from every other Jekyll theme in one important way: it ships with built-in CMS support. You can write and publish blog posts through a browser-based admin interface — no terminal, no text editor, no git commits. This makes it genuinely practical for developers who want the speed and security of a static site but the convenience of a CMS for day-to-day content updates.\n\nBeyond the CMS integration, it's a well-rounded developer portfolio theme with sections for projects, skills, timeline, and a blog — all with dark mode support.\n\n**Who is it for?** Developers who want a personal portfolio and blog with CMS-based content editing, so they can write posts from anywhere without a local development environment.\n","url":"/themes/devlopr-jekyll/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Devlopr Jekyll Theme","description":"A feature-rich developer portfolio Jekyll theme with an integrated blog, skills section, CMS support, and dark mode built in.","key_features":["Dark Mode","CMS Support","Skills Section","Portfolio & Blog"],"card_description":"Developer portfolio with blog, skills section, and dark mode built in.","category":"Portfolio","card_image":"/assets/images/themes/devlopr-jekyll-card.webp","theme_screenshots":["/assets/images/themes/devlopr-jekyll-screenshot.webp","/assets/images/themes/devlopr-jekyll-screenshot-2.webp","/assets/images/themes/devlopr-jekyll-screenshot-3.webp"],"demo_url":"https://devlopr.netlify.app/","github_url":"https://github.com/sujaykundu777/devlopr-jekyll","author":"GitHub Community","github_author_name":"sujaykundu777","github_author_url":"https://github.com/sujaykundu777","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"4.4.0","license":"MIT","stars":450,"forks":400,"features":["Built-in CMS support (Netlify CMS + Forestry)","Dark mode toggle","Developer portfolio section","Blog with categories and tags","Projects showcase grid","Skills and timeline sections","Newsletter subscription support","Disqus and Utterances comments","Google Analytics","GitHub Pages compatible"],"slug":"devlopr-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Creative is a Jekyll adaptation of Start Bootstrap's Creative theme — a bold, fullscreen one-pager built for agencies, studios, and freelancers making a strong first impression.\n\nA large hero image commands attention above the fold, while smooth-scroll navigation guides visitors through portfolio, services, and contact sections below.\n\n**Who is it for?** Agencies and freelancers who need a striking one-page landing site that showcases their portfolio and services.\n","url":"/themes/creative/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Creative Jekyll Theme","description":"A one-page Bootstrap landing page Jekyll theme with a fullscreen hero image, smooth scroll navigation, and portfolio sections.","key_features":["One-Page Layout","Smooth Scroll","Portfolio Sections","Bootstrap Based"],"card_description":"One-page Bootstrap landing page with fullscreen hero and portfolio.","category":"Landing Page","card_image":"/assets/images/themes/creative-card.webp","theme_screenshots":["/assets/images/themes/creative-screenshot.webp","/assets/images/themes/creative-screenshot-2.webp","/assets/images/themes/creative-screenshot-3.webp"],"demo_url":"https://volny.github.io/creative-theme-jekyll/","github_url":"https://github.com/volny/creative-theme-jekyll","author":"GitHub Community","github_author_name":"volny","github_author_url":"https://github.com/volny","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":545,"forks":397,"features":["Fullscreen hero image","Smooth scroll navigation","Portfolio grid section","Services section","Call-to-action buttons","Bootstrap 3 powered","Animated scroll effects","Contact section","GitHub Pages compatible","One-page layout"],"slug":"creative","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/devlopr-jekyll.md","relative_path":"_themes/devlopr-jekyll.md","excerpt":"<p>Devlopr stands out from every other Jekyll theme in one important way: it ships with built-in CMS support. You can write and publish blog posts through a browser-based admin interface — no terminal, no text editor, no git commits. This makes it genuinely practical for developers who want the speed and security of a static site but the convenience of a CMS for day-to-day content updates.</p>\n\n","previous":{"path":"_themes/creative.md","relative_path":"_themes/creative.md","excerpt":"<p>Creative is a Jekyll adaptation of Start Bootstrap’s Creative theme — a bold, fullscreen one-pager built for agencies, studios, and freelancers making a strong first impression.</p>\n\n","previous":{"path":"_themes/contrast.md","relative_path":"_themes/contrast.md","id":"/themes/contrast","collection":"themes","url":"/themes/contrast/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Contrast Jekyll Theme","description":"A simple, minimal Jekyll blog theme with strong typographic contrast, clean post listings, and support for tags and pagination.","key_features":["High Contrast","Tag Support","Minimal Design","Fast Loading"],"card_description":"Minimal blog with strong typographic contrast and tag support.","category":"Blog","card_image":"/assets/images/themes/contrast-card.webp","theme_screenshots":["/assets/images/themes/contrast-screenshot.webp","/assets/images/themes/contrast-screenshot-2.webp","/assets/images/themes/contrast-screenshot-3.webp"],"demo_url":"https://niklasbuschmann.github.io/contrast/","github_url":"https://github.com/niklasbuschmann/contrast","author":"GitHub Community","github_author_name":"niklasbuschmann","github_author_url":"https://github.com/niklasbuschmann","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-08-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":446,"forks":199,"features":["High contrast typography","Minimal navigation","Tag archive pages","Paginated post list","Clean post layout","RSS feed","GitHub Pages compatible","Fast load times","No JavaScript required","Mobile friendly"],"slug":"contrast","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/creative","collection":"themes","next":{"path":"_themes/devlopr-jekyll.md","relative_path":"_themes/devlopr-jekyll.md","id":"/themes/devlopr-jekyll","collection":"themes","url":"/themes/devlopr-jekyll/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Devlopr Jekyll Theme","description":"A feature-rich developer portfolio Jekyll theme with an integrated blog, skills section, CMS support, and dark mode built in.","key_features":["Dark Mode","CMS Support","Skills Section","Portfolio & Blog"],"card_description":"Developer portfolio with blog, skills section, and dark mode built in.","category":"Portfolio","card_image":"/assets/images/themes/devlopr-jekyll-card.webp","theme_screenshots":["/assets/images/themes/devlopr-jekyll-screenshot.webp","/assets/images/themes/devlopr-jekyll-screenshot-2.webp","/assets/images/themes/devlopr-jekyll-screenshot-3.webp"],"demo_url":"https://devlopr.netlify.app/","github_url":"https://github.com/sujaykundu777/devlopr-jekyll","author":"GitHub Community","github_author_name":"sujaykundu777","github_author_url":"https://github.com/sujaykundu777","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"4.4.0","license":"MIT","stars":450,"forks":400,"features":["Built-in CMS support (Netlify CMS + Forestry)","Dark mode toggle","Developer portfolio section","Blog with categories and tags","Projects showcase grid","Skills and timeline sections","Newsletter subscription support","Disqus and Utterances comments","Google Analytics","GitHub Pages compatible"],"slug":"devlopr-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Creative is a Jekyll adaptation of Start Bootstrap's Creative theme — a bold, fullscreen one-pager built for agencies, studios, and freelancers making a strong first impression.\n\nA large hero image commands attention above the fold, while smooth-scroll navigation guides visitors through portfolio, services, and contact sections below.\n\n**Who is it for?** Agencies and freelancers who need a striking one-page landing site that showcases their portfolio and services.\n","url":"/themes/creative/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Creative Jekyll Theme","description":"A one-page Bootstrap landing page Jekyll theme with a fullscreen hero image, smooth scroll navigation, and portfolio sections.","key_features":["One-Page Layout","Smooth Scroll","Portfolio Sections","Bootstrap Based"],"card_description":"One-page Bootstrap landing page with fullscreen hero and portfolio.","category":"Landing Page","card_image":"/assets/images/themes/creative-card.webp","theme_screenshots":["/assets/images/themes/creative-screenshot.webp","/assets/images/themes/creative-screenshot-2.webp","/assets/images/themes/creative-screenshot-3.webp"],"demo_url":"https://volny.github.io/creative-theme-jekyll/","github_url":"https://github.com/volny/creative-theme-jekyll","author":"GitHub Community","github_author_name":"volny","github_author_url":"https://github.com/volny","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":545,"forks":397,"features":["Fullscreen hero image","Smooth scroll navigation","Portfolio grid section","Services section","Call-to-action buttons","Bootstrap 3 powered","Animated scroll effects","Contact section","GitHub Pages compatible","One-page layout"],"slug":"creative","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/devlopr-jekyll","collection":"themes","next":{"path":"_themes/dinky.md","relative_path":"_themes/dinky.md","excerpt":"<p>Dinky is a compact, sidebar-based GitHub Pages official theme well suited to small-to-medium project documentation sites. Its bright blue accents and tidy layout feel modern and approachable, and the sidebar keeps navigation visible without consuming too much page space.</p>\n\n","previous":{"path":"_themes/devlopr-jekyll.md","relative_path":"_themes/devlopr-jekyll.md","id":"/themes/devlopr-jekyll","collection":"themes","url":"/themes/devlopr-jekyll/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Devlopr Jekyll Theme","description":"A feature-rich developer portfolio Jekyll theme with an integrated blog, skills section, CMS support, and dark mode built in.","key_features":["Dark Mode","CMS Support","Skills Section","Portfolio & Blog"],"card_description":"Developer portfolio with blog, skills section, and dark mode built in.","category":"Portfolio","card_image":"/assets/images/themes/devlopr-jekyll-card.webp","theme_screenshots":["/assets/images/themes/devlopr-jekyll-screenshot.webp","/assets/images/themes/devlopr-jekyll-screenshot-2.webp","/assets/images/themes/devlopr-jekyll-screenshot-3.webp"],"demo_url":"https://devlopr.netlify.app/","github_url":"https://github.com/sujaykundu777/devlopr-jekyll","author":"GitHub Community","github_author_name":"sujaykundu777","github_author_url":"https://github.com/sujaykundu777","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"4.4.0","license":"MIT","stars":450,"forks":400,"features":["Built-in CMS support (Netlify CMS + Forestry)","Dark mode toggle","Developer portfolio section","Blog with categories and tags","Projects showcase grid","Skills and timeline sections","Newsletter subscription support","Disqus and Utterances comments","Google Analytics","GitHub Pages compatible"],"slug":"devlopr-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/dinky","collection":"themes","next":{"path":"_themes/documentation.md","relative_path":"_themes/documentation.md","id":"/themes/documentation","collection":"themes","url":"/themes/documentation/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Documentation Jekyll Theme","description":"A documentation and help system Jekyll theme with search, navigation sidebar, and clean typography for technical writing.","key_features":["Search Built-in","Sidebar Nav","Clean Typography","GitHub Pages"],"card_description":"Help system theme with search, sidebar navigation, and clean typography.","category":"Documentation","card_image":"/assets/images/themes/documentation-card.webp","theme_screenshots":["/assets/images/themes/documentation-screenshot.webp","/assets/images/themes/documentation-screenshot-2.webp","/assets/images/themes/documentation-screenshot-3.webp"],"demo_url":"https://docs.cloudcannon.com/","github_url":"https://github.com/CloudCannon/documentation-jekyll-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2024-03-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1194,"forks":423,"features":["Collapsible sidebar navigation","Built-in search","Clean documentation layout","Breadcrumb navigation","Code syntax highlighting","Table of contents","Previous / Next page links","Responsive design","GitHub Pages compatible","Easy content organisation"],"slug":"documentation","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Dinky is a compact, sidebar-based GitHub Pages official theme well suited to small-to-medium project documentation sites. Its bright blue accents and tidy layout feel modern and approachable, and the sidebar keeps navigation visible without consuming too much page space.\n\nLike all official GitHub Pages themes, it activates with a single `theme:` line in your config — no gem management, no local installation.\n\n**Who is it for?** Developers who want a structured sidebar layout for project documentation without the complexity of full documentation frameworks like Just the Docs.\n","url":"/themes/dinky/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Dinky Jekyll Theme","description":"A compact GitHub Pages Jekyll theme with a fixed sidebar and clean layout. Great for small documentation pages and personal project sites.","key_features":["GitHub Pages","Fixed Sidebar","Project Docs","Compact Layout"],"card_description":"Compact GitHub Pages theme with fixed sidebar for small project sites.","category":"Documentation","card_image":"/assets/images/themes/dinky-card.webp","theme_screenshots":["/assets/images/themes/dinky-screenshot.webp","/assets/images/themes/dinky-screenshot-2.webp","/assets/images/themes/dinky-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/dinky/","github_url":"https://github.com/pages-themes/dinky","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Compact sidebar navigation","Bright blue accent colours","Clean documentation layout","Single-line enable via _config.yml","Responsive design","No local Jekyll install needed"],"slug":"dinky","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Devlopr stands out from every other Jekyll theme in one important way: it ships with built-in CMS support. You can write and publish blog posts through a browser-based admin interface — no terminal, no text editor, no git commits. This makes it genuinely practical for developers who want the speed and security of a static site but the convenience of a CMS for day-to-day content updates.\n\nBeyond the CMS integration, it's a well-rounded developer portfolio theme with sections for projects, skills, timeline, and a blog — all with dark mode support.\n\n**Who is it for?** Developers who want a personal portfolio and blog with CMS-based content editing, so they can write posts from anywhere without a local development environment.\n","url":"/themes/devlopr-jekyll/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Devlopr Jekyll Theme","description":"A feature-rich developer portfolio Jekyll theme with an integrated blog, skills section, CMS support, and dark mode built in.","key_features":["Dark Mode","CMS Support","Skills Section","Portfolio & Blog"],"card_description":"Developer portfolio with blog, skills section, and dark mode built in.","category":"Portfolio","card_image":"/assets/images/themes/devlopr-jekyll-card.webp","theme_screenshots":["/assets/images/themes/devlopr-jekyll-screenshot.webp","/assets/images/themes/devlopr-jekyll-screenshot-2.webp","/assets/images/themes/devlopr-jekyll-screenshot-3.webp"],"demo_url":"https://devlopr.netlify.app/","github_url":"https://github.com/sujaykundu777/devlopr-jekyll","author":"GitHub Community","github_author_name":"sujaykundu777","github_author_url":"https://github.com/sujaykundu777","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"4.4.0","license":"MIT","stars":450,"forks":400,"features":["Built-in CMS support (Netlify CMS + Forestry)","Dark mode toggle","Developer portfolio section","Blog with categories and tags","Projects showcase grid","Skills and timeline sections","Newsletter subscription support","Disqus and Utterances comments","Google Analytics","GitHub Pages compatible"],"slug":"devlopr-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/dinky.md","relative_path":"_themes/dinky.md","excerpt":"<p>Dinky is a compact, sidebar-based GitHub Pages official theme well suited to small-to-medium project documentation sites. Its bright blue accents and tidy layout feel modern and approachable, and the sidebar keeps navigation visible without consuming too much page space.</p>\n\n","previous":{"path":"_themes/devlopr-jekyll.md","relative_path":"_themes/devlopr-jekyll.md","excerpt":"<p>Devlopr stands out from every other Jekyll theme in one important way: it ships with built-in CMS support. You can write and publish blog posts through a browser-based admin interface — no terminal, no text editor, no git commits. This makes it genuinely practical for developers who want the speed and security of a static site but the convenience of a CMS for day-to-day content updates.</p>\n\n","previous":{"path":"_themes/creative.md","relative_path":"_themes/creative.md","id":"/themes/creative","collection":"themes","url":"/themes/creative/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Creative Jekyll Theme","description":"A one-page Bootstrap landing page Jekyll theme with a fullscreen hero image, smooth scroll navigation, and portfolio sections.","key_features":["One-Page Layout","Smooth Scroll","Portfolio Sections","Bootstrap Based"],"card_description":"One-page Bootstrap landing page with fullscreen hero and portfolio.","category":"Landing Page","card_image":"/assets/images/themes/creative-card.webp","theme_screenshots":["/assets/images/themes/creative-screenshot.webp","/assets/images/themes/creative-screenshot-2.webp","/assets/images/themes/creative-screenshot-3.webp"],"demo_url":"https://volny.github.io/creative-theme-jekyll/","github_url":"https://github.com/volny/creative-theme-jekyll","author":"GitHub Community","github_author_name":"volny","github_author_url":"https://github.com/volny","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":545,"forks":397,"features":["Fullscreen hero image","Smooth scroll navigation","Portfolio grid section","Services section","Call-to-action buttons","Bootstrap 3 powered","Animated scroll effects","Contact section","GitHub Pages compatible","One-page layout"],"slug":"creative","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/devlopr-jekyll","collection":"themes","next":{"path":"_themes/dinky.md","relative_path":"_themes/dinky.md","id":"/themes/dinky","collection":"themes","url":"/themes/dinky/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Dinky Jekyll Theme","description":"A compact GitHub Pages Jekyll theme with a fixed sidebar and clean layout. Great for small documentation pages and personal project sites.","key_features":["GitHub Pages","Fixed Sidebar","Project Docs","Compact Layout"],"card_description":"Compact GitHub Pages theme with fixed sidebar for small project sites.","category":"Documentation","card_image":"/assets/images/themes/dinky-card.webp","theme_screenshots":["/assets/images/themes/dinky-screenshot.webp","/assets/images/themes/dinky-screenshot-2.webp","/assets/images/themes/dinky-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/dinky/","github_url":"https://github.com/pages-themes/dinky","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Compact sidebar navigation","Bright blue accent colours","Clean documentation layout","Single-line enable via _config.yml","Responsive design","No local Jekyll install needed"],"slug":"dinky","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Devlopr stands out from every other Jekyll theme in one important way: it ships with built-in CMS support. You can write and publish blog posts through a browser-based admin interface — no terminal, no text editor, no git commits. This makes it genuinely practical for developers who want the speed and security of a static site but the convenience of a CMS for day-to-day content updates.\n\nBeyond the CMS integration, it's a well-rounded developer portfolio theme with sections for projects, skills, timeline, and a blog — all with dark mode support.\n\n**Who is it for?** Developers who want a personal portfolio and blog with CMS-based content editing, so they can write posts from anywhere without a local development environment.\n","url":"/themes/devlopr-jekyll/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Devlopr Jekyll Theme","description":"A feature-rich developer portfolio Jekyll theme with an integrated blog, skills section, CMS support, and dark mode built in.","key_features":["Dark Mode","CMS Support","Skills Section","Portfolio & Blog"],"card_description":"Developer portfolio with blog, skills section, and dark mode built in.","category":"Portfolio","card_image":"/assets/images/themes/devlopr-jekyll-card.webp","theme_screenshots":["/assets/images/themes/devlopr-jekyll-screenshot.webp","/assets/images/themes/devlopr-jekyll-screenshot-2.webp","/assets/images/themes/devlopr-jekyll-screenshot-3.webp"],"demo_url":"https://devlopr.netlify.app/","github_url":"https://github.com/sujaykundu777/devlopr-jekyll","author":"GitHub Community","github_author_name":"sujaykundu777","github_author_url":"https://github.com/sujaykundu777","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"4.4.0","license":"MIT","stars":450,"forks":400,"features":["Built-in CMS support (Netlify CMS + Forestry)","Dark mode toggle","Developer portfolio section","Blog with categories and tags","Projects showcase grid","Skills and timeline sections","Newsletter subscription support","Disqus and Utterances comments","Google Analytics","GitHub Pages compatible"],"slug":"devlopr-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/dinky","collection":"themes","next":{"path":"_themes/documentation.md","relative_path":"_themes/documentation.md","excerpt":"<p>Documentation is a clean, professional Jekyll theme from CloudCannon designed specifically for technical documentation and help systems.</p>\n\n","previous":{"path":"_themes/dinky.md","relative_path":"_themes/dinky.md","id":"/themes/dinky","collection":"themes","url":"/themes/dinky/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Dinky Jekyll Theme","description":"A compact GitHub Pages Jekyll theme with a fixed sidebar and clean layout. Great for small documentation pages and personal project sites.","key_features":["GitHub Pages","Fixed Sidebar","Project Docs","Compact Layout"],"card_description":"Compact GitHub Pages theme with fixed sidebar for small project sites.","category":"Documentation","card_image":"/assets/images/themes/dinky-card.webp","theme_screenshots":["/assets/images/themes/dinky-screenshot.webp","/assets/images/themes/dinky-screenshot-2.webp","/assets/images/themes/dinky-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/dinky/","github_url":"https://github.com/pages-themes/dinky","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Compact sidebar navigation","Bright blue accent colours","Clean documentation layout","Single-line enable via _config.yml","Responsive design","No local Jekyll install needed"],"slug":"dinky","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/documentation","collection":"themes","next":{"path":"_themes/feeling-responsive.md","relative_path":"_themes/feeling-responsive.md","id":"/themes/feeling-responsive","collection":"themes","url":"/themes/feeling-responsive/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Feeling Responsive Jekyll Theme","description":"A multipurpose responsive Jekyll theme built on the Foundation framework with flexible layouts, widgets, and rich customisation options.","key_features":["Foundation Framework","Flexible Layouts","Rich Widgets","Multi-Purpose"],"card_description":"Multipurpose Foundation theme with flexible layouts and rich widgets.","category":"Blog","card_image":"/assets/images/themes/feeling-responsive-card.webp","theme_screenshots":["/assets/images/themes/feeling-responsive-screenshot.webp","/assets/images/themes/feeling-responsive-screenshot-2.webp","/assets/images/themes/feeling-responsive-screenshot-3.webp"],"demo_url":"https://phlow.github.io/feeling-responsive/","github_url":"https://github.com/Phlow/feeling-responsive","author":"GitHub Community","github_author_name":"Phlow","github_author_url":"https://github.com/Phlow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-06-27","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":945,"forks":614,"features":["Foundation framework","Multiple layout options","Widgetised sidebar","Video embedding support","Image galleries","Google Analytics","Disqus comments","Multilingual ready","GitHub Pages compatible","Extensive documentation"],"slug":"feeling-responsive","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Documentation is a clean, professional Jekyll theme from CloudCannon designed specifically for technical documentation and help systems.\n\nA collapsible sidebar handles deep navigation hierarchies, while built-in search lets users find content instantly. Code blocks are syntax-highlighted throughout.\n\n**Who is it for?** Developers and teams who need to publish product documentation, API references, or technical guides as a static site.\n","url":"/themes/documentation/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Documentation Jekyll Theme","description":"A documentation and help system Jekyll theme with search, navigation sidebar, and clean typography for technical writing.","key_features":["Search Built-in","Sidebar Nav","Clean Typography","GitHub Pages"],"card_description":"Help system theme with search, sidebar navigation, and clean typography.","category":"Documentation","card_image":"/assets/images/themes/documentation-card.webp","theme_screenshots":["/assets/images/themes/documentation-screenshot.webp","/assets/images/themes/documentation-screenshot-2.webp","/assets/images/themes/documentation-screenshot-3.webp"],"demo_url":"https://docs.cloudcannon.com/","github_url":"https://github.com/CloudCannon/documentation-jekyll-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2024-03-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1194,"forks":423,"features":["Collapsible sidebar navigation","Built-in search","Clean documentation layout","Breadcrumb navigation","Code syntax highlighting","Table of contents","Previous / Next page links","Responsive design","GitHub Pages compatible","Easy content organisation"],"slug":"documentation","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Dinky is a compact, sidebar-based GitHub Pages official theme well suited to small-to-medium project documentation sites. Its bright blue accents and tidy layout feel modern and approachable, and the sidebar keeps navigation visible without consuming too much page space.\n\nLike all official GitHub Pages themes, it activates with a single `theme:` line in your config — no gem management, no local installation.\n\n**Who is it for?** Developers who want a structured sidebar layout for project documentation without the complexity of full documentation frameworks like Just the Docs.\n","url":"/themes/dinky/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Dinky Jekyll Theme","description":"A compact GitHub Pages Jekyll theme with a fixed sidebar and clean layout. Great for small documentation pages and personal project sites.","key_features":["GitHub Pages","Fixed Sidebar","Project Docs","Compact Layout"],"card_description":"Compact GitHub Pages theme with fixed sidebar for small project sites.","category":"Documentation","card_image":"/assets/images/themes/dinky-card.webp","theme_screenshots":["/assets/images/themes/dinky-screenshot.webp","/assets/images/themes/dinky-screenshot-2.webp","/assets/images/themes/dinky-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/dinky/","github_url":"https://github.com/pages-themes/dinky","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Compact sidebar navigation","Bright blue accent colours","Clean documentation layout","Single-line enable via _config.yml","Responsive design","No local Jekyll install needed"],"slug":"dinky","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/documentation.md","relative_path":"_themes/documentation.md","excerpt":"<p>Documentation is a clean, professional Jekyll theme from CloudCannon designed specifically for technical documentation and help systems.</p>\n\n","previous":{"path":"_themes/dinky.md","relative_path":"_themes/dinky.md","excerpt":"<p>Dinky is a compact, sidebar-based GitHub Pages official theme well suited to small-to-medium project documentation sites. Its bright blue accents and tidy layout feel modern and approachable, and the sidebar keeps navigation visible without consuming too much page space.</p>\n\n","previous":{"path":"_themes/devlopr-jekyll.md","relative_path":"_themes/devlopr-jekyll.md","id":"/themes/devlopr-jekyll","collection":"themes","url":"/themes/devlopr-jekyll/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Devlopr Jekyll Theme","description":"A feature-rich developer portfolio Jekyll theme with an integrated blog, skills section, CMS support, and dark mode built in.","key_features":["Dark Mode","CMS Support","Skills Section","Portfolio & Blog"],"card_description":"Developer portfolio with blog, skills section, and dark mode built in.","category":"Portfolio","card_image":"/assets/images/themes/devlopr-jekyll-card.webp","theme_screenshots":["/assets/images/themes/devlopr-jekyll-screenshot.webp","/assets/images/themes/devlopr-jekyll-screenshot-2.webp","/assets/images/themes/devlopr-jekyll-screenshot-3.webp"],"demo_url":"https://devlopr.netlify.app/","github_url":"https://github.com/sujaykundu777/devlopr-jekyll","author":"GitHub Community","github_author_name":"sujaykundu777","github_author_url":"https://github.com/sujaykundu777","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"4.4.0","license":"MIT","stars":450,"forks":400,"features":["Built-in CMS support (Netlify CMS + Forestry)","Dark mode toggle","Developer portfolio section","Blog with categories and tags","Projects showcase grid","Skills and timeline sections","Newsletter subscription support","Disqus and Utterances comments","Google Analytics","GitHub Pages compatible"],"slug":"devlopr-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/dinky","collection":"themes","next":{"path":"_themes/documentation.md","relative_path":"_themes/documentation.md","id":"/themes/documentation","collection":"themes","url":"/themes/documentation/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Documentation Jekyll Theme","description":"A documentation and help system Jekyll theme with search, navigation sidebar, and clean typography for technical writing.","key_features":["Search Built-in","Sidebar Nav","Clean Typography","GitHub Pages"],"card_description":"Help system theme with search, sidebar navigation, and clean typography.","category":"Documentation","card_image":"/assets/images/themes/documentation-card.webp","theme_screenshots":["/assets/images/themes/documentation-screenshot.webp","/assets/images/themes/documentation-screenshot-2.webp","/assets/images/themes/documentation-screenshot-3.webp"],"demo_url":"https://docs.cloudcannon.com/","github_url":"https://github.com/CloudCannon/documentation-jekyll-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2024-03-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1194,"forks":423,"features":["Collapsible sidebar navigation","Built-in search","Clean documentation layout","Breadcrumb navigation","Code syntax highlighting","Table of contents","Previous / Next page links","Responsive design","GitHub Pages compatible","Easy content organisation"],"slug":"documentation","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Dinky is a compact, sidebar-based GitHub Pages official theme well suited to small-to-medium project documentation sites. Its bright blue accents and tidy layout feel modern and approachable, and the sidebar keeps navigation visible without consuming too much page space.\n\nLike all official GitHub Pages themes, it activates with a single `theme:` line in your config — no gem management, no local installation.\n\n**Who is it for?** Developers who want a structured sidebar layout for project documentation without the complexity of full documentation frameworks like Just the Docs.\n","url":"/themes/dinky/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Dinky Jekyll Theme","description":"A compact GitHub Pages Jekyll theme with a fixed sidebar and clean layout. Great for small documentation pages and personal project sites.","key_features":["GitHub Pages","Fixed Sidebar","Project Docs","Compact Layout"],"card_description":"Compact GitHub Pages theme with fixed sidebar for small project sites.","category":"Documentation","card_image":"/assets/images/themes/dinky-card.webp","theme_screenshots":["/assets/images/themes/dinky-screenshot.webp","/assets/images/themes/dinky-screenshot-2.webp","/assets/images/themes/dinky-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/dinky/","github_url":"https://github.com/pages-themes/dinky","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Compact sidebar navigation","Bright blue accent colours","Clean documentation layout","Single-line enable via _config.yml","Responsive design","No local Jekyll install needed"],"slug":"dinky","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/documentation","collection":"themes","next":{"path":"_themes/feeling-responsive.md","relative_path":"_themes/feeling-responsive.md","excerpt":"<p>Feeling Responsive is one of the most feature-rich free Jekyll themes available, built on Zurb’s Foundation framework. It offers a wide range of layouts — from full-width magazine-style pages to narrow reading columns.</p>\n\n","previous":{"path":"_themes/documentation.md","relative_path":"_themes/documentation.md","id":"/themes/documentation","collection":"themes","url":"/themes/documentation/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Documentation Jekyll Theme","description":"A documentation and help system Jekyll theme with search, navigation sidebar, and clean typography for technical writing.","key_features":["Search Built-in","Sidebar Nav","Clean Typography","GitHub Pages"],"card_description":"Help system theme with search, sidebar navigation, and clean typography.","category":"Documentation","card_image":"/assets/images/themes/documentation-card.webp","theme_screenshots":["/assets/images/themes/documentation-screenshot.webp","/assets/images/themes/documentation-screenshot-2.webp","/assets/images/themes/documentation-screenshot-3.webp"],"demo_url":"https://docs.cloudcannon.com/","github_url":"https://github.com/CloudCannon/documentation-jekyll-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2024-03-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1194,"forks":423,"features":["Collapsible sidebar navigation","Built-in search","Clean documentation layout","Breadcrumb navigation","Code syntax highlighting","Table of contents","Previous / Next page links","Responsive design","GitHub Pages compatible","Easy content organisation"],"slug":"documentation","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/feeling-responsive","collection":"themes","next":{"path":"_themes/flexible-jekyll.md","relative_path":"_themes/flexible-jekyll.md","id":"/themes/flexible-jekyll","collection":"themes","url":"/themes/flexible-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Flexible Jekyll","description":"A simple and clean Jekyll theme with a minimal design, dark mode support, tag pages, and a flexible two-column layout.","key_features":["Dark Mode","Two-Column Layout","Tag Pages","Clean Design"],"card_description":"Simple, clean blog with dark mode and flexible two-column layout.","category":"Blog","card_image":"/assets/images/themes/flexible-jekyll-card.webp","theme_screenshots":["/assets/images/themes/flexible-jekyll-screenshot.webp","/assets/images/themes/flexible-jekyll-screenshot-2.webp","/assets/images/themes/flexible-jekyll-screenshot-3.webp"],"demo_url":"https://artemsheludko.github.io/flexible-jekyll/","github_url":"https://github.com/artemsheludko/flexible-jekyll","author":"GitHub Community","github_author_name":"artemsheludko","github_author_url":"https://github.com/artemsheludko","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-06-21","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":782,"forks":449,"features":["Light and dark mode","Two-column layout","Tag archive pages","Author sidebar","Featured post images","Disqus comments","Google Analytics","Social media links","GitHub Pages compatible","Clean minimal design"],"slug":"flexible-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Feeling Responsive is one of the most feature-rich free Jekyll themes available, built on Zurb's Foundation framework. It offers a wide range of layouts — from full-width magazine-style pages to narrow reading columns.\n\nThe theme ships with widgets, gallery support, video embedding, and multilingual capabilities. Its extensive documentation makes customisation straightforward even for less experienced developers.\n\n**Who is it for?** Bloggers and small publishers who want a flexible, feature-rich theme without paying for a premium option.\n","url":"/themes/feeling-responsive/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Feeling Responsive Jekyll Theme","description":"A multipurpose responsive Jekyll theme built on the Foundation framework with flexible layouts, widgets, and rich customisation options.","key_features":["Foundation Framework","Flexible Layouts","Rich Widgets","Multi-Purpose"],"card_description":"Multipurpose Foundation theme with flexible layouts and rich widgets.","category":"Blog","card_image":"/assets/images/themes/feeling-responsive-card.webp","theme_screenshots":["/assets/images/themes/feeling-responsive-screenshot.webp","/assets/images/themes/feeling-responsive-screenshot-2.webp","/assets/images/themes/feeling-responsive-screenshot-3.webp"],"demo_url":"https://phlow.github.io/feeling-responsive/","github_url":"https://github.com/Phlow/feeling-responsive","author":"GitHub Community","github_author_name":"Phlow","github_author_url":"https://github.com/Phlow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-06-27","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":945,"forks":614,"features":["Foundation framework","Multiple layout options","Widgetised sidebar","Video embedding support","Image galleries","Google Analytics","Disqus comments","Multilingual ready","GitHub Pages compatible","Extensive documentation"],"slug":"feeling-responsive","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Documentation is a clean, professional Jekyll theme from CloudCannon designed specifically for technical documentation and help systems.\n\nA collapsible sidebar handles deep navigation hierarchies, while built-in search lets users find content instantly. Code blocks are syntax-highlighted throughout.\n\n**Who is it for?** Developers and teams who need to publish product documentation, API references, or technical guides as a static site.\n","url":"/themes/documentation/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Documentation Jekyll Theme","description":"A documentation and help system Jekyll theme with search, navigation sidebar, and clean typography for technical writing.","key_features":["Search Built-in","Sidebar Nav","Clean Typography","GitHub Pages"],"card_description":"Help system theme with search, sidebar navigation, and clean typography.","category":"Documentation","card_image":"/assets/images/themes/documentation-card.webp","theme_screenshots":["/assets/images/themes/documentation-screenshot.webp","/assets/images/themes/documentation-screenshot-2.webp","/assets/images/themes/documentation-screenshot-3.webp"],"demo_url":"https://docs.cloudcannon.com/","github_url":"https://github.com/CloudCannon/documentation-jekyll-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2024-03-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1194,"forks":423,"features":["Collapsible sidebar navigation","Built-in search","Clean documentation layout","Breadcrumb navigation","Code syntax highlighting","Table of contents","Previous / Next page links","Responsive design","GitHub Pages compatible","Easy content organisation"],"slug":"documentation","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/feeling-responsive.md","relative_path":"_themes/feeling-responsive.md","excerpt":"<p>Feeling Responsive is one of the most feature-rich free Jekyll themes available, built on Zurb’s Foundation framework. It offers a wide range of layouts — from full-width magazine-style pages to narrow reading columns.</p>\n\n","previous":{"path":"_themes/documentation.md","relative_path":"_themes/documentation.md","excerpt":"<p>Documentation is a clean, professional Jekyll theme from CloudCannon designed specifically for technical documentation and help systems.</p>\n\n","previous":{"path":"_themes/dinky.md","relative_path":"_themes/dinky.md","id":"/themes/dinky","collection":"themes","url":"/themes/dinky/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Dinky Jekyll Theme","description":"A compact GitHub Pages Jekyll theme with a fixed sidebar and clean layout. Great for small documentation pages and personal project sites.","key_features":["GitHub Pages","Fixed Sidebar","Project Docs","Compact Layout"],"card_description":"Compact GitHub Pages theme with fixed sidebar for small project sites.","category":"Documentation","card_image":"/assets/images/themes/dinky-card.webp","theme_screenshots":["/assets/images/themes/dinky-screenshot.webp","/assets/images/themes/dinky-screenshot-2.webp","/assets/images/themes/dinky-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/dinky/","github_url":"https://github.com/pages-themes/dinky","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Compact sidebar navigation","Bright blue accent colours","Clean documentation layout","Single-line enable via _config.yml","Responsive design","No local Jekyll install needed"],"slug":"dinky","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/documentation","collection":"themes","next":{"path":"_themes/feeling-responsive.md","relative_path":"_themes/feeling-responsive.md","id":"/themes/feeling-responsive","collection":"themes","url":"/themes/feeling-responsive/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Feeling Responsive Jekyll Theme","description":"A multipurpose responsive Jekyll theme built on the Foundation framework with flexible layouts, widgets, and rich customisation options.","key_features":["Foundation Framework","Flexible Layouts","Rich Widgets","Multi-Purpose"],"card_description":"Multipurpose Foundation theme with flexible layouts and rich widgets.","category":"Blog","card_image":"/assets/images/themes/feeling-responsive-card.webp","theme_screenshots":["/assets/images/themes/feeling-responsive-screenshot.webp","/assets/images/themes/feeling-responsive-screenshot-2.webp","/assets/images/themes/feeling-responsive-screenshot-3.webp"],"demo_url":"https://phlow.github.io/feeling-responsive/","github_url":"https://github.com/Phlow/feeling-responsive","author":"GitHub Community","github_author_name":"Phlow","github_author_url":"https://github.com/Phlow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-06-27","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":945,"forks":614,"features":["Foundation framework","Multiple layout options","Widgetised sidebar","Video embedding support","Image galleries","Google Analytics","Disqus comments","Multilingual ready","GitHub Pages compatible","Extensive documentation"],"slug":"feeling-responsive","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Documentation is a clean, professional Jekyll theme from CloudCannon designed specifically for technical documentation and help systems.\n\nA collapsible sidebar handles deep navigation hierarchies, while built-in search lets users find content instantly. Code blocks are syntax-highlighted throughout.\n\n**Who is it for?** Developers and teams who need to publish product documentation, API references, or technical guides as a static site.\n","url":"/themes/documentation/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Documentation Jekyll Theme","description":"A documentation and help system Jekyll theme with search, navigation sidebar, and clean typography for technical writing.","key_features":["Search Built-in","Sidebar Nav","Clean Typography","GitHub Pages"],"card_description":"Help system theme with search, sidebar navigation, and clean typography.","category":"Documentation","card_image":"/assets/images/themes/documentation-card.webp","theme_screenshots":["/assets/images/themes/documentation-screenshot.webp","/assets/images/themes/documentation-screenshot-2.webp","/assets/images/themes/documentation-screenshot-3.webp"],"demo_url":"https://docs.cloudcannon.com/","github_url":"https://github.com/CloudCannon/documentation-jekyll-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2024-03-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1194,"forks":423,"features":["Collapsible sidebar navigation","Built-in search","Clean documentation layout","Breadcrumb navigation","Code syntax highlighting","Table of contents","Previous / Next page links","Responsive design","GitHub Pages compatible","Easy content organisation"],"slug":"documentation","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/feeling-responsive","collection":"themes","next":{"path":"_themes/flexible-jekyll.md","relative_path":"_themes/flexible-jekyll.md","excerpt":"<p>Flexible Jekyll is a clean, versatile theme with a two-column layout — posts on the left, author sidebar on the right. It ships with both light and dark modes, letting readers choose their preferred reading environment.</p>\n\n","previous":{"path":"_themes/feeling-responsive.md","relative_path":"_themes/feeling-responsive.md","id":"/themes/feeling-responsive","collection":"themes","url":"/themes/feeling-responsive/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Feeling Responsive Jekyll Theme","description":"A multipurpose responsive Jekyll theme built on the Foundation framework with flexible layouts, widgets, and rich customisation options.","key_features":["Foundation Framework","Flexible Layouts","Rich Widgets","Multi-Purpose"],"card_description":"Multipurpose Foundation theme with flexible layouts and rich widgets.","category":"Blog","card_image":"/assets/images/themes/feeling-responsive-card.webp","theme_screenshots":["/assets/images/themes/feeling-responsive-screenshot.webp","/assets/images/themes/feeling-responsive-screenshot-2.webp","/assets/images/themes/feeling-responsive-screenshot-3.webp"],"demo_url":"https://phlow.github.io/feeling-responsive/","github_url":"https://github.com/Phlow/feeling-responsive","author":"GitHub Community","github_author_name":"Phlow","github_author_url":"https://github.com/Phlow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-06-27","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":945,"forks":614,"features":["Foundation framework","Multiple layout options","Widgetised sidebar","Video embedding support","Image galleries","Google Analytics","Disqus comments","Multilingual ready","GitHub Pages compatible","Extensive documentation"],"slug":"feeling-responsive","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/flexible-jekyll","collection":"themes","next":{"path":"_themes/forty.md","relative_path":"_themes/forty.md","id":"/themes/forty","collection":"themes","url":"/themes/forty/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Forty Jekyll Theme","description":"A visually striking multipurpose Jekyll theme inspired by HTML5 UP. Features tiled project sections and high-impact full-screen headers.","key_features":["Full-Screen Headers","Tiled Portfolio","Dark Mode","Striking Visuals"],"card_description":"Visually striking multipurpose theme with tiled sections and full-screen headers.","category":"Portfolio","card_image":"/assets/images/themes/forty-card.webp","theme_screenshots":["/assets/images/themes/forty-screenshot.webp","/assets/images/themes/forty-screenshot-2.webp","/assets/images/themes/forty-screenshot-3.webp"],"demo_url":"https://andrewbanchich.github.io/forty-jekyll-theme/","github_url":"https://github.com/andrewbanchich/forty-jekyll-theme","author":"GitHub Community","github_author_name":"Andrew Banchich","github_author_url":"https://github.com/andrewbanchich","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC3","stars":1100,"forks":1200,"features":["Tile-based portfolio grid","Full-screen banner","Dark/light tile contrast","Contact form","Portfolio and blog sections"],"slug":"forty","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Flexible Jekyll is a clean, versatile theme with a two-column layout — posts on the left, author sidebar on the right. It ships with both light and dark modes, letting readers choose their preferred reading environment.\n\nThe design is deliberately understated, keeping the focus entirely on content. Tag archive pages make it easy to navigate a large back-catalogue of posts.\n\n**Who is it for?** Bloggers who want a clean, readable two-column layout with dark mode support out of the box.\n","url":"/themes/flexible-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Flexible Jekyll","description":"A simple and clean Jekyll theme with a minimal design, dark mode support, tag pages, and a flexible two-column layout.","key_features":["Dark Mode","Two-Column Layout","Tag Pages","Clean Design"],"card_description":"Simple, clean blog with dark mode and flexible two-column layout.","category":"Blog","card_image":"/assets/images/themes/flexible-jekyll-card.webp","theme_screenshots":["/assets/images/themes/flexible-jekyll-screenshot.webp","/assets/images/themes/flexible-jekyll-screenshot-2.webp","/assets/images/themes/flexible-jekyll-screenshot-3.webp"],"demo_url":"https://artemsheludko.github.io/flexible-jekyll/","github_url":"https://github.com/artemsheludko/flexible-jekyll","author":"GitHub Community","github_author_name":"artemsheludko","github_author_url":"https://github.com/artemsheludko","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-06-21","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":782,"forks":449,"features":["Light and dark mode","Two-column layout","Tag archive pages","Author sidebar","Featured post images","Disqus comments","Google Analytics","Social media links","GitHub Pages compatible","Clean minimal design"],"slug":"flexible-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Feeling Responsive is one of the most feature-rich free Jekyll themes available, built on Zurb's Foundation framework. It offers a wide range of layouts — from full-width magazine-style pages to narrow reading columns.\n\nThe theme ships with widgets, gallery support, video embedding, and multilingual capabilities. Its extensive documentation makes customisation straightforward even for less experienced developers.\n\n**Who is it for?** Bloggers and small publishers who want a flexible, feature-rich theme without paying for a premium option.\n","url":"/themes/feeling-responsive/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Feeling Responsive Jekyll Theme","description":"A multipurpose responsive Jekyll theme built on the Foundation framework with flexible layouts, widgets, and rich customisation options.","key_features":["Foundation Framework","Flexible Layouts","Rich Widgets","Multi-Purpose"],"card_description":"Multipurpose Foundation theme with flexible layouts and rich widgets.","category":"Blog","card_image":"/assets/images/themes/feeling-responsive-card.webp","theme_screenshots":["/assets/images/themes/feeling-responsive-screenshot.webp","/assets/images/themes/feeling-responsive-screenshot-2.webp","/assets/images/themes/feeling-responsive-screenshot-3.webp"],"demo_url":"https://phlow.github.io/feeling-responsive/","github_url":"https://github.com/Phlow/feeling-responsive","author":"GitHub Community","github_author_name":"Phlow","github_author_url":"https://github.com/Phlow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-06-27","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":945,"forks":614,"features":["Foundation framework","Multiple layout options","Widgetised sidebar","Video embedding support","Image galleries","Google Analytics","Disqus comments","Multilingual ready","GitHub Pages compatible","Extensive documentation"],"slug":"feeling-responsive","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/flexible-jekyll.md","relative_path":"_themes/flexible-jekyll.md","excerpt":"<p>Flexible Jekyll is a clean, versatile theme with a two-column layout — posts on the left, author sidebar on the right. It ships with both light and dark modes, letting readers choose their preferred reading environment.</p>\n\n","previous":{"path":"_themes/feeling-responsive.md","relative_path":"_themes/feeling-responsive.md","excerpt":"<p>Feeling Responsive is one of the most feature-rich free Jekyll themes available, built on Zurb’s Foundation framework. It offers a wide range of layouts — from full-width magazine-style pages to narrow reading columns.</p>\n\n","previous":{"path":"_themes/documentation.md","relative_path":"_themes/documentation.md","id":"/themes/documentation","collection":"themes","url":"/themes/documentation/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Documentation Jekyll Theme","description":"A documentation and help system Jekyll theme with search, navigation sidebar, and clean typography for technical writing.","key_features":["Search Built-in","Sidebar Nav","Clean Typography","GitHub Pages"],"card_description":"Help system theme with search, sidebar navigation, and clean typography.","category":"Documentation","card_image":"/assets/images/themes/documentation-card.webp","theme_screenshots":["/assets/images/themes/documentation-screenshot.webp","/assets/images/themes/documentation-screenshot-2.webp","/assets/images/themes/documentation-screenshot-3.webp"],"demo_url":"https://docs.cloudcannon.com/","github_url":"https://github.com/CloudCannon/documentation-jekyll-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2024-03-03","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1194,"forks":423,"features":["Collapsible sidebar navigation","Built-in search","Clean documentation layout","Breadcrumb navigation","Code syntax highlighting","Table of contents","Previous / Next page links","Responsive design","GitHub Pages compatible","Easy content organisation"],"slug":"documentation","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/feeling-responsive","collection":"themes","next":{"path":"_themes/flexible-jekyll.md","relative_path":"_themes/flexible-jekyll.md","id":"/themes/flexible-jekyll","collection":"themes","url":"/themes/flexible-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Flexible Jekyll","description":"A simple and clean Jekyll theme with a minimal design, dark mode support, tag pages, and a flexible two-column layout.","key_features":["Dark Mode","Two-Column Layout","Tag Pages","Clean Design"],"card_description":"Simple, clean blog with dark mode and flexible two-column layout.","category":"Blog","card_image":"/assets/images/themes/flexible-jekyll-card.webp","theme_screenshots":["/assets/images/themes/flexible-jekyll-screenshot.webp","/assets/images/themes/flexible-jekyll-screenshot-2.webp","/assets/images/themes/flexible-jekyll-screenshot-3.webp"],"demo_url":"https://artemsheludko.github.io/flexible-jekyll/","github_url":"https://github.com/artemsheludko/flexible-jekyll","author":"GitHub Community","github_author_name":"artemsheludko","github_author_url":"https://github.com/artemsheludko","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-06-21","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":782,"forks":449,"features":["Light and dark mode","Two-column layout","Tag archive pages","Author sidebar","Featured post images","Disqus comments","Google Analytics","Social media links","GitHub Pages compatible","Clean minimal design"],"slug":"flexible-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Feeling Responsive is one of the most feature-rich free Jekyll themes available, built on Zurb's Foundation framework. It offers a wide range of layouts — from full-width magazine-style pages to narrow reading columns.\n\nThe theme ships with widgets, gallery support, video embedding, and multilingual capabilities. Its extensive documentation makes customisation straightforward even for less experienced developers.\n\n**Who is it for?** Bloggers and small publishers who want a flexible, feature-rich theme without paying for a premium option.\n","url":"/themes/feeling-responsive/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Feeling Responsive Jekyll Theme","description":"A multipurpose responsive Jekyll theme built on the Foundation framework with flexible layouts, widgets, and rich customisation options.","key_features":["Foundation Framework","Flexible Layouts","Rich Widgets","Multi-Purpose"],"card_description":"Multipurpose Foundation theme with flexible layouts and rich widgets.","category":"Blog","card_image":"/assets/images/themes/feeling-responsive-card.webp","theme_screenshots":["/assets/images/themes/feeling-responsive-screenshot.webp","/assets/images/themes/feeling-responsive-screenshot-2.webp","/assets/images/themes/feeling-responsive-screenshot-3.webp"],"demo_url":"https://phlow.github.io/feeling-responsive/","github_url":"https://github.com/Phlow/feeling-responsive","author":"GitHub Community","github_author_name":"Phlow","github_author_url":"https://github.com/Phlow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-06-27","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":945,"forks":614,"features":["Foundation framework","Multiple layout options","Widgetised sidebar","Video embedding support","Image galleries","Google Analytics","Disqus comments","Multilingual ready","GitHub Pages compatible","Extensive documentation"],"slug":"feeling-responsive","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/flexible-jekyll","collection":"themes","next":{"path":"_themes/forty.md","relative_path":"_themes/forty.md","excerpt":"<p>Forty is a Jekyll port of the popular HTML5 UP design of the same name. Its bold tile-based layout creates a striking visual grid where each tile can show off a project, case study, or article.</p>\n\n","previous":{"path":"_themes/flexible-jekyll.md","relative_path":"_themes/flexible-jekyll.md","id":"/themes/flexible-jekyll","collection":"themes","url":"/themes/flexible-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Flexible Jekyll","description":"A simple and clean Jekyll theme with a minimal design, dark mode support, tag pages, and a flexible two-column layout.","key_features":["Dark Mode","Two-Column Layout","Tag Pages","Clean Design"],"card_description":"Simple, clean blog with dark mode and flexible two-column layout.","category":"Blog","card_image":"/assets/images/themes/flexible-jekyll-card.webp","theme_screenshots":["/assets/images/themes/flexible-jekyll-screenshot.webp","/assets/images/themes/flexible-jekyll-screenshot-2.webp","/assets/images/themes/flexible-jekyll-screenshot-3.webp"],"demo_url":"https://artemsheludko.github.io/flexible-jekyll/","github_url":"https://github.com/artemsheludko/flexible-jekyll","author":"GitHub Community","github_author_name":"artemsheludko","github_author_url":"https://github.com/artemsheludko","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-06-21","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":782,"forks":449,"features":["Light and dark mode","Two-column layout","Tag archive pages","Author sidebar","Featured post images","Disqus comments","Google Analytics","Social media links","GitHub Pages compatible","Clean minimal design"],"slug":"flexible-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/forty","collection":"themes","next":{"path":"_themes/freelancer.md","relative_path":"_themes/freelancer.md","id":"/themes/freelancer","collection":"themes","url":"/themes/freelancer/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Freelancer Jekyll Theme","description":"A flat design landing page and portfolio Jekyll theme based on the popular Freelancer Bootstrap theme by Start Bootstrap.","key_features":["One-Page Portfolio","Project Showcase","Contact Form","Bootstrap Based"],"card_description":"Flat design portfolio and landing page theme for freelancers.","category":"Portfolio","card_image":"/assets/images/themes/freelancer-card.webp","theme_screenshots":["/assets/images/themes/freelancer-screenshot.webp","/assets/images/themes/freelancer-screenshot-2.webp","/assets/images/themes/freelancer-screenshot-3.webp"],"demo_url":"https://jeromelachaud.com/freelancer-theme/","github_url":"https://github.com/jeromelachaud/freelancer-theme","author":"GitHub Community","github_author_name":"Jerome Lachaud","github_author_url":"https://github.com/jeromelachaud","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1488,"forks":623,"features":["One-page scrolling layout","Portfolio grid with modals","Flat design aesthetic","Bootstrap 3 powered","Contact form section","Smooth scroll navigation","Animated header","Skills section","GitHub Pages compatible","Fully responsive"],"slug":"freelancer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Forty is a Jekyll port of the popular HTML5 UP design of the same name. Its bold tile-based layout creates a striking visual grid where each tile can show off a project, case study, or article.\n\nThe alternating dark and light tiles create visual rhythm and make each piece of work feel intentional.\n\n**Who is it for?** Designers, photographers, and creatives who want a visually bold portfolio site that showcases work in large format.\n","url":"/themes/forty/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Forty Jekyll Theme","description":"A visually striking multipurpose Jekyll theme inspired by HTML5 UP. Features tiled project sections and high-impact full-screen headers.","key_features":["Full-Screen Headers","Tiled Portfolio","Dark Mode","Striking Visuals"],"card_description":"Visually striking multipurpose theme with tiled sections and full-screen headers.","category":"Portfolio","card_image":"/assets/images/themes/forty-card.webp","theme_screenshots":["/assets/images/themes/forty-screenshot.webp","/assets/images/themes/forty-screenshot-2.webp","/assets/images/themes/forty-screenshot-3.webp"],"demo_url":"https://andrewbanchich.github.io/forty-jekyll-theme/","github_url":"https://github.com/andrewbanchich/forty-jekyll-theme","author":"GitHub Community","github_author_name":"Andrew Banchich","github_author_url":"https://github.com/andrewbanchich","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC3","stars":1100,"forks":1200,"features":["Tile-based portfolio grid","Full-screen banner","Dark/light tile contrast","Contact form","Portfolio and blog sections"],"slug":"forty","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Flexible Jekyll is a clean, versatile theme with a two-column layout — posts on the left, author sidebar on the right. It ships with both light and dark modes, letting readers choose their preferred reading environment.\n\nThe design is deliberately understated, keeping the focus entirely on content. Tag archive pages make it easy to navigate a large back-catalogue of posts.\n\n**Who is it for?** Bloggers who want a clean, readable two-column layout with dark mode support out of the box.\n","url":"/themes/flexible-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Flexible Jekyll","description":"A simple and clean Jekyll theme with a minimal design, dark mode support, tag pages, and a flexible two-column layout.","key_features":["Dark Mode","Two-Column Layout","Tag Pages","Clean Design"],"card_description":"Simple, clean blog with dark mode and flexible two-column layout.","category":"Blog","card_image":"/assets/images/themes/flexible-jekyll-card.webp","theme_screenshots":["/assets/images/themes/flexible-jekyll-screenshot.webp","/assets/images/themes/flexible-jekyll-screenshot-2.webp","/assets/images/themes/flexible-jekyll-screenshot-3.webp"],"demo_url":"https://artemsheludko.github.io/flexible-jekyll/","github_url":"https://github.com/artemsheludko/flexible-jekyll","author":"GitHub Community","github_author_name":"artemsheludko","github_author_url":"https://github.com/artemsheludko","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-06-21","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":782,"forks":449,"features":["Light and dark mode","Two-column layout","Tag archive pages","Author sidebar","Featured post images","Disqus comments","Google Analytics","Social media links","GitHub Pages compatible","Clean minimal design"],"slug":"flexible-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/forty.md","relative_path":"_themes/forty.md","excerpt":"<p>Forty is a Jekyll port of the popular HTML5 UP design of the same name. Its bold tile-based layout creates a striking visual grid where each tile can show off a project, case study, or article.</p>\n\n","previous":{"path":"_themes/flexible-jekyll.md","relative_path":"_themes/flexible-jekyll.md","excerpt":"<p>Flexible Jekyll is a clean, versatile theme with a two-column layout — posts on the left, author sidebar on the right. It ships with both light and dark modes, letting readers choose their preferred reading environment.</p>\n\n","previous":{"path":"_themes/feeling-responsive.md","relative_path":"_themes/feeling-responsive.md","id":"/themes/feeling-responsive","collection":"themes","url":"/themes/feeling-responsive/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Feeling Responsive Jekyll Theme","description":"A multipurpose responsive Jekyll theme built on the Foundation framework with flexible layouts, widgets, and rich customisation options.","key_features":["Foundation Framework","Flexible Layouts","Rich Widgets","Multi-Purpose"],"card_description":"Multipurpose Foundation theme with flexible layouts and rich widgets.","category":"Blog","card_image":"/assets/images/themes/feeling-responsive-card.webp","theme_screenshots":["/assets/images/themes/feeling-responsive-screenshot.webp","/assets/images/themes/feeling-responsive-screenshot-2.webp","/assets/images/themes/feeling-responsive-screenshot-3.webp"],"demo_url":"https://phlow.github.io/feeling-responsive/","github_url":"https://github.com/Phlow/feeling-responsive","author":"GitHub Community","github_author_name":"Phlow","github_author_url":"https://github.com/Phlow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-06-27","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":945,"forks":614,"features":["Foundation framework","Multiple layout options","Widgetised sidebar","Video embedding support","Image galleries","Google Analytics","Disqus comments","Multilingual ready","GitHub Pages compatible","Extensive documentation"],"slug":"feeling-responsive","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/flexible-jekyll","collection":"themes","next":{"path":"_themes/forty.md","relative_path":"_themes/forty.md","id":"/themes/forty","collection":"themes","url":"/themes/forty/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Forty Jekyll Theme","description":"A visually striking multipurpose Jekyll theme inspired by HTML5 UP. Features tiled project sections and high-impact full-screen headers.","key_features":["Full-Screen Headers","Tiled Portfolio","Dark Mode","Striking Visuals"],"card_description":"Visually striking multipurpose theme with tiled sections and full-screen headers.","category":"Portfolio","card_image":"/assets/images/themes/forty-card.webp","theme_screenshots":["/assets/images/themes/forty-screenshot.webp","/assets/images/themes/forty-screenshot-2.webp","/assets/images/themes/forty-screenshot-3.webp"],"demo_url":"https://andrewbanchich.github.io/forty-jekyll-theme/","github_url":"https://github.com/andrewbanchich/forty-jekyll-theme","author":"GitHub Community","github_author_name":"Andrew Banchich","github_author_url":"https://github.com/andrewbanchich","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC3","stars":1100,"forks":1200,"features":["Tile-based portfolio grid","Full-screen banner","Dark/light tile contrast","Contact form","Portfolio and blog sections"],"slug":"forty","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Flexible Jekyll is a clean, versatile theme with a two-column layout — posts on the left, author sidebar on the right. It ships with both light and dark modes, letting readers choose their preferred reading environment.\n\nThe design is deliberately understated, keeping the focus entirely on content. Tag archive pages make it easy to navigate a large back-catalogue of posts.\n\n**Who is it for?** Bloggers who want a clean, readable two-column layout with dark mode support out of the box.\n","url":"/themes/flexible-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Flexible Jekyll","description":"A simple and clean Jekyll theme with a minimal design, dark mode support, tag pages, and a flexible two-column layout.","key_features":["Dark Mode","Two-Column Layout","Tag Pages","Clean Design"],"card_description":"Simple, clean blog with dark mode and flexible two-column layout.","category":"Blog","card_image":"/assets/images/themes/flexible-jekyll-card.webp","theme_screenshots":["/assets/images/themes/flexible-jekyll-screenshot.webp","/assets/images/themes/flexible-jekyll-screenshot-2.webp","/assets/images/themes/flexible-jekyll-screenshot-3.webp"],"demo_url":"https://artemsheludko.github.io/flexible-jekyll/","github_url":"https://github.com/artemsheludko/flexible-jekyll","author":"GitHub Community","github_author_name":"artemsheludko","github_author_url":"https://github.com/artemsheludko","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-06-21","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":782,"forks":449,"features":["Light and dark mode","Two-column layout","Tag archive pages","Author sidebar","Featured post images","Disqus comments","Google Analytics","Social media links","GitHub Pages compatible","Clean minimal design"],"slug":"flexible-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/forty","collection":"themes","next":{"path":"_themes/freelancer.md","relative_path":"_themes/freelancer.md","excerpt":"<p>Freelancer is a Jekyll port of Start Bootstrap’s popular Freelancer theme — a one-page scrolling layout built for designers and developers showcasing their work.</p>\n\n","previous":{"path":"_themes/forty.md","relative_path":"_themes/forty.md","id":"/themes/forty","collection":"themes","url":"/themes/forty/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Forty Jekyll Theme","description":"A visually striking multipurpose Jekyll theme inspired by HTML5 UP. Features tiled project sections and high-impact full-screen headers.","key_features":["Full-Screen Headers","Tiled Portfolio","Dark Mode","Striking Visuals"],"card_description":"Visually striking multipurpose theme with tiled sections and full-screen headers.","category":"Portfolio","card_image":"/assets/images/themes/forty-card.webp","theme_screenshots":["/assets/images/themes/forty-screenshot.webp","/assets/images/themes/forty-screenshot-2.webp","/assets/images/themes/forty-screenshot-3.webp"],"demo_url":"https://andrewbanchich.github.io/forty-jekyll-theme/","github_url":"https://github.com/andrewbanchich/forty-jekyll-theme","author":"GitHub Community","github_author_name":"Andrew Banchich","github_author_url":"https://github.com/andrewbanchich","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC3","stars":1100,"forks":1200,"features":["Tile-based portfolio grid","Full-screen banner","Dark/light tile contrast","Contact form","Portfolio and blog sections"],"slug":"forty","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/freelancer","collection":"themes","next":{"path":"_themes/hacker-blog.md","relative_path":"_themes/hacker-blog.md","id":"/themes/hacker-blog","collection":"themes","url":"/themes/hacker-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Blog Jekyll Theme","description":"A minimal, terminal-inspired dark Jekyll blog theme for developers. Pure CLI aesthetic — black background, monospace font, zero distractions.","key_features":["Terminal Aesthetic","GitHub Pages","Fast Loading","Minimal Design"],"card_description":"Terminal-inspired dark blog — monospace, minimal, distraction-free.","category":"Blog","card_image":"/assets/images/themes/hacker-blog-card.webp","theme_screenshots":["/assets/images/themes/hacker-blog-screenshot.webp","/assets/images/themes/hacker-blog-screenshot-2.webp","/assets/images/themes/hacker-blog-screenshot-3.webp"],"demo_url":"https://tocttou.github.io/hacker-blog/","github_url":"https://github.com/tocttou/hacker-blog","author":"GitHub Community","github_author_name":"Ashish Chaudhary","github_author_url":"https://github.com/tocttou","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-03-05","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1200,"forks":380,"features":["Terminal-inspired aesthetic","Pure dark mode","Minimal layout","Fast loading","No JavaScript"],"slug":"hacker-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Freelancer is a Jekyll port of Start Bootstrap's popular Freelancer theme — a one-page scrolling layout built for designers and developers showcasing their work.\n\nThe portfolio grid opens each project in a modal overlay, keeping the visitor on the same page. A flat design aesthetic with bold colours makes it stand out without being cluttered.\n\n**Who is it for?** Freelancers and designers who want a polished single-page portfolio to showcase their work and attract clients.\n","url":"/themes/freelancer/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Freelancer Jekyll Theme","description":"A flat design landing page and portfolio Jekyll theme based on the popular Freelancer Bootstrap theme by Start Bootstrap.","key_features":["One-Page Portfolio","Project Showcase","Contact Form","Bootstrap Based"],"card_description":"Flat design portfolio and landing page theme for freelancers.","category":"Portfolio","card_image":"/assets/images/themes/freelancer-card.webp","theme_screenshots":["/assets/images/themes/freelancer-screenshot.webp","/assets/images/themes/freelancer-screenshot-2.webp","/assets/images/themes/freelancer-screenshot-3.webp"],"demo_url":"https://jeromelachaud.com/freelancer-theme/","github_url":"https://github.com/jeromelachaud/freelancer-theme","author":"GitHub Community","github_author_name":"Jerome Lachaud","github_author_url":"https://github.com/jeromelachaud","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1488,"forks":623,"features":["One-page scrolling layout","Portfolio grid with modals","Flat design aesthetic","Bootstrap 3 powered","Contact form section","Smooth scroll navigation","Animated header","Skills section","GitHub Pages compatible","Fully responsive"],"slug":"freelancer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Forty is a Jekyll port of the popular HTML5 UP design of the same name. Its bold tile-based layout creates a striking visual grid where each tile can show off a project, case study, or article.\n\nThe alternating dark and light tiles create visual rhythm and make each piece of work feel intentional.\n\n**Who is it for?** Designers, photographers, and creatives who want a visually bold portfolio site that showcases work in large format.\n","url":"/themes/forty/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Forty Jekyll Theme","description":"A visually striking multipurpose Jekyll theme inspired by HTML5 UP. Features tiled project sections and high-impact full-screen headers.","key_features":["Full-Screen Headers","Tiled Portfolio","Dark Mode","Striking Visuals"],"card_description":"Visually striking multipurpose theme with tiled sections and full-screen headers.","category":"Portfolio","card_image":"/assets/images/themes/forty-card.webp","theme_screenshots":["/assets/images/themes/forty-screenshot.webp","/assets/images/themes/forty-screenshot-2.webp","/assets/images/themes/forty-screenshot-3.webp"],"demo_url":"https://andrewbanchich.github.io/forty-jekyll-theme/","github_url":"https://github.com/andrewbanchich/forty-jekyll-theme","author":"GitHub Community","github_author_name":"Andrew Banchich","github_author_url":"https://github.com/andrewbanchich","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC3","stars":1100,"forks":1200,"features":["Tile-based portfolio grid","Full-screen banner","Dark/light tile contrast","Contact form","Portfolio and blog sections"],"slug":"forty","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/freelancer.md","relative_path":"_themes/freelancer.md","excerpt":"<p>Freelancer is a Jekyll port of Start Bootstrap’s popular Freelancer theme — a one-page scrolling layout built for designers and developers showcasing their work.</p>\n\n","previous":{"path":"_themes/forty.md","relative_path":"_themes/forty.md","excerpt":"<p>Forty is a Jekyll port of the popular HTML5 UP design of the same name. Its bold tile-based layout creates a striking visual grid where each tile can show off a project, case study, or article.</p>\n\n","previous":{"path":"_themes/flexible-jekyll.md","relative_path":"_themes/flexible-jekyll.md","id":"/themes/flexible-jekyll","collection":"themes","url":"/themes/flexible-jekyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Flexible Jekyll","description":"A simple and clean Jekyll theme with a minimal design, dark mode support, tag pages, and a flexible two-column layout.","key_features":["Dark Mode","Two-Column Layout","Tag Pages","Clean Design"],"card_description":"Simple, clean blog with dark mode and flexible two-column layout.","category":"Blog","card_image":"/assets/images/themes/flexible-jekyll-card.webp","theme_screenshots":["/assets/images/themes/flexible-jekyll-screenshot.webp","/assets/images/themes/flexible-jekyll-screenshot-2.webp","/assets/images/themes/flexible-jekyll-screenshot-3.webp"],"demo_url":"https://artemsheludko.github.io/flexible-jekyll/","github_url":"https://github.com/artemsheludko/flexible-jekyll","author":"GitHub Community","github_author_name":"artemsheludko","github_author_url":"https://github.com/artemsheludko","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2025-06-21","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":782,"forks":449,"features":["Light and dark mode","Two-column layout","Tag archive pages","Author sidebar","Featured post images","Disqus comments","Google Analytics","Social media links","GitHub Pages compatible","Clean minimal design"],"slug":"flexible-jekyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/forty","collection":"themes","next":{"path":"_themes/freelancer.md","relative_path":"_themes/freelancer.md","id":"/themes/freelancer","collection":"themes","url":"/themes/freelancer/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Freelancer Jekyll Theme","description":"A flat design landing page and portfolio Jekyll theme based on the popular Freelancer Bootstrap theme by Start Bootstrap.","key_features":["One-Page Portfolio","Project Showcase","Contact Form","Bootstrap Based"],"card_description":"Flat design portfolio and landing page theme for freelancers.","category":"Portfolio","card_image":"/assets/images/themes/freelancer-card.webp","theme_screenshots":["/assets/images/themes/freelancer-screenshot.webp","/assets/images/themes/freelancer-screenshot-2.webp","/assets/images/themes/freelancer-screenshot-3.webp"],"demo_url":"https://jeromelachaud.com/freelancer-theme/","github_url":"https://github.com/jeromelachaud/freelancer-theme","author":"GitHub Community","github_author_name":"Jerome Lachaud","github_author_url":"https://github.com/jeromelachaud","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1488,"forks":623,"features":["One-page scrolling layout","Portfolio grid with modals","Flat design aesthetic","Bootstrap 3 powered","Contact form section","Smooth scroll navigation","Animated header","Skills section","GitHub Pages compatible","Fully responsive"],"slug":"freelancer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Forty is a Jekyll port of the popular HTML5 UP design of the same name. Its bold tile-based layout creates a striking visual grid where each tile can show off a project, case study, or article.\n\nThe alternating dark and light tiles create visual rhythm and make each piece of work feel intentional.\n\n**Who is it for?** Designers, photographers, and creatives who want a visually bold portfolio site that showcases work in large format.\n","url":"/themes/forty/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Forty Jekyll Theme","description":"A visually striking multipurpose Jekyll theme inspired by HTML5 UP. Features tiled project sections and high-impact full-screen headers.","key_features":["Full-Screen Headers","Tiled Portfolio","Dark Mode","Striking Visuals"],"card_description":"Visually striking multipurpose theme with tiled sections and full-screen headers.","category":"Portfolio","card_image":"/assets/images/themes/forty-card.webp","theme_screenshots":["/assets/images/themes/forty-screenshot.webp","/assets/images/themes/forty-screenshot-2.webp","/assets/images/themes/forty-screenshot-3.webp"],"demo_url":"https://andrewbanchich.github.io/forty-jekyll-theme/","github_url":"https://github.com/andrewbanchich/forty-jekyll-theme","author":"GitHub Community","github_author_name":"Andrew Banchich","github_author_url":"https://github.com/andrewbanchich","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC3","stars":1100,"forks":1200,"features":["Tile-based portfolio grid","Full-screen banner","Dark/light tile contrast","Contact form","Portfolio and blog sections"],"slug":"forty","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/freelancer","collection":"themes","next":{"path":"_themes/hacker-blog.md","relative_path":"_themes/hacker-blog.md","excerpt":"<p>Hacker Blog is a no-frills, terminal-inspired Jekyll blog theme for developers who want their writing space to feel like their workspace. Black background, monospace font, green or white text — that’s it.</p>\n\n","previous":{"path":"_themes/freelancer.md","relative_path":"_themes/freelancer.md","id":"/themes/freelancer","collection":"themes","url":"/themes/freelancer/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Freelancer Jekyll Theme","description":"A flat design landing page and portfolio Jekyll theme based on the popular Freelancer Bootstrap theme by Start Bootstrap.","key_features":["One-Page Portfolio","Project Showcase","Contact Form","Bootstrap Based"],"card_description":"Flat design portfolio and landing page theme for freelancers.","category":"Portfolio","card_image":"/assets/images/themes/freelancer-card.webp","theme_screenshots":["/assets/images/themes/freelancer-screenshot.webp","/assets/images/themes/freelancer-screenshot-2.webp","/assets/images/themes/freelancer-screenshot-3.webp"],"demo_url":"https://jeromelachaud.com/freelancer-theme/","github_url":"https://github.com/jeromelachaud/freelancer-theme","author":"GitHub Community","github_author_name":"Jerome Lachaud","github_author_url":"https://github.com/jeromelachaud","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1488,"forks":623,"features":["One-page scrolling layout","Portfolio grid with modals","Flat design aesthetic","Bootstrap 3 powered","Contact form section","Smooth scroll navigation","Animated header","Skills section","GitHub Pages compatible","Fully responsive"],"slug":"freelancer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hacker-blog","collection":"themes","next":{"path":"_themes/hacker.md","relative_path":"_themes/hacker.md","id":"/themes/hacker","collection":"themes","url":"/themes/hacker/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Jekyll Theme","description":"The official GitHub Pages hacker Jekyll theme. Dark terminal-style design with monospace typography, built for developer project pages.","key_features":["Hacker Style","GitHub Pages","Minimal Design","Fast Loading"],"card_description":"Official GitHub Pages hacker theme with dark terminal-style design.","category":"Personal","card_image":"/assets/images/themes/hacker-card.webp","theme_screenshots":["/assets/images/themes/hacker-screenshot.webp","/assets/images/themes/hacker-screenshot-2.webp","/assets/images/themes/hacker-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/hacker/","github_url":"https://github.com/pages-themes/hacker","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":600,"features":["Official GitHub Pages supported theme","Terminal-inspired green-on-black colour scheme","Monospace typography throughout","Responsive layout","Single-line enable via _config.yml","No local setup required","Instant dark aesthetic"],"slug":"hacker","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hacker Blog is a no-frills, terminal-inspired Jekyll blog theme for developers who want their writing space to feel like their workspace. Black background, monospace font, green or white text — that's it.\n\nNo images, no social buttons, no distractions. Just your words, formatted like a terminal.\n\n**Who is it for?** Developers and hackers who want a minimal, dark, CLI-aesthetic blog.\n","url":"/themes/hacker-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Blog Jekyll Theme","description":"A minimal, terminal-inspired dark Jekyll blog theme for developers. Pure CLI aesthetic — black background, monospace font, zero distractions.","key_features":["Terminal Aesthetic","GitHub Pages","Fast Loading","Minimal Design"],"card_description":"Terminal-inspired dark blog — monospace, minimal, distraction-free.","category":"Blog","card_image":"/assets/images/themes/hacker-blog-card.webp","theme_screenshots":["/assets/images/themes/hacker-blog-screenshot.webp","/assets/images/themes/hacker-blog-screenshot-2.webp","/assets/images/themes/hacker-blog-screenshot-3.webp"],"demo_url":"https://tocttou.github.io/hacker-blog/","github_url":"https://github.com/tocttou/hacker-blog","author":"GitHub Community","github_author_name":"Ashish Chaudhary","github_author_url":"https://github.com/tocttou","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-03-05","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1200,"forks":380,"features":["Terminal-inspired aesthetic","Pure dark mode","Minimal layout","Fast loading","No JavaScript"],"slug":"hacker-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Freelancer is a Jekyll port of Start Bootstrap's popular Freelancer theme — a one-page scrolling layout built for designers and developers showcasing their work.\n\nThe portfolio grid opens each project in a modal overlay, keeping the visitor on the same page. A flat design aesthetic with bold colours makes it stand out without being cluttered.\n\n**Who is it for?** Freelancers and designers who want a polished single-page portfolio to showcase their work and attract clients.\n","url":"/themes/freelancer/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Freelancer Jekyll Theme","description":"A flat design landing page and portfolio Jekyll theme based on the popular Freelancer Bootstrap theme by Start Bootstrap.","key_features":["One-Page Portfolio","Project Showcase","Contact Form","Bootstrap Based"],"card_description":"Flat design portfolio and landing page theme for freelancers.","category":"Portfolio","card_image":"/assets/images/themes/freelancer-card.webp","theme_screenshots":["/assets/images/themes/freelancer-screenshot.webp","/assets/images/themes/freelancer-screenshot-2.webp","/assets/images/themes/freelancer-screenshot-3.webp"],"demo_url":"https://jeromelachaud.com/freelancer-theme/","github_url":"https://github.com/jeromelachaud/freelancer-theme","author":"GitHub Community","github_author_name":"Jerome Lachaud","github_author_url":"https://github.com/jeromelachaud","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1488,"forks":623,"features":["One-page scrolling layout","Portfolio grid with modals","Flat design aesthetic","Bootstrap 3 powered","Contact form section","Smooth scroll navigation","Animated header","Skills section","GitHub Pages compatible","Fully responsive"],"slug":"freelancer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/hacker-blog.md","relative_path":"_themes/hacker-blog.md","excerpt":"<p>Hacker Blog is a no-frills, terminal-inspired Jekyll blog theme for developers who want their writing space to feel like their workspace. Black background, monospace font, green or white text — that’s it.</p>\n\n","previous":{"path":"_themes/freelancer.md","relative_path":"_themes/freelancer.md","excerpt":"<p>Freelancer is a Jekyll port of Start Bootstrap’s popular Freelancer theme — a one-page scrolling layout built for designers and developers showcasing their work.</p>\n\n","previous":{"path":"_themes/forty.md","relative_path":"_themes/forty.md","id":"/themes/forty","collection":"themes","url":"/themes/forty/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Forty Jekyll Theme","description":"A visually striking multipurpose Jekyll theme inspired by HTML5 UP. Features tiled project sections and high-impact full-screen headers.","key_features":["Full-Screen Headers","Tiled Portfolio","Dark Mode","Striking Visuals"],"card_description":"Visually striking multipurpose theme with tiled sections and full-screen headers.","category":"Portfolio","card_image":"/assets/images/themes/forty-card.webp","theme_screenshots":["/assets/images/themes/forty-screenshot.webp","/assets/images/themes/forty-screenshot-2.webp","/assets/images/themes/forty-screenshot-3.webp"],"demo_url":"https://andrewbanchich.github.io/forty-jekyll-theme/","github_url":"https://github.com/andrewbanchich/forty-jekyll-theme","author":"GitHub Community","github_author_name":"Andrew Banchich","github_author_url":"https://github.com/andrewbanchich","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC3","stars":1100,"forks":1200,"features":["Tile-based portfolio grid","Full-screen banner","Dark/light tile contrast","Contact form","Portfolio and blog sections"],"slug":"forty","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/freelancer","collection":"themes","next":{"path":"_themes/hacker-blog.md","relative_path":"_themes/hacker-blog.md","id":"/themes/hacker-blog","collection":"themes","url":"/themes/hacker-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Blog Jekyll Theme","description":"A minimal, terminal-inspired dark Jekyll blog theme for developers. Pure CLI aesthetic — black background, monospace font, zero distractions.","key_features":["Terminal Aesthetic","GitHub Pages","Fast Loading","Minimal Design"],"card_description":"Terminal-inspired dark blog — monospace, minimal, distraction-free.","category":"Blog","card_image":"/assets/images/themes/hacker-blog-card.webp","theme_screenshots":["/assets/images/themes/hacker-blog-screenshot.webp","/assets/images/themes/hacker-blog-screenshot-2.webp","/assets/images/themes/hacker-blog-screenshot-3.webp"],"demo_url":"https://tocttou.github.io/hacker-blog/","github_url":"https://github.com/tocttou/hacker-blog","author":"GitHub Community","github_author_name":"Ashish Chaudhary","github_author_url":"https://github.com/tocttou","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-03-05","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1200,"forks":380,"features":["Terminal-inspired aesthetic","Pure dark mode","Minimal layout","Fast loading","No JavaScript"],"slug":"hacker-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Freelancer is a Jekyll port of Start Bootstrap's popular Freelancer theme — a one-page scrolling layout built for designers and developers showcasing their work.\n\nThe portfolio grid opens each project in a modal overlay, keeping the visitor on the same page. A flat design aesthetic with bold colours makes it stand out without being cluttered.\n\n**Who is it for?** Freelancers and designers who want a polished single-page portfolio to showcase their work and attract clients.\n","url":"/themes/freelancer/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Freelancer Jekyll Theme","description":"A flat design landing page and portfolio Jekyll theme based on the popular Freelancer Bootstrap theme by Start Bootstrap.","key_features":["One-Page Portfolio","Project Showcase","Contact Form","Bootstrap Based"],"card_description":"Flat design portfolio and landing page theme for freelancers.","category":"Portfolio","card_image":"/assets/images/themes/freelancer-card.webp","theme_screenshots":["/assets/images/themes/freelancer-screenshot.webp","/assets/images/themes/freelancer-screenshot-2.webp","/assets/images/themes/freelancer-screenshot-3.webp"],"demo_url":"https://jeromelachaud.com/freelancer-theme/","github_url":"https://github.com/jeromelachaud/freelancer-theme","author":"GitHub Community","github_author_name":"Jerome Lachaud","github_author_url":"https://github.com/jeromelachaud","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1488,"forks":623,"features":["One-page scrolling layout","Portfolio grid with modals","Flat design aesthetic","Bootstrap 3 powered","Contact form section","Smooth scroll navigation","Animated header","Skills section","GitHub Pages compatible","Fully responsive"],"slug":"freelancer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hacker-blog","collection":"themes","next":{"path":"_themes/hacker.md","relative_path":"_themes/hacker.md","excerpt":"<p>Hacker is GitHub’s terminal-aesthetic official theme — green text on a black background, monospace type throughout, and the unmistakable look of a classic command-line interface. It’s the most distinctive of the official themes and immediately signals a technical, developer identity.</p>\n\n","previous":{"path":"_themes/hacker-blog.md","relative_path":"_themes/hacker-blog.md","id":"/themes/hacker-blog","collection":"themes","url":"/themes/hacker-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Blog Jekyll Theme","description":"A minimal, terminal-inspired dark Jekyll blog theme for developers. Pure CLI aesthetic — black background, monospace font, zero distractions.","key_features":["Terminal Aesthetic","GitHub Pages","Fast Loading","Minimal Design"],"card_description":"Terminal-inspired dark blog — monospace, minimal, distraction-free.","category":"Blog","card_image":"/assets/images/themes/hacker-blog-card.webp","theme_screenshots":["/assets/images/themes/hacker-blog-screenshot.webp","/assets/images/themes/hacker-blog-screenshot-2.webp","/assets/images/themes/hacker-blog-screenshot-3.webp"],"demo_url":"https://tocttou.github.io/hacker-blog/","github_url":"https://github.com/tocttou/hacker-blog","author":"GitHub Community","github_author_name":"Ashish Chaudhary","github_author_url":"https://github.com/tocttou","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-03-05","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1200,"forks":380,"features":["Terminal-inspired aesthetic","Pure dark mode","Minimal layout","Fast loading","No JavaScript"],"slug":"hacker-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hacker","collection":"themes","next":{"path":"_themes/hitchens.md","relative_path":"_themes/hitchens.md","id":"/themes/hitchens","collection":"themes","url":"/themes/hitchens/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hitchens Jekyll Theme","description":"An unfussy Jekyll theme for serious writers. Minimal design, elegant typography, and a dark mode — inspired by the prose of Christopher Hitchens.","key_features":["Minimal Design","Typography Focus","Reading Time","GitHub Pages"],"card_description":"Unfussy, elegant theme for serious writers with dark mode built in.","category":"Blog","card_image":"/assets/images/themes/hitchens-card.webp","theme_screenshots":["/assets/images/themes/hitchens-screenshot.webp","/assets/images/themes/hitchens-screenshot-2.webp","/assets/images/themes/hitchens-screenshot-3.webp"],"demo_url":"https://hitchens.patdryburgh.com/","github_url":"https://github.com/patdryburgh/hitchens","author":"GitHub Community","github_author_name":"patdryburgh","github_author_url":"https://github.com/patdryburgh","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":381,"forks":146,"features":["Typography-first design","Built-in dark mode","Minimal navigation","Clean post layout","Reading time estimate","Tag pages","RSS feed","GitHub Pages compatible","No JavaScript dependencies","Print-friendly styles"],"slug":"hitchens","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hacker is GitHub's terminal-aesthetic official theme — green text on a black background, monospace type throughout, and the unmistakable look of a classic command-line interface. It's the most distinctive of the official themes and immediately signals a technical, developer identity.\n\nAs an official GitHub Pages theme, setup is a single line in `_config.yml`. It's a popular choice for security researchers, CTF writeups, developer portfolios, and any project that wants to wear its technical credentials visually.\n\n**Who is it for?** Developers, security researchers, and technical writers who want their site to look like it was built by someone who knows their way around a terminal.\n","url":"/themes/hacker/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Jekyll Theme","description":"The official GitHub Pages hacker Jekyll theme. Dark terminal-style design with monospace typography, built for developer project pages.","key_features":["Hacker Style","GitHub Pages","Minimal Design","Fast Loading"],"card_description":"Official GitHub Pages hacker theme with dark terminal-style design.","category":"Personal","card_image":"/assets/images/themes/hacker-card.webp","theme_screenshots":["/assets/images/themes/hacker-screenshot.webp","/assets/images/themes/hacker-screenshot-2.webp","/assets/images/themes/hacker-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/hacker/","github_url":"https://github.com/pages-themes/hacker","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":600,"features":["Official GitHub Pages supported theme","Terminal-inspired green-on-black colour scheme","Monospace typography throughout","Responsive layout","Single-line enable via _config.yml","No local setup required","Instant dark aesthetic"],"slug":"hacker","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hacker Blog is a no-frills, terminal-inspired Jekyll blog theme for developers who want their writing space to feel like their workspace. Black background, monospace font, green or white text — that's it.\n\nNo images, no social buttons, no distractions. Just your words, formatted like a terminal.\n\n**Who is it for?** Developers and hackers who want a minimal, dark, CLI-aesthetic blog.\n","url":"/themes/hacker-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Blog Jekyll Theme","description":"A minimal, terminal-inspired dark Jekyll blog theme for developers. Pure CLI aesthetic — black background, monospace font, zero distractions.","key_features":["Terminal Aesthetic","GitHub Pages","Fast Loading","Minimal Design"],"card_description":"Terminal-inspired dark blog — monospace, minimal, distraction-free.","category":"Blog","card_image":"/assets/images/themes/hacker-blog-card.webp","theme_screenshots":["/assets/images/themes/hacker-blog-screenshot.webp","/assets/images/themes/hacker-blog-screenshot-2.webp","/assets/images/themes/hacker-blog-screenshot-3.webp"],"demo_url":"https://tocttou.github.io/hacker-blog/","github_url":"https://github.com/tocttou/hacker-blog","author":"GitHub Community","github_author_name":"Ashish Chaudhary","github_author_url":"https://github.com/tocttou","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-03-05","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1200,"forks":380,"features":["Terminal-inspired aesthetic","Pure dark mode","Minimal layout","Fast loading","No JavaScript"],"slug":"hacker-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/hacker.md","relative_path":"_themes/hacker.md","excerpt":"<p>Hacker is GitHub’s terminal-aesthetic official theme — green text on a black background, monospace type throughout, and the unmistakable look of a classic command-line interface. It’s the most distinctive of the official themes and immediately signals a technical, developer identity.</p>\n\n","previous":{"path":"_themes/hacker-blog.md","relative_path":"_themes/hacker-blog.md","excerpt":"<p>Hacker Blog is a no-frills, terminal-inspired Jekyll blog theme for developers who want their writing space to feel like their workspace. Black background, monospace font, green or white text — that’s it.</p>\n\n","previous":{"path":"_themes/freelancer.md","relative_path":"_themes/freelancer.md","id":"/themes/freelancer","collection":"themes","url":"/themes/freelancer/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Freelancer Jekyll Theme","description":"A flat design landing page and portfolio Jekyll theme based on the popular Freelancer Bootstrap theme by Start Bootstrap.","key_features":["One-Page Portfolio","Project Showcase","Contact Form","Bootstrap Based"],"card_description":"Flat design portfolio and landing page theme for freelancers.","category":"Portfolio","card_image":"/assets/images/themes/freelancer-card.webp","theme_screenshots":["/assets/images/themes/freelancer-screenshot.webp","/assets/images/themes/freelancer-screenshot-2.webp","/assets/images/themes/freelancer-screenshot-3.webp"],"demo_url":"https://jeromelachaud.com/freelancer-theme/","github_url":"https://github.com/jeromelachaud/freelancer-theme","author":"GitHub Community","github_author_name":"Jerome Lachaud","github_author_url":"https://github.com/jeromelachaud","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-20","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1488,"forks":623,"features":["One-page scrolling layout","Portfolio grid with modals","Flat design aesthetic","Bootstrap 3 powered","Contact form section","Smooth scroll navigation","Animated header","Skills section","GitHub Pages compatible","Fully responsive"],"slug":"freelancer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hacker-blog","collection":"themes","next":{"path":"_themes/hacker.md","relative_path":"_themes/hacker.md","id":"/themes/hacker","collection":"themes","url":"/themes/hacker/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Jekyll Theme","description":"The official GitHub Pages hacker Jekyll theme. Dark terminal-style design with monospace typography, built for developer project pages.","key_features":["Hacker Style","GitHub Pages","Minimal Design","Fast Loading"],"card_description":"Official GitHub Pages hacker theme with dark terminal-style design.","category":"Personal","card_image":"/assets/images/themes/hacker-card.webp","theme_screenshots":["/assets/images/themes/hacker-screenshot.webp","/assets/images/themes/hacker-screenshot-2.webp","/assets/images/themes/hacker-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/hacker/","github_url":"https://github.com/pages-themes/hacker","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":600,"features":["Official GitHub Pages supported theme","Terminal-inspired green-on-black colour scheme","Monospace typography throughout","Responsive layout","Single-line enable via _config.yml","No local setup required","Instant dark aesthetic"],"slug":"hacker","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hacker Blog is a no-frills, terminal-inspired Jekyll blog theme for developers who want their writing space to feel like their workspace. Black background, monospace font, green or white text — that's it.\n\nNo images, no social buttons, no distractions. Just your words, formatted like a terminal.\n\n**Who is it for?** Developers and hackers who want a minimal, dark, CLI-aesthetic blog.\n","url":"/themes/hacker-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Blog Jekyll Theme","description":"A minimal, terminal-inspired dark Jekyll blog theme for developers. Pure CLI aesthetic — black background, monospace font, zero distractions.","key_features":["Terminal Aesthetic","GitHub Pages","Fast Loading","Minimal Design"],"card_description":"Terminal-inspired dark blog — monospace, minimal, distraction-free.","category":"Blog","card_image":"/assets/images/themes/hacker-blog-card.webp","theme_screenshots":["/assets/images/themes/hacker-blog-screenshot.webp","/assets/images/themes/hacker-blog-screenshot-2.webp","/assets/images/themes/hacker-blog-screenshot-3.webp"],"demo_url":"https://tocttou.github.io/hacker-blog/","github_url":"https://github.com/tocttou/hacker-blog","author":"GitHub Community","github_author_name":"Ashish Chaudhary","github_author_url":"https://github.com/tocttou","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-03-05","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1200,"forks":380,"features":["Terminal-inspired aesthetic","Pure dark mode","Minimal layout","Fast loading","No JavaScript"],"slug":"hacker-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hacker","collection":"themes","next":{"path":"_themes/hitchens.md","relative_path":"_themes/hitchens.md","excerpt":"<p>Hitchens is named after Christopher Hitchens and designed for writers who share his devotion to the written word. The design is austere by intention — every pixel either serves the text or stays out of the way.</p>\n\n","previous":{"path":"_themes/hacker.md","relative_path":"_themes/hacker.md","id":"/themes/hacker","collection":"themes","url":"/themes/hacker/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Jekyll Theme","description":"The official GitHub Pages hacker Jekyll theme. Dark terminal-style design with monospace typography, built for developer project pages.","key_features":["Hacker Style","GitHub Pages","Minimal Design","Fast Loading"],"card_description":"Official GitHub Pages hacker theme with dark terminal-style design.","category":"Personal","card_image":"/assets/images/themes/hacker-card.webp","theme_screenshots":["/assets/images/themes/hacker-screenshot.webp","/assets/images/themes/hacker-screenshot-2.webp","/assets/images/themes/hacker-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/hacker/","github_url":"https://github.com/pages-themes/hacker","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":600,"features":["Official GitHub Pages supported theme","Terminal-inspired green-on-black colour scheme","Monospace typography throughout","Responsive layout","Single-line enable via _config.yml","No local setup required","Instant dark aesthetic"],"slug":"hacker","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hitchens","collection":"themes","next":{"path":"_themes/hpstr.md","relative_path":"_themes/hpstr.md","id":"/themes/hpstr","collection":"themes","url":"/themes/hpstr/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"HPSTR Jekyll Theme","description":"A responsive, full-featured Jekyll blog theme by Michael Rose. Rich with image-forward posts, sliding panel navigation, and social sharing.","key_features":["Featured Images","Sliding Navigation","Social Sharing","GitHub Pages"],"card_description":"Image-forward blog with sliding panel navigation and social sharing.","category":"Blog","card_image":"/assets/images/themes/hpstr-card.webp","theme_screenshots":["/assets/images/themes/hpstr-screenshot.webp","/assets/images/themes/hpstr-screenshot-2.webp","/assets/images/themes/hpstr-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/hpstr-jekyll-theme/","github_url":"https://github.com/mmistakes/hpstr-jekyll-theme","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2021-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1100,"forks":700,"features":["Large featured header images per post","Smooth CSS animations and transitions","Responsive mobile-first design","Sliding menu navigation","Disqus comments","Google Analytics","Tag and category pages","Syntax highlighting","Social sharing buttons","GitHub Pages compatible"],"slug":"hpstr","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hitchens is named after Christopher Hitchens and designed for writers who share his devotion to the written word. The design is austere by intention — every pixel either serves the text or stays out of the way.\n\nDark mode is built in and toggleable, and the theme runs without a single line of JavaScript on the reader's device.\n\n**Who is it for?** Essayists, journalists, and serious writers who want a sophisticated, literary reading experience.\n","url":"/themes/hitchens/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hitchens Jekyll Theme","description":"An unfussy Jekyll theme for serious writers. Minimal design, elegant typography, and a dark mode — inspired by the prose of Christopher Hitchens.","key_features":["Minimal Design","Typography Focus","Reading Time","GitHub Pages"],"card_description":"Unfussy, elegant theme for serious writers with dark mode built in.","category":"Blog","card_image":"/assets/images/themes/hitchens-card.webp","theme_screenshots":["/assets/images/themes/hitchens-screenshot.webp","/assets/images/themes/hitchens-screenshot-2.webp","/assets/images/themes/hitchens-screenshot-3.webp"],"demo_url":"https://hitchens.patdryburgh.com/","github_url":"https://github.com/patdryburgh/hitchens","author":"GitHub Community","github_author_name":"patdryburgh","github_author_url":"https://github.com/patdryburgh","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":381,"forks":146,"features":["Typography-first design","Built-in dark mode","Minimal navigation","Clean post layout","Reading time estimate","Tag pages","RSS feed","GitHub Pages compatible","No JavaScript dependencies","Print-friendly styles"],"slug":"hitchens","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hacker is GitHub's terminal-aesthetic official theme — green text on a black background, monospace type throughout, and the unmistakable look of a classic command-line interface. It's the most distinctive of the official themes and immediately signals a technical, developer identity.\n\nAs an official GitHub Pages theme, setup is a single line in `_config.yml`. It's a popular choice for security researchers, CTF writeups, developer portfolios, and any project that wants to wear its technical credentials visually.\n\n**Who is it for?** Developers, security researchers, and technical writers who want their site to look like it was built by someone who knows their way around a terminal.\n","url":"/themes/hacker/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Jekyll Theme","description":"The official GitHub Pages hacker Jekyll theme. Dark terminal-style design with monospace typography, built for developer project pages.","key_features":["Hacker Style","GitHub Pages","Minimal Design","Fast Loading"],"card_description":"Official GitHub Pages hacker theme with dark terminal-style design.","category":"Personal","card_image":"/assets/images/themes/hacker-card.webp","theme_screenshots":["/assets/images/themes/hacker-screenshot.webp","/assets/images/themes/hacker-screenshot-2.webp","/assets/images/themes/hacker-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/hacker/","github_url":"https://github.com/pages-themes/hacker","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":600,"features":["Official GitHub Pages supported theme","Terminal-inspired green-on-black colour scheme","Monospace typography throughout","Responsive layout","Single-line enable via _config.yml","No local setup required","Instant dark aesthetic"],"slug":"hacker","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/hitchens.md","relative_path":"_themes/hitchens.md","excerpt":"<p>Hitchens is named after Christopher Hitchens and designed for writers who share his devotion to the written word. The design is austere by intention — every pixel either serves the text or stays out of the way.</p>\n\n","previous":{"path":"_themes/hacker.md","relative_path":"_themes/hacker.md","excerpt":"<p>Hacker is GitHub’s terminal-aesthetic official theme — green text on a black background, monospace type throughout, and the unmistakable look of a classic command-line interface. It’s the most distinctive of the official themes and immediately signals a technical, developer identity.</p>\n\n","previous":{"path":"_themes/hacker-blog.md","relative_path":"_themes/hacker-blog.md","id":"/themes/hacker-blog","collection":"themes","url":"/themes/hacker-blog/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Blog Jekyll Theme","description":"A minimal, terminal-inspired dark Jekyll blog theme for developers. Pure CLI aesthetic — black background, monospace font, zero distractions.","key_features":["Terminal Aesthetic","GitHub Pages","Fast Loading","Minimal Design"],"card_description":"Terminal-inspired dark blog — monospace, minimal, distraction-free.","category":"Blog","card_image":"/assets/images/themes/hacker-blog-card.webp","theme_screenshots":["/assets/images/themes/hacker-blog-screenshot.webp","/assets/images/themes/hacker-blog-screenshot-2.webp","/assets/images/themes/hacker-blog-screenshot-3.webp"],"demo_url":"https://tocttou.github.io/hacker-blog/","github_url":"https://github.com/tocttou/hacker-blog","author":"GitHub Community","github_author_name":"Ashish Chaudhary","github_author_url":"https://github.com/tocttou","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-03-05","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1200,"forks":380,"features":["Terminal-inspired aesthetic","Pure dark mode","Minimal layout","Fast loading","No JavaScript"],"slug":"hacker-blog","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hacker","collection":"themes","next":{"path":"_themes/hitchens.md","relative_path":"_themes/hitchens.md","id":"/themes/hitchens","collection":"themes","url":"/themes/hitchens/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hitchens Jekyll Theme","description":"An unfussy Jekyll theme for serious writers. Minimal design, elegant typography, and a dark mode — inspired by the prose of Christopher Hitchens.","key_features":["Minimal Design","Typography Focus","Reading Time","GitHub Pages"],"card_description":"Unfussy, elegant theme for serious writers with dark mode built in.","category":"Blog","card_image":"/assets/images/themes/hitchens-card.webp","theme_screenshots":["/assets/images/themes/hitchens-screenshot.webp","/assets/images/themes/hitchens-screenshot-2.webp","/assets/images/themes/hitchens-screenshot-3.webp"],"demo_url":"https://hitchens.patdryburgh.com/","github_url":"https://github.com/patdryburgh/hitchens","author":"GitHub Community","github_author_name":"patdryburgh","github_author_url":"https://github.com/patdryburgh","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":381,"forks":146,"features":["Typography-first design","Built-in dark mode","Minimal navigation","Clean post layout","Reading time estimate","Tag pages","RSS feed","GitHub Pages compatible","No JavaScript dependencies","Print-friendly styles"],"slug":"hitchens","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hacker is GitHub's terminal-aesthetic official theme — green text on a black background, monospace type throughout, and the unmistakable look of a classic command-line interface. It's the most distinctive of the official themes and immediately signals a technical, developer identity.\n\nAs an official GitHub Pages theme, setup is a single line in `_config.yml`. It's a popular choice for security researchers, CTF writeups, developer portfolios, and any project that wants to wear its technical credentials visually.\n\n**Who is it for?** Developers, security researchers, and technical writers who want their site to look like it was built by someone who knows their way around a terminal.\n","url":"/themes/hacker/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Jekyll Theme","description":"The official GitHub Pages hacker Jekyll theme. Dark terminal-style design with monospace typography, built for developer project pages.","key_features":["Hacker Style","GitHub Pages","Minimal Design","Fast Loading"],"card_description":"Official GitHub Pages hacker theme with dark terminal-style design.","category":"Personal","card_image":"/assets/images/themes/hacker-card.webp","theme_screenshots":["/assets/images/themes/hacker-screenshot.webp","/assets/images/themes/hacker-screenshot-2.webp","/assets/images/themes/hacker-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/hacker/","github_url":"https://github.com/pages-themes/hacker","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":600,"features":["Official GitHub Pages supported theme","Terminal-inspired green-on-black colour scheme","Monospace typography throughout","Responsive layout","Single-line enable via _config.yml","No local setup required","Instant dark aesthetic"],"slug":"hacker","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hitchens","collection":"themes","next":{"path":"_themes/hpstr.md","relative_path":"_themes/hpstr.md","excerpt":"<p>HPSTR (pronounced “hipster”) is one of Michael Rose’s earlier Jekyll themes and remains one of the most visually striking options in the ecosystem. Its defining feature is the large full-width header image on each post — combined with smooth CSS animations, it creates a reading experience that feels polished and intentional.</p>\n\n","previous":{"path":"_themes/hitchens.md","relative_path":"_themes/hitchens.md","id":"/themes/hitchens","collection":"themes","url":"/themes/hitchens/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hitchens Jekyll Theme","description":"An unfussy Jekyll theme for serious writers. Minimal design, elegant typography, and a dark mode — inspired by the prose of Christopher Hitchens.","key_features":["Minimal Design","Typography Focus","Reading Time","GitHub Pages"],"card_description":"Unfussy, elegant theme for serious writers with dark mode built in.","category":"Blog","card_image":"/assets/images/themes/hitchens-card.webp","theme_screenshots":["/assets/images/themes/hitchens-screenshot.webp","/assets/images/themes/hitchens-screenshot-2.webp","/assets/images/themes/hitchens-screenshot-3.webp"],"demo_url":"https://hitchens.patdryburgh.com/","github_url":"https://github.com/patdryburgh/hitchens","author":"GitHub Community","github_author_name":"patdryburgh","github_author_url":"https://github.com/patdryburgh","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":381,"forks":146,"features":["Typography-first design","Built-in dark mode","Minimal navigation","Clean post layout","Reading time estimate","Tag pages","RSS feed","GitHub Pages compatible","No JavaScript dependencies","Print-friendly styles"],"slug":"hitchens","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hpstr","collection":"themes","next":{"path":"_themes/huxpro.md","relative_path":"_themes/huxpro.md","id":"/themes/huxpro","collection":"themes","url":"/themes/huxpro/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Huxpro Jekyll Theme","description":"A beautiful, cover-image-driven Jekyll blog theme inspired by Ghost's Casper. Features full-screen hero images, smooth transitions, and a clean reading experience.","key_features":["Full-Screen Hero","Cover Images","Ghost-Inspired","Smooth Transitions"],"card_description":"Cover-image-driven blog inspired by Ghost's Casper theme.","category":"Blog","card_image":"/assets/images/themes/huxpro-card.webp","theme_screenshots":["/assets/images/themes/huxpro-screenshot.webp","/assets/images/themes/huxpro-screenshot-2.webp","/assets/images/themes/huxpro-screenshot-3.webp"],"demo_url":"https://huxpro.github.io/","github_url":"https://github.com/Huxpro/huxpro.github.io","author":"GitHub Community","github_author_name":"Huxpro","github_author_url":"https://github.com/Huxpro","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-08","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":5400,"forks":1800,"features":["Full-screen cover image per post","Ghost Casper-inspired design","Smooth page transitions","Disqus comments support","Google Analytics integration","Responsive layout","Tag pages","Chinese and English content support"],"slug":"huxpro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"HPSTR (pronounced \"hipster\") is one of Michael Rose's earlier Jekyll themes and remains one of the most visually striking options in the ecosystem. Its defining feature is the large full-width header image on each post — combined with smooth CSS animations, it creates a reading experience that feels polished and intentional.\n\nThe sliding navigation menu and responsive layout were ahead of their time when the theme launched, and the overall design has aged well. Rose is the author of Minimal Mistakes and So Simple, so the code quality and documentation are characteristically excellent.\n\n**Who is it for?** Bloggers who want a visually bold, image-forward theme with smooth animations and a strong sense of style — particularly those publishing photography, design, or creative work alongside writing.\n","url":"/themes/hpstr/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"HPSTR Jekyll Theme","description":"A responsive, full-featured Jekyll blog theme by Michael Rose. Rich with image-forward posts, sliding panel navigation, and social sharing.","key_features":["Featured Images","Sliding Navigation","Social Sharing","GitHub Pages"],"card_description":"Image-forward blog with sliding panel navigation and social sharing.","category":"Blog","card_image":"/assets/images/themes/hpstr-card.webp","theme_screenshots":["/assets/images/themes/hpstr-screenshot.webp","/assets/images/themes/hpstr-screenshot-2.webp","/assets/images/themes/hpstr-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/hpstr-jekyll-theme/","github_url":"https://github.com/mmistakes/hpstr-jekyll-theme","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2021-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1100,"forks":700,"features":["Large featured header images per post","Smooth CSS animations and transitions","Responsive mobile-first design","Sliding menu navigation","Disqus comments","Google Analytics","Tag and category pages","Syntax highlighting","Social sharing buttons","GitHub Pages compatible"],"slug":"hpstr","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hitchens is named after Christopher Hitchens and designed for writers who share his devotion to the written word. The design is austere by intention — every pixel either serves the text or stays out of the way.\n\nDark mode is built in and toggleable, and the theme runs without a single line of JavaScript on the reader's device.\n\n**Who is it for?** Essayists, journalists, and serious writers who want a sophisticated, literary reading experience.\n","url":"/themes/hitchens/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hitchens Jekyll Theme","description":"An unfussy Jekyll theme for serious writers. Minimal design, elegant typography, and a dark mode — inspired by the prose of Christopher Hitchens.","key_features":["Minimal Design","Typography Focus","Reading Time","GitHub Pages"],"card_description":"Unfussy, elegant theme for serious writers with dark mode built in.","category":"Blog","card_image":"/assets/images/themes/hitchens-card.webp","theme_screenshots":["/assets/images/themes/hitchens-screenshot.webp","/assets/images/themes/hitchens-screenshot-2.webp","/assets/images/themes/hitchens-screenshot-3.webp"],"demo_url":"https://hitchens.patdryburgh.com/","github_url":"https://github.com/patdryburgh/hitchens","author":"GitHub Community","github_author_name":"patdryburgh","github_author_url":"https://github.com/patdryburgh","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":381,"forks":146,"features":["Typography-first design","Built-in dark mode","Minimal navigation","Clean post layout","Reading time estimate","Tag pages","RSS feed","GitHub Pages compatible","No JavaScript dependencies","Print-friendly styles"],"slug":"hitchens","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/hpstr.md","relative_path":"_themes/hpstr.md","excerpt":"<p>HPSTR (pronounced “hipster”) is one of Michael Rose’s earlier Jekyll themes and remains one of the most visually striking options in the ecosystem. Its defining feature is the large full-width header image on each post — combined with smooth CSS animations, it creates a reading experience that feels polished and intentional.</p>\n\n","previous":{"path":"_themes/hitchens.md","relative_path":"_themes/hitchens.md","excerpt":"<p>Hitchens is named after Christopher Hitchens and designed for writers who share his devotion to the written word. The design is austere by intention — every pixel either serves the text or stays out of the way.</p>\n\n","previous":{"path":"_themes/hacker.md","relative_path":"_themes/hacker.md","id":"/themes/hacker","collection":"themes","url":"/themes/hacker/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hacker Jekyll Theme","description":"The official GitHub Pages hacker Jekyll theme. Dark terminal-style design with monospace typography, built for developer project pages.","key_features":["Hacker Style","GitHub Pages","Minimal Design","Fast Loading"],"card_description":"Official GitHub Pages hacker theme with dark terminal-style design.","category":"Personal","card_image":"/assets/images/themes/hacker-card.webp","theme_screenshots":["/assets/images/themes/hacker-screenshot.webp","/assets/images/themes/hacker-screenshot-2.webp","/assets/images/themes/hacker-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/hacker/","github_url":"https://github.com/pages-themes/hacker","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":600,"features":["Official GitHub Pages supported theme","Terminal-inspired green-on-black colour scheme","Monospace typography throughout","Responsive layout","Single-line enable via _config.yml","No local setup required","Instant dark aesthetic"],"slug":"hacker","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hitchens","collection":"themes","next":{"path":"_themes/hpstr.md","relative_path":"_themes/hpstr.md","id":"/themes/hpstr","collection":"themes","url":"/themes/hpstr/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"HPSTR Jekyll Theme","description":"A responsive, full-featured Jekyll blog theme by Michael Rose. Rich with image-forward posts, sliding panel navigation, and social sharing.","key_features":["Featured Images","Sliding Navigation","Social Sharing","GitHub Pages"],"card_description":"Image-forward blog with sliding panel navigation and social sharing.","category":"Blog","card_image":"/assets/images/themes/hpstr-card.webp","theme_screenshots":["/assets/images/themes/hpstr-screenshot.webp","/assets/images/themes/hpstr-screenshot-2.webp","/assets/images/themes/hpstr-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/hpstr-jekyll-theme/","github_url":"https://github.com/mmistakes/hpstr-jekyll-theme","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2021-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1100,"forks":700,"features":["Large featured header images per post","Smooth CSS animations and transitions","Responsive mobile-first design","Sliding menu navigation","Disqus comments","Google Analytics","Tag and category pages","Syntax highlighting","Social sharing buttons","GitHub Pages compatible"],"slug":"hpstr","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hitchens is named after Christopher Hitchens and designed for writers who share his devotion to the written word. The design is austere by intention — every pixel either serves the text or stays out of the way.\n\nDark mode is built in and toggleable, and the theme runs without a single line of JavaScript on the reader's device.\n\n**Who is it for?** Essayists, journalists, and serious writers who want a sophisticated, literary reading experience.\n","url":"/themes/hitchens/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hitchens Jekyll Theme","description":"An unfussy Jekyll theme for serious writers. Minimal design, elegant typography, and a dark mode — inspired by the prose of Christopher Hitchens.","key_features":["Minimal Design","Typography Focus","Reading Time","GitHub Pages"],"card_description":"Unfussy, elegant theme for serious writers with dark mode built in.","category":"Blog","card_image":"/assets/images/themes/hitchens-card.webp","theme_screenshots":["/assets/images/themes/hitchens-screenshot.webp","/assets/images/themes/hitchens-screenshot-2.webp","/assets/images/themes/hitchens-screenshot-3.webp"],"demo_url":"https://hitchens.patdryburgh.com/","github_url":"https://github.com/patdryburgh/hitchens","author":"GitHub Community","github_author_name":"patdryburgh","github_author_url":"https://github.com/patdryburgh","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":381,"forks":146,"features":["Typography-first design","Built-in dark mode","Minimal navigation","Clean post layout","Reading time estimate","Tag pages","RSS feed","GitHub Pages compatible","No JavaScript dependencies","Print-friendly styles"],"slug":"hitchens","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hpstr","collection":"themes","next":{"path":"_themes/huxpro.md","relative_path":"_themes/huxpro.md","excerpt":"<p>Huxpro is one of the most-starred personal Jekyll blog themes on GitHub, built by Huasheng Luo as his own personal site and open-sourced for the community. Inspired by Ghost’s iconic Casper theme, it brings full-screen cover images and a magazine-quality reading experience to Jekyll.</p>\n\n","previous":{"path":"_themes/hpstr.md","relative_path":"_themes/hpstr.md","id":"/themes/hpstr","collection":"themes","url":"/themes/hpstr/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"HPSTR Jekyll Theme","description":"A responsive, full-featured Jekyll blog theme by Michael Rose. Rich with image-forward posts, sliding panel navigation, and social sharing.","key_features":["Featured Images","Sliding Navigation","Social Sharing","GitHub Pages"],"card_description":"Image-forward blog with sliding panel navigation and social sharing.","category":"Blog","card_image":"/assets/images/themes/hpstr-card.webp","theme_screenshots":["/assets/images/themes/hpstr-screenshot.webp","/assets/images/themes/hpstr-screenshot-2.webp","/assets/images/themes/hpstr-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/hpstr-jekyll-theme/","github_url":"https://github.com/mmistakes/hpstr-jekyll-theme","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2021-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1100,"forks":700,"features":["Large featured header images per post","Smooth CSS animations and transitions","Responsive mobile-first design","Sliding menu navigation","Disqus comments","Google Analytics","Tag and category pages","Syntax highlighting","Social sharing buttons","GitHub Pages compatible"],"slug":"hpstr","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/huxpro","collection":"themes","next":{"path":"_themes/hyde.md","relative_path":"_themes/hyde.md","id":"/themes/hyde","collection":"themes","url":"/themes/hyde/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hyde Jekyll Theme","description":"A brazen two-column Jekyll theme that pairs a prominent sidebar with uncomplicated content. Based on Poole, by Mark Otto.","key_features":["GitHub Pages","Sidebar Layout","Color Themes","Clean Typography"],"card_description":"Two-column theme with prominent sidebar — elegant and timeless.","category":"Blog","card_image":"/assets/images/themes/hyde-card.webp","theme_screenshots":["/assets/images/themes/hyde-screenshot.webp","/assets/images/themes/hyde-screenshot-2.webp","/assets/images/themes/hyde-screenshot-3.webp"],"demo_url":"https://hyde.getpoole.com/","github_url":"https://github.com/poole/hyde","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-01-25","popular":true,"trending":false,"bestseller":false,"version":"2.1.0","license":"MIT","stars":9700,"forks":3800,"features":["Persistent dark sidebar","Eight colour themes","Reverse layout variant","Clean typography","Mobile responsive"],"slug":"hyde","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Huxpro is one of the most-starred personal Jekyll blog themes on GitHub, built by Huasheng Luo as his own personal site and open-sourced for the community. Inspired by Ghost's iconic Casper theme, it brings full-screen cover images and a magazine-quality reading experience to Jekyll.\n\nEach post supports its own hero image, creating a visually rich archive page that immediately communicates the personality of a blog. The typography is clean and generous, making long-form writing genuinely pleasant to read.\n\n**Who is it for?** Writers, developers, and creatives who want a personal blog with a strong visual identity and cover-image-driven design.\n","url":"/themes/huxpro/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Huxpro Jekyll Theme","description":"A beautiful, cover-image-driven Jekyll blog theme inspired by Ghost's Casper. Features full-screen hero images, smooth transitions, and a clean reading experience.","key_features":["Full-Screen Hero","Cover Images","Ghost-Inspired","Smooth Transitions"],"card_description":"Cover-image-driven blog inspired by Ghost's Casper theme.","category":"Blog","card_image":"/assets/images/themes/huxpro-card.webp","theme_screenshots":["/assets/images/themes/huxpro-screenshot.webp","/assets/images/themes/huxpro-screenshot-2.webp","/assets/images/themes/huxpro-screenshot-3.webp"],"demo_url":"https://huxpro.github.io/","github_url":"https://github.com/Huxpro/huxpro.github.io","author":"GitHub Community","github_author_name":"Huxpro","github_author_url":"https://github.com/Huxpro","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-08","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":5400,"forks":1800,"features":["Full-screen cover image per post","Ghost Casper-inspired design","Smooth page transitions","Disqus comments support","Google Analytics integration","Responsive layout","Tag pages","Chinese and English content support"],"slug":"huxpro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"HPSTR (pronounced \"hipster\") is one of Michael Rose's earlier Jekyll themes and remains one of the most visually striking options in the ecosystem. Its defining feature is the large full-width header image on each post — combined with smooth CSS animations, it creates a reading experience that feels polished and intentional.\n\nThe sliding navigation menu and responsive layout were ahead of their time when the theme launched, and the overall design has aged well. Rose is the author of Minimal Mistakes and So Simple, so the code quality and documentation are characteristically excellent.\n\n**Who is it for?** Bloggers who want a visually bold, image-forward theme with smooth animations and a strong sense of style — particularly those publishing photography, design, or creative work alongside writing.\n","url":"/themes/hpstr/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"HPSTR Jekyll Theme","description":"A responsive, full-featured Jekyll blog theme by Michael Rose. Rich with image-forward posts, sliding panel navigation, and social sharing.","key_features":["Featured Images","Sliding Navigation","Social Sharing","GitHub Pages"],"card_description":"Image-forward blog with sliding panel navigation and social sharing.","category":"Blog","card_image":"/assets/images/themes/hpstr-card.webp","theme_screenshots":["/assets/images/themes/hpstr-screenshot.webp","/assets/images/themes/hpstr-screenshot-2.webp","/assets/images/themes/hpstr-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/hpstr-jekyll-theme/","github_url":"https://github.com/mmistakes/hpstr-jekyll-theme","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2021-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1100,"forks":700,"features":["Large featured header images per post","Smooth CSS animations and transitions","Responsive mobile-first design","Sliding menu navigation","Disqus comments","Google Analytics","Tag and category pages","Syntax highlighting","Social sharing buttons","GitHub Pages compatible"],"slug":"hpstr","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/huxpro.md","relative_path":"_themes/huxpro.md","excerpt":"<p>Huxpro is one of the most-starred personal Jekyll blog themes on GitHub, built by Huasheng Luo as his own personal site and open-sourced for the community. Inspired by Ghost’s iconic Casper theme, it brings full-screen cover images and a magazine-quality reading experience to Jekyll.</p>\n\n","previous":{"path":"_themes/hpstr.md","relative_path":"_themes/hpstr.md","excerpt":"<p>HPSTR (pronounced “hipster”) is one of Michael Rose’s earlier Jekyll themes and remains one of the most visually striking options in the ecosystem. Its defining feature is the large full-width header image on each post — combined with smooth CSS animations, it creates a reading experience that feels polished and intentional.</p>\n\n","previous":{"path":"_themes/hitchens.md","relative_path":"_themes/hitchens.md","id":"/themes/hitchens","collection":"themes","url":"/themes/hitchens/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Hitchens Jekyll Theme","description":"An unfussy Jekyll theme for serious writers. Minimal design, elegant typography, and a dark mode — inspired by the prose of Christopher Hitchens.","key_features":["Minimal Design","Typography Focus","Reading Time","GitHub Pages"],"card_description":"Unfussy, elegant theme for serious writers with dark mode built in.","category":"Blog","card_image":"/assets/images/themes/hitchens-card.webp","theme_screenshots":["/assets/images/themes/hitchens-screenshot.webp","/assets/images/themes/hitchens-screenshot-2.webp","/assets/images/themes/hitchens-screenshot-3.webp"],"demo_url":"https://hitchens.patdryburgh.com/","github_url":"https://github.com/patdryburgh/hitchens","author":"GitHub Community","github_author_name":"patdryburgh","github_author_url":"https://github.com/patdryburgh","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-19","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":381,"forks":146,"features":["Typography-first design","Built-in dark mode","Minimal navigation","Clean post layout","Reading time estimate","Tag pages","RSS feed","GitHub Pages compatible","No JavaScript dependencies","Print-friendly styles"],"slug":"hitchens","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hpstr","collection":"themes","next":{"path":"_themes/huxpro.md","relative_path":"_themes/huxpro.md","id":"/themes/huxpro","collection":"themes","url":"/themes/huxpro/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Huxpro Jekyll Theme","description":"A beautiful, cover-image-driven Jekyll blog theme inspired by Ghost's Casper. Features full-screen hero images, smooth transitions, and a clean reading experience.","key_features":["Full-Screen Hero","Cover Images","Ghost-Inspired","Smooth Transitions"],"card_description":"Cover-image-driven blog inspired by Ghost's Casper theme.","category":"Blog","card_image":"/assets/images/themes/huxpro-card.webp","theme_screenshots":["/assets/images/themes/huxpro-screenshot.webp","/assets/images/themes/huxpro-screenshot-2.webp","/assets/images/themes/huxpro-screenshot-3.webp"],"demo_url":"https://huxpro.github.io/","github_url":"https://github.com/Huxpro/huxpro.github.io","author":"GitHub Community","github_author_name":"Huxpro","github_author_url":"https://github.com/Huxpro","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-08","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":5400,"forks":1800,"features":["Full-screen cover image per post","Ghost Casper-inspired design","Smooth page transitions","Disqus comments support","Google Analytics integration","Responsive layout","Tag pages","Chinese and English content support"],"slug":"huxpro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"HPSTR (pronounced \"hipster\") is one of Michael Rose's earlier Jekyll themes and remains one of the most visually striking options in the ecosystem. Its defining feature is the large full-width header image on each post — combined with smooth CSS animations, it creates a reading experience that feels polished and intentional.\n\nThe sliding navigation menu and responsive layout were ahead of their time when the theme launched, and the overall design has aged well. Rose is the author of Minimal Mistakes and So Simple, so the code quality and documentation are characteristically excellent.\n\n**Who is it for?** Bloggers who want a visually bold, image-forward theme with smooth animations and a strong sense of style — particularly those publishing photography, design, or creative work alongside writing.\n","url":"/themes/hpstr/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"HPSTR Jekyll Theme","description":"A responsive, full-featured Jekyll blog theme by Michael Rose. Rich with image-forward posts, sliding panel navigation, and social sharing.","key_features":["Featured Images","Sliding Navigation","Social Sharing","GitHub Pages"],"card_description":"Image-forward blog with sliding panel navigation and social sharing.","category":"Blog","card_image":"/assets/images/themes/hpstr-card.webp","theme_screenshots":["/assets/images/themes/hpstr-screenshot.webp","/assets/images/themes/hpstr-screenshot-2.webp","/assets/images/themes/hpstr-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/hpstr-jekyll-theme/","github_url":"https://github.com/mmistakes/hpstr-jekyll-theme","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2021-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1100,"forks":700,"features":["Large featured header images per post","Smooth CSS animations and transitions","Responsive mobile-first design","Sliding menu navigation","Disqus comments","Google Analytics","Tag and category pages","Syntax highlighting","Social sharing buttons","GitHub Pages compatible"],"slug":"hpstr","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/huxpro","collection":"themes","next":{"path":"_themes/hyde.md","relative_path":"_themes/hyde.md","excerpt":"<p>Hyde is one of Jekyll’s most iconic themes — a two-column layout with a bold dark sidebar and clean reading area. Built on Poole by Mark Otto (co-creator of Bootstrap), it sets the standard for elegant simplicity.</p>\n\n","previous":{"path":"_themes/huxpro.md","relative_path":"_themes/huxpro.md","id":"/themes/huxpro","collection":"themes","url":"/themes/huxpro/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Huxpro Jekyll Theme","description":"A beautiful, cover-image-driven Jekyll blog theme inspired by Ghost's Casper. Features full-screen hero images, smooth transitions, and a clean reading experience.","key_features":["Full-Screen Hero","Cover Images","Ghost-Inspired","Smooth Transitions"],"card_description":"Cover-image-driven blog inspired by Ghost's Casper theme.","category":"Blog","card_image":"/assets/images/themes/huxpro-card.webp","theme_screenshots":["/assets/images/themes/huxpro-screenshot.webp","/assets/images/themes/huxpro-screenshot-2.webp","/assets/images/themes/huxpro-screenshot-3.webp"],"demo_url":"https://huxpro.github.io/","github_url":"https://github.com/Huxpro/huxpro.github.io","author":"GitHub Community","github_author_name":"Huxpro","github_author_url":"https://github.com/Huxpro","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-08","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":5400,"forks":1800,"features":["Full-screen cover image per post","Ghost Casper-inspired design","Smooth page transitions","Disqus comments support","Google Analytics integration","Responsive layout","Tag pages","Chinese and English content support"],"slug":"huxpro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hyde","collection":"themes","next":{"path":"_themes/hydejack.md","relative_path":"_themes/hydejack.md","id":"/themes/hydejack","collection":"themes","url":"/themes/hydejack/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Hydejack Jekyll Theme","description":"A boutique Jekyll theme with a rich sidebar, smooth page transitions, and portfolio support. The premium evolution of Hyde.","key_features":["Dark Mode","Page Transitions","Portfolio Support","Rich Sidebar"],"card_description":"Boutique theme with smooth page transitions and portfolio support.","category":"Blog","card_image":"/assets/images/themes/hydejack-card.webp","theme_screenshots":["/assets/images/themes/hydejack-screenshot.webp","/assets/images/themes/hydejack-screenshot-2.webp","/assets/images/themes/hydejack-screenshot-3.webp"],"demo_url":"https://hydejack.com/","github_url":"https://github.com/hydecorp/hydejack","author":"GitHub Community","github_author_name":"Florian Klampfer","github_author_url":"https://github.com/qwtel","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate-v2"],"updated_at":"2024-02-01","added_at":"2026-01-30","popular":true,"trending":false,"bestseller":false,"version":"9.2.1","license":"GPL-3.0","stars":9000,"forks":1700,"features":["Rich profile sidebar with avatar","Smooth page transitions","Portfolio / project pages","Dark and light themes","Math support (KaTeX)","Resume page layout","Offline support (PWA)"],"slug":"hydejack","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hyde is one of Jekyll's most iconic themes — a two-column layout with a bold dark sidebar and clean reading area. Built on Poole by Mark Otto (co-creator of Bootstrap), it sets the standard for elegant simplicity.\n\nEight built-in colour themes let you swap the sidebar accent colour with a single config change.\n\n**Who is it for?** Writers and developers who want a classic, timeless Jekyll blog with a distinctive sidebar presence.\n","url":"/themes/hyde/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hyde Jekyll Theme","description":"A brazen two-column Jekyll theme that pairs a prominent sidebar with uncomplicated content. Based on Poole, by Mark Otto.","key_features":["GitHub Pages","Sidebar Layout","Color Themes","Clean Typography"],"card_description":"Two-column theme with prominent sidebar — elegant and timeless.","category":"Blog","card_image":"/assets/images/themes/hyde-card.webp","theme_screenshots":["/assets/images/themes/hyde-screenshot.webp","/assets/images/themes/hyde-screenshot-2.webp","/assets/images/themes/hyde-screenshot-3.webp"],"demo_url":"https://hyde.getpoole.com/","github_url":"https://github.com/poole/hyde","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-01-25","popular":true,"trending":false,"bestseller":false,"version":"2.1.0","license":"MIT","stars":9700,"forks":3800,"features":["Persistent dark sidebar","Eight colour themes","Reverse layout variant","Clean typography","Mobile responsive"],"slug":"hyde","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Huxpro is one of the most-starred personal Jekyll blog themes on GitHub, built by Huasheng Luo as his own personal site and open-sourced for the community. Inspired by Ghost's iconic Casper theme, it brings full-screen cover images and a magazine-quality reading experience to Jekyll.\n\nEach post supports its own hero image, creating a visually rich archive page that immediately communicates the personality of a blog. The typography is clean and generous, making long-form writing genuinely pleasant to read.\n\n**Who is it for?** Writers, developers, and creatives who want a personal blog with a strong visual identity and cover-image-driven design.\n","url":"/themes/huxpro/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Huxpro Jekyll Theme","description":"A beautiful, cover-image-driven Jekyll blog theme inspired by Ghost's Casper. Features full-screen hero images, smooth transitions, and a clean reading experience.","key_features":["Full-Screen Hero","Cover Images","Ghost-Inspired","Smooth Transitions"],"card_description":"Cover-image-driven blog inspired by Ghost's Casper theme.","category":"Blog","card_image":"/assets/images/themes/huxpro-card.webp","theme_screenshots":["/assets/images/themes/huxpro-screenshot.webp","/assets/images/themes/huxpro-screenshot-2.webp","/assets/images/themes/huxpro-screenshot-3.webp"],"demo_url":"https://huxpro.github.io/","github_url":"https://github.com/Huxpro/huxpro.github.io","author":"GitHub Community","github_author_name":"Huxpro","github_author_url":"https://github.com/Huxpro","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-08","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":5400,"forks":1800,"features":["Full-screen cover image per post","Ghost Casper-inspired design","Smooth page transitions","Disqus comments support","Google Analytics integration","Responsive layout","Tag pages","Chinese and English content support"],"slug":"huxpro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/hyde.md","relative_path":"_themes/hyde.md","excerpt":"<p>Hyde is one of Jekyll’s most iconic themes — a two-column layout with a bold dark sidebar and clean reading area. Built on Poole by Mark Otto (co-creator of Bootstrap), it sets the standard for elegant simplicity.</p>\n\n","previous":{"path":"_themes/huxpro.md","relative_path":"_themes/huxpro.md","excerpt":"<p>Huxpro is one of the most-starred personal Jekyll blog themes on GitHub, built by Huasheng Luo as his own personal site and open-sourced for the community. Inspired by Ghost’s iconic Casper theme, it brings full-screen cover images and a magazine-quality reading experience to Jekyll.</p>\n\n","previous":{"path":"_themes/hpstr.md","relative_path":"_themes/hpstr.md","id":"/themes/hpstr","collection":"themes","url":"/themes/hpstr/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"HPSTR Jekyll Theme","description":"A responsive, full-featured Jekyll blog theme by Michael Rose. Rich with image-forward posts, sliding panel navigation, and social sharing.","key_features":["Featured Images","Sliding Navigation","Social Sharing","GitHub Pages"],"card_description":"Image-forward blog with sliding panel navigation and social sharing.","category":"Blog","card_image":"/assets/images/themes/hpstr-card.webp","theme_screenshots":["/assets/images/themes/hpstr-screenshot.webp","/assets/images/themes/hpstr-screenshot-2.webp","/assets/images/themes/hpstr-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/hpstr-jekyll-theme/","github_url":"https://github.com/mmistakes/hpstr-jekyll-theme","author":"GitHub Community","github_author_name":"mmistakes","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2021-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1100,"forks":700,"features":["Large featured header images per post","Smooth CSS animations and transitions","Responsive mobile-first design","Sliding menu navigation","Disqus comments","Google Analytics","Tag and category pages","Syntax highlighting","Social sharing buttons","GitHub Pages compatible"],"slug":"hpstr","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/huxpro","collection":"themes","next":{"path":"_themes/hyde.md","relative_path":"_themes/hyde.md","id":"/themes/hyde","collection":"themes","url":"/themes/hyde/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hyde Jekyll Theme","description":"A brazen two-column Jekyll theme that pairs a prominent sidebar with uncomplicated content. Based on Poole, by Mark Otto.","key_features":["GitHub Pages","Sidebar Layout","Color Themes","Clean Typography"],"card_description":"Two-column theme with prominent sidebar — elegant and timeless.","category":"Blog","card_image":"/assets/images/themes/hyde-card.webp","theme_screenshots":["/assets/images/themes/hyde-screenshot.webp","/assets/images/themes/hyde-screenshot-2.webp","/assets/images/themes/hyde-screenshot-3.webp"],"demo_url":"https://hyde.getpoole.com/","github_url":"https://github.com/poole/hyde","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-01-25","popular":true,"trending":false,"bestseller":false,"version":"2.1.0","license":"MIT","stars":9700,"forks":3800,"features":["Persistent dark sidebar","Eight colour themes","Reverse layout variant","Clean typography","Mobile responsive"],"slug":"hyde","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Huxpro is one of the most-starred personal Jekyll blog themes on GitHub, built by Huasheng Luo as his own personal site and open-sourced for the community. Inspired by Ghost's iconic Casper theme, it brings full-screen cover images and a magazine-quality reading experience to Jekyll.\n\nEach post supports its own hero image, creating a visually rich archive page that immediately communicates the personality of a blog. The typography is clean and generous, making long-form writing genuinely pleasant to read.\n\n**Who is it for?** Writers, developers, and creatives who want a personal blog with a strong visual identity and cover-image-driven design.\n","url":"/themes/huxpro/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Huxpro Jekyll Theme","description":"A beautiful, cover-image-driven Jekyll blog theme inspired by Ghost's Casper. Features full-screen hero images, smooth transitions, and a clean reading experience.","key_features":["Full-Screen Hero","Cover Images","Ghost-Inspired","Smooth Transitions"],"card_description":"Cover-image-driven blog inspired by Ghost's Casper theme.","category":"Blog","card_image":"/assets/images/themes/huxpro-card.webp","theme_screenshots":["/assets/images/themes/huxpro-screenshot.webp","/assets/images/themes/huxpro-screenshot-2.webp","/assets/images/themes/huxpro-screenshot-3.webp"],"demo_url":"https://huxpro.github.io/","github_url":"https://github.com/Huxpro/huxpro.github.io","author":"GitHub Community","github_author_name":"Huxpro","github_author_url":"https://github.com/Huxpro","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-08","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":5400,"forks":1800,"features":["Full-screen cover image per post","Ghost Casper-inspired design","Smooth page transitions","Disqus comments support","Google Analytics integration","Responsive layout","Tag pages","Chinese and English content support"],"slug":"huxpro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hyde","collection":"themes","next":{"path":"_themes/hydejack.md","relative_path":"_themes/hydejack.md","excerpt":"<p>Hydejack is the boutique evolution of Hyde — taking the two-column sidebar layout and elevating it with smooth page transitions, a polished profile sidebar, and full portfolio support.</p>\n\n","previous":{"path":"_themes/hyde.md","relative_path":"_themes/hyde.md","id":"/themes/hyde","collection":"themes","url":"/themes/hyde/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hyde Jekyll Theme","description":"A brazen two-column Jekyll theme that pairs a prominent sidebar with uncomplicated content. Based on Poole, by Mark Otto.","key_features":["GitHub Pages","Sidebar Layout","Color Themes","Clean Typography"],"card_description":"Two-column theme with prominent sidebar — elegant and timeless.","category":"Blog","card_image":"/assets/images/themes/hyde-card.webp","theme_screenshots":["/assets/images/themes/hyde-screenshot.webp","/assets/images/themes/hyde-screenshot-2.webp","/assets/images/themes/hyde-screenshot-3.webp"],"demo_url":"https://hyde.getpoole.com/","github_url":"https://github.com/poole/hyde","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-01-25","popular":true,"trending":false,"bestseller":false,"version":"2.1.0","license":"MIT","stars":9700,"forks":3800,"features":["Persistent dark sidebar","Eight colour themes","Reverse layout variant","Clean typography","Mobile responsive"],"slug":"hyde","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hydejack","collection":"themes","next":{"path":"_themes/hydra.md","relative_path":"_themes/hydra.md","id":"/themes/hydra","collection":"themes","url":"/themes/hydra/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hydra Jekyll Theme","description":"A product and SaaS marketing Jekyll theme with a clean hero section, feature grid, pricing table, and testimonials.","key_features":["Pricing Table","Feature Grid","GitHub Pages","SaaS Ready"],"card_description":"SaaS marketing theme with hero, feature grid, and pricing table.","category":"Landing Page","card_image":"/assets/images/themes/hydra-card.webp","theme_screenshots":["/assets/images/themes/hydra-screenshot.webp","/assets/images/themes/hydra-screenshot-2.webp","/assets/images/themes/hydra-screenshot-3.webp"],"demo_url":"https://orange-ape.cloudvent.net/","github_url":"https://github.com/CloudCannon/hydra-jekyll-template","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-05-14","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":450,"forks":213,"features":["SaaS marketing layout","Hero section with CTA","Feature grid","Pricing table","Testimonials section","Blog included","Contact form ready","GitHub Pages compatible","CloudCannon CMS ready","Fully responsive"],"slug":"hydra","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hydejack is the boutique evolution of Hyde — taking the two-column sidebar layout and elevating it with smooth page transitions, a polished profile sidebar, and full portfolio support.\n\nOne of the most feature-rich free Jekyll themes available, it includes everything from KaTeX math rendering to offline PWA support. A paid PRO version adds extra layouts and features.\n\n**Who is it for?** Developers and technical writers who want a beautiful, full-featured blog and portfolio in one, with a distinctive aesthetic.\n","url":"/themes/hydejack/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Hydejack Jekyll Theme","description":"A boutique Jekyll theme with a rich sidebar, smooth page transitions, and portfolio support. The premium evolution of Hyde.","key_features":["Dark Mode","Page Transitions","Portfolio Support","Rich Sidebar"],"card_description":"Boutique theme with smooth page transitions and portfolio support.","category":"Blog","card_image":"/assets/images/themes/hydejack-card.webp","theme_screenshots":["/assets/images/themes/hydejack-screenshot.webp","/assets/images/themes/hydejack-screenshot-2.webp","/assets/images/themes/hydejack-screenshot-3.webp"],"demo_url":"https://hydejack.com/","github_url":"https://github.com/hydecorp/hydejack","author":"GitHub Community","github_author_name":"Florian Klampfer","github_author_url":"https://github.com/qwtel","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate-v2"],"updated_at":"2024-02-01","added_at":"2026-01-30","popular":true,"trending":false,"bestseller":false,"version":"9.2.1","license":"GPL-3.0","stars":9000,"forks":1700,"features":["Rich profile sidebar with avatar","Smooth page transitions","Portfolio / project pages","Dark and light themes","Math support (KaTeX)","Resume page layout","Offline support (PWA)"],"slug":"hydejack","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hyde is one of Jekyll's most iconic themes — a two-column layout with a bold dark sidebar and clean reading area. Built on Poole by Mark Otto (co-creator of Bootstrap), it sets the standard for elegant simplicity.\n\nEight built-in colour themes let you swap the sidebar accent colour with a single config change.\n\n**Who is it for?** Writers and developers who want a classic, timeless Jekyll blog with a distinctive sidebar presence.\n","url":"/themes/hyde/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hyde Jekyll Theme","description":"A brazen two-column Jekyll theme that pairs a prominent sidebar with uncomplicated content. Based on Poole, by Mark Otto.","key_features":["GitHub Pages","Sidebar Layout","Color Themes","Clean Typography"],"card_description":"Two-column theme with prominent sidebar — elegant and timeless.","category":"Blog","card_image":"/assets/images/themes/hyde-card.webp","theme_screenshots":["/assets/images/themes/hyde-screenshot.webp","/assets/images/themes/hyde-screenshot-2.webp","/assets/images/themes/hyde-screenshot-3.webp"],"demo_url":"https://hyde.getpoole.com/","github_url":"https://github.com/poole/hyde","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-01-25","popular":true,"trending":false,"bestseller":false,"version":"2.1.0","license":"MIT","stars":9700,"forks":3800,"features":["Persistent dark sidebar","Eight colour themes","Reverse layout variant","Clean typography","Mobile responsive"],"slug":"hyde","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/hydejack.md","relative_path":"_themes/hydejack.md","excerpt":"<p>Hydejack is the boutique evolution of Hyde — taking the two-column sidebar layout and elevating it with smooth page transitions, a polished profile sidebar, and full portfolio support.</p>\n\n","previous":{"path":"_themes/hyde.md","relative_path":"_themes/hyde.md","excerpt":"<p>Hyde is one of Jekyll’s most iconic themes — a two-column layout with a bold dark sidebar and clean reading area. Built on Poole by Mark Otto (co-creator of Bootstrap), it sets the standard for elegant simplicity.</p>\n\n","previous":{"path":"_themes/huxpro.md","relative_path":"_themes/huxpro.md","id":"/themes/huxpro","collection":"themes","url":"/themes/huxpro/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Huxpro Jekyll Theme","description":"A beautiful, cover-image-driven Jekyll blog theme inspired by Ghost's Casper. Features full-screen hero images, smooth transitions, and a clean reading experience.","key_features":["Full-Screen Hero","Cover Images","Ghost-Inspired","Smooth Transitions"],"card_description":"Cover-image-driven blog inspired by Ghost's Casper theme.","category":"Blog","card_image":"/assets/images/themes/huxpro-card.webp","theme_screenshots":["/assets/images/themes/huxpro-screenshot.webp","/assets/images/themes/huxpro-screenshot-2.webp","/assets/images/themes/huxpro-screenshot-3.webp"],"demo_url":"https://huxpro.github.io/","github_url":"https://github.com/Huxpro/huxpro.github.io","author":"GitHub Community","github_author_name":"Huxpro","github_author_url":"https://github.com/Huxpro","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-08","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Apache-2.0","stars":5400,"forks":1800,"features":["Full-screen cover image per post","Ghost Casper-inspired design","Smooth page transitions","Disqus comments support","Google Analytics integration","Responsive layout","Tag pages","Chinese and English content support"],"slug":"huxpro","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hyde","collection":"themes","next":{"path":"_themes/hydejack.md","relative_path":"_themes/hydejack.md","id":"/themes/hydejack","collection":"themes","url":"/themes/hydejack/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Hydejack Jekyll Theme","description":"A boutique Jekyll theme with a rich sidebar, smooth page transitions, and portfolio support. The premium evolution of Hyde.","key_features":["Dark Mode","Page Transitions","Portfolio Support","Rich Sidebar"],"card_description":"Boutique theme with smooth page transitions and portfolio support.","category":"Blog","card_image":"/assets/images/themes/hydejack-card.webp","theme_screenshots":["/assets/images/themes/hydejack-screenshot.webp","/assets/images/themes/hydejack-screenshot-2.webp","/assets/images/themes/hydejack-screenshot-3.webp"],"demo_url":"https://hydejack.com/","github_url":"https://github.com/hydecorp/hydejack","author":"GitHub Community","github_author_name":"Florian Klampfer","github_author_url":"https://github.com/qwtel","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate-v2"],"updated_at":"2024-02-01","added_at":"2026-01-30","popular":true,"trending":false,"bestseller":false,"version":"9.2.1","license":"GPL-3.0","stars":9000,"forks":1700,"features":["Rich profile sidebar with avatar","Smooth page transitions","Portfolio / project pages","Dark and light themes","Math support (KaTeX)","Resume page layout","Offline support (PWA)"],"slug":"hydejack","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hyde is one of Jekyll's most iconic themes — a two-column layout with a bold dark sidebar and clean reading area. Built on Poole by Mark Otto (co-creator of Bootstrap), it sets the standard for elegant simplicity.\n\nEight built-in colour themes let you swap the sidebar accent colour with a single config change.\n\n**Who is it for?** Writers and developers who want a classic, timeless Jekyll blog with a distinctive sidebar presence.\n","url":"/themes/hyde/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hyde Jekyll Theme","description":"A brazen two-column Jekyll theme that pairs a prominent sidebar with uncomplicated content. Based on Poole, by Mark Otto.","key_features":["GitHub Pages","Sidebar Layout","Color Themes","Clean Typography"],"card_description":"Two-column theme with prominent sidebar — elegant and timeless.","category":"Blog","card_image":"/assets/images/themes/hyde-card.webp","theme_screenshots":["/assets/images/themes/hyde-screenshot.webp","/assets/images/themes/hyde-screenshot-2.webp","/assets/images/themes/hyde-screenshot-3.webp"],"demo_url":"https://hyde.getpoole.com/","github_url":"https://github.com/poole/hyde","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-01-25","popular":true,"trending":false,"bestseller":false,"version":"2.1.0","license":"MIT","stars":9700,"forks":3800,"features":["Persistent dark sidebar","Eight colour themes","Reverse layout variant","Clean typography","Mobile responsive"],"slug":"hyde","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hydejack","collection":"themes","next":{"path":"_themes/hydra.md","relative_path":"_themes/hydra.md","excerpt":"<p>Hydra is a product marketing theme from CloudCannon, built for SaaS products, apps, and services that need a professional landing page. Hero, features, pricing, and testimonials sections are all pre-built and easy to customise.</p>\n\n","previous":{"path":"_themes/hydejack.md","relative_path":"_themes/hydejack.md","id":"/themes/hydejack","collection":"themes","url":"/themes/hydejack/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Hydejack Jekyll Theme","description":"A boutique Jekyll theme with a rich sidebar, smooth page transitions, and portfolio support. The premium evolution of Hyde.","key_features":["Dark Mode","Page Transitions","Portfolio Support","Rich Sidebar"],"card_description":"Boutique theme with smooth page transitions and portfolio support.","category":"Blog","card_image":"/assets/images/themes/hydejack-card.webp","theme_screenshots":["/assets/images/themes/hydejack-screenshot.webp","/assets/images/themes/hydejack-screenshot-2.webp","/assets/images/themes/hydejack-screenshot-3.webp"],"demo_url":"https://hydejack.com/","github_url":"https://github.com/hydecorp/hydejack","author":"GitHub Community","github_author_name":"Florian Klampfer","github_author_url":"https://github.com/qwtel","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate-v2"],"updated_at":"2024-02-01","added_at":"2026-01-30","popular":true,"trending":false,"bestseller":false,"version":"9.2.1","license":"GPL-3.0","stars":9000,"forks":1700,"features":["Rich profile sidebar with avatar","Smooth page transitions","Portfolio / project pages","Dark and light themes","Math support (KaTeX)","Resume page layout","Offline support (PWA)"],"slug":"hydejack","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hydra","collection":"themes","next":{"path":"_themes/jasper.md","relative_path":"_themes/jasper.md","id":"/themes/jasper","collection":"themes","url":"/themes/jasper/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jasper Jekyll Theme","description":"A Jekyll port of Ghost's default Casper theme. Brings the polished, editorial feel of Ghost blogging to static Jekyll sites.","key_features":["Ghost-Inspired","GitHub Pages","Editorial Design","Featured Images"],"card_description":"Jekyll port of Ghost's Casper — polished, editorial feel.","category":"Blog","card_image":"/assets/images/themes/jasper-card.webp","theme_screenshots":["/assets/images/themes/jasper-screenshot.webp","/assets/images/themes/jasper-screenshot-2.webp","/assets/images/themes/jasper-screenshot-3.webp"],"demo_url":"https://jekyllt.github.io/jasper/","github_url":"https://github.com/biomadeira/jasper","author":"GitHub Community","github_author_name":"biomadeira","github_author_url":"https://github.com/biomadeira","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-05-05","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":587,"forks":290,"features":["Ghost Casper port","Cover image header","Tag-based navigation","Author profiles","Post cover images","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible","Responsive design"],"slug":"jasper","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hydra is a product marketing theme from CloudCannon, built for SaaS products, apps, and services that need a professional landing page. Hero, features, pricing, and testimonials sections are all pre-built and easy to customise.\n\nA blog is included so you can publish content marketing articles alongside your product pages.\n\n**Who is it for?** Founders and teams launching SaaS products or apps who need a polished marketing site fast.\n","url":"/themes/hydra/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hydra Jekyll Theme","description":"A product and SaaS marketing Jekyll theme with a clean hero section, feature grid, pricing table, and testimonials.","key_features":["Pricing Table","Feature Grid","GitHub Pages","SaaS Ready"],"card_description":"SaaS marketing theme with hero, feature grid, and pricing table.","category":"Landing Page","card_image":"/assets/images/themes/hydra-card.webp","theme_screenshots":["/assets/images/themes/hydra-screenshot.webp","/assets/images/themes/hydra-screenshot-2.webp","/assets/images/themes/hydra-screenshot-3.webp"],"demo_url":"https://orange-ape.cloudvent.net/","github_url":"https://github.com/CloudCannon/hydra-jekyll-template","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-05-14","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":450,"forks":213,"features":["SaaS marketing layout","Hero section with CTA","Feature grid","Pricing table","Testimonials section","Blog included","Contact form ready","GitHub Pages compatible","CloudCannon CMS ready","Fully responsive"],"slug":"hydra","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hydejack is the boutique evolution of Hyde — taking the two-column sidebar layout and elevating it with smooth page transitions, a polished profile sidebar, and full portfolio support.\n\nOne of the most feature-rich free Jekyll themes available, it includes everything from KaTeX math rendering to offline PWA support. A paid PRO version adds extra layouts and features.\n\n**Who is it for?** Developers and technical writers who want a beautiful, full-featured blog and portfolio in one, with a distinctive aesthetic.\n","url":"/themes/hydejack/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Hydejack Jekyll Theme","description":"A boutique Jekyll theme with a rich sidebar, smooth page transitions, and portfolio support. The premium evolution of Hyde.","key_features":["Dark Mode","Page Transitions","Portfolio Support","Rich Sidebar"],"card_description":"Boutique theme with smooth page transitions and portfolio support.","category":"Blog","card_image":"/assets/images/themes/hydejack-card.webp","theme_screenshots":["/assets/images/themes/hydejack-screenshot.webp","/assets/images/themes/hydejack-screenshot-2.webp","/assets/images/themes/hydejack-screenshot-3.webp"],"demo_url":"https://hydejack.com/","github_url":"https://github.com/hydecorp/hydejack","author":"GitHub Community","github_author_name":"Florian Klampfer","github_author_url":"https://github.com/qwtel","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate-v2"],"updated_at":"2024-02-01","added_at":"2026-01-30","popular":true,"trending":false,"bestseller":false,"version":"9.2.1","license":"GPL-3.0","stars":9000,"forks":1700,"features":["Rich profile sidebar with avatar","Smooth page transitions","Portfolio / project pages","Dark and light themes","Math support (KaTeX)","Resume page layout","Offline support (PWA)"],"slug":"hydejack","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/hydra.md","relative_path":"_themes/hydra.md","excerpt":"<p>Hydra is a product marketing theme from CloudCannon, built for SaaS products, apps, and services that need a professional landing page. Hero, features, pricing, and testimonials sections are all pre-built and easy to customise.</p>\n\n","previous":{"path":"_themes/hydejack.md","relative_path":"_themes/hydejack.md","excerpt":"<p>Hydejack is the boutique evolution of Hyde — taking the two-column sidebar layout and elevating it with smooth page transitions, a polished profile sidebar, and full portfolio support.</p>\n\n","previous":{"path":"_themes/hyde.md","relative_path":"_themes/hyde.md","id":"/themes/hyde","collection":"themes","url":"/themes/hyde/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hyde Jekyll Theme","description":"A brazen two-column Jekyll theme that pairs a prominent sidebar with uncomplicated content. Based on Poole, by Mark Otto.","key_features":["GitHub Pages","Sidebar Layout","Color Themes","Clean Typography"],"card_description":"Two-column theme with prominent sidebar — elegant and timeless.","category":"Blog","card_image":"/assets/images/themes/hyde-card.webp","theme_screenshots":["/assets/images/themes/hyde-screenshot.webp","/assets/images/themes/hyde-screenshot-2.webp","/assets/images/themes/hyde-screenshot-3.webp"],"demo_url":"https://hyde.getpoole.com/","github_url":"https://github.com/poole/hyde","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-01-25","popular":true,"trending":false,"bestseller":false,"version":"2.1.0","license":"MIT","stars":9700,"forks":3800,"features":["Persistent dark sidebar","Eight colour themes","Reverse layout variant","Clean typography","Mobile responsive"],"slug":"hyde","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hydejack","collection":"themes","next":{"path":"_themes/hydra.md","relative_path":"_themes/hydra.md","id":"/themes/hydra","collection":"themes","url":"/themes/hydra/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hydra Jekyll Theme","description":"A product and SaaS marketing Jekyll theme with a clean hero section, feature grid, pricing table, and testimonials.","key_features":["Pricing Table","Feature Grid","GitHub Pages","SaaS Ready"],"card_description":"SaaS marketing theme with hero, feature grid, and pricing table.","category":"Landing Page","card_image":"/assets/images/themes/hydra-card.webp","theme_screenshots":["/assets/images/themes/hydra-screenshot.webp","/assets/images/themes/hydra-screenshot-2.webp","/assets/images/themes/hydra-screenshot-3.webp"],"demo_url":"https://orange-ape.cloudvent.net/","github_url":"https://github.com/CloudCannon/hydra-jekyll-template","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-05-14","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":450,"forks":213,"features":["SaaS marketing layout","Hero section with CTA","Feature grid","Pricing table","Testimonials section","Blog included","Contact form ready","GitHub Pages compatible","CloudCannon CMS ready","Fully responsive"],"slug":"hydra","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hydejack is the boutique evolution of Hyde — taking the two-column sidebar layout and elevating it with smooth page transitions, a polished profile sidebar, and full portfolio support.\n\nOne of the most feature-rich free Jekyll themes available, it includes everything from KaTeX math rendering to offline PWA support. A paid PRO version adds extra layouts and features.\n\n**Who is it for?** Developers and technical writers who want a beautiful, full-featured blog and portfolio in one, with a distinctive aesthetic.\n","url":"/themes/hydejack/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Hydejack Jekyll Theme","description":"A boutique Jekyll theme with a rich sidebar, smooth page transitions, and portfolio support. The premium evolution of Hyde.","key_features":["Dark Mode","Page Transitions","Portfolio Support","Rich Sidebar"],"card_description":"Boutique theme with smooth page transitions and portfolio support.","category":"Blog","card_image":"/assets/images/themes/hydejack-card.webp","theme_screenshots":["/assets/images/themes/hydejack-screenshot.webp","/assets/images/themes/hydejack-screenshot-2.webp","/assets/images/themes/hydejack-screenshot-3.webp"],"demo_url":"https://hydejack.com/","github_url":"https://github.com/hydecorp/hydejack","author":"GitHub Community","github_author_name":"Florian Klampfer","github_author_url":"https://github.com/qwtel","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate-v2"],"updated_at":"2024-02-01","added_at":"2026-01-30","popular":true,"trending":false,"bestseller":false,"version":"9.2.1","license":"GPL-3.0","stars":9000,"forks":1700,"features":["Rich profile sidebar with avatar","Smooth page transitions","Portfolio / project pages","Dark and light themes","Math support (KaTeX)","Resume page layout","Offline support (PWA)"],"slug":"hydejack","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hydra","collection":"themes","next":{"path":"_themes/jasper.md","relative_path":"_themes/jasper.md","excerpt":"<p>Jasper brings the polished editorial aesthetic of Ghost’s default Casper theme to the Jekyll ecosystem. If you admire the clean, image-led layout of Ghost blogs but want to stay on a static site, Jasper is the natural choice.</p>\n\n","previous":{"path":"_themes/hydra.md","relative_path":"_themes/hydra.md","id":"/themes/hydra","collection":"themes","url":"/themes/hydra/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hydra Jekyll Theme","description":"A product and SaaS marketing Jekyll theme with a clean hero section, feature grid, pricing table, and testimonials.","key_features":["Pricing Table","Feature Grid","GitHub Pages","SaaS Ready"],"card_description":"SaaS marketing theme with hero, feature grid, and pricing table.","category":"Landing Page","card_image":"/assets/images/themes/hydra-card.webp","theme_screenshots":["/assets/images/themes/hydra-screenshot.webp","/assets/images/themes/hydra-screenshot-2.webp","/assets/images/themes/hydra-screenshot-3.webp"],"demo_url":"https://orange-ape.cloudvent.net/","github_url":"https://github.com/CloudCannon/hydra-jekyll-template","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-05-14","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":450,"forks":213,"features":["SaaS marketing layout","Hero section with CTA","Feature grid","Pricing table","Testimonials section","Blog included","Contact form ready","GitHub Pages compatible","CloudCannon CMS ready","Fully responsive"],"slug":"hydra","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/jasper","collection":"themes","next":{"path":"_themes/jekyll-now.md","relative_path":"_themes/jekyll-now.md","id":"/themes/jekyll-now","collection":"themes","url":"/themes/jekyll-now/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jekyll Now","description":"The quickest way to start a Jekyll blog. Fork on GitHub, enable Pages, and you have a live blog in under a minute — zero command line required.","key_features":["Zero Setup","GitHub Pages","Fork to Deploy","Beginner Friendly"],"card_description":"Quickest way to start a Jekyll blog — fork, enable Pages, done.","category":"Blog","card_image":"/assets/images/themes/jekyll-now-card.webp","theme_screenshots":["/assets/images/themes/jekyll-now-screenshot.webp","/assets/images/themes/jekyll-now-screenshot-2.webp","/assets/images/themes/jekyll-now-screenshot-3.webp"],"demo_url":"https://barryclark.github.io/jekyll-now/","github_url":"https://github.com/barryclark/jekyll-now","author":"GitHub Community","github_author_name":"Barry Clark","github_author_url":"https://github.com/barryclark","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":8400,"forks":3500,"features":["No command line required — fork and publish in 60 seconds","GitHub Pages native (zero config)","Disqus comments built in","Google Analytics support","Social icons for Twitter, GitHub, LinkedIn and more","Simple single-column blog layout","SVG social icons","RSS feed included","Beginner-friendly YAML configuration"],"slug":"jekyll-now","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Jasper brings the polished editorial aesthetic of Ghost's default Casper theme to the Jekyll ecosystem. If you admire the clean, image-led layout of Ghost blogs but want to stay on a static site, Jasper is the natural choice.\n\nCover images dominate the header of each post, creating a visual impact that draws readers in before they've read a word.\n\n**Who is it for?** Bloggers who love Ghost's editorial aesthetic but prefer or require a static Jekyll workflow.\n","url":"/themes/jasper/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jasper Jekyll Theme","description":"A Jekyll port of Ghost's default Casper theme. Brings the polished, editorial feel of Ghost blogging to static Jekyll sites.","key_features":["Ghost-Inspired","GitHub Pages","Editorial Design","Featured Images"],"card_description":"Jekyll port of Ghost's Casper — polished, editorial feel.","category":"Blog","card_image":"/assets/images/themes/jasper-card.webp","theme_screenshots":["/assets/images/themes/jasper-screenshot.webp","/assets/images/themes/jasper-screenshot-2.webp","/assets/images/themes/jasper-screenshot-3.webp"],"demo_url":"https://jekyllt.github.io/jasper/","github_url":"https://github.com/biomadeira/jasper","author":"GitHub Community","github_author_name":"biomadeira","github_author_url":"https://github.com/biomadeira","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-05-05","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":587,"forks":290,"features":["Ghost Casper port","Cover image header","Tag-based navigation","Author profiles","Post cover images","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible","Responsive design"],"slug":"jasper","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hydra is a product marketing theme from CloudCannon, built for SaaS products, apps, and services that need a professional landing page. Hero, features, pricing, and testimonials sections are all pre-built and easy to customise.\n\nA blog is included so you can publish content marketing articles alongside your product pages.\n\n**Who is it for?** Founders and teams launching SaaS products or apps who need a polished marketing site fast.\n","url":"/themes/hydra/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hydra Jekyll Theme","description":"A product and SaaS marketing Jekyll theme with a clean hero section, feature grid, pricing table, and testimonials.","key_features":["Pricing Table","Feature Grid","GitHub Pages","SaaS Ready"],"card_description":"SaaS marketing theme with hero, feature grid, and pricing table.","category":"Landing Page","card_image":"/assets/images/themes/hydra-card.webp","theme_screenshots":["/assets/images/themes/hydra-screenshot.webp","/assets/images/themes/hydra-screenshot-2.webp","/assets/images/themes/hydra-screenshot-3.webp"],"demo_url":"https://orange-ape.cloudvent.net/","github_url":"https://github.com/CloudCannon/hydra-jekyll-template","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-05-14","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":450,"forks":213,"features":["SaaS marketing layout","Hero section with CTA","Feature grid","Pricing table","Testimonials section","Blog included","Contact form ready","GitHub Pages compatible","CloudCannon CMS ready","Fully responsive"],"slug":"hydra","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/jasper.md","relative_path":"_themes/jasper.md","excerpt":"<p>Jasper brings the polished editorial aesthetic of Ghost’s default Casper theme to the Jekyll ecosystem. If you admire the clean, image-led layout of Ghost blogs but want to stay on a static site, Jasper is the natural choice.</p>\n\n","previous":{"path":"_themes/hydra.md","relative_path":"_themes/hydra.md","excerpt":"<p>Hydra is a product marketing theme from CloudCannon, built for SaaS products, apps, and services that need a professional landing page. Hero, features, pricing, and testimonials sections are all pre-built and easy to customise.</p>\n\n","previous":{"path":"_themes/hydejack.md","relative_path":"_themes/hydejack.md","id":"/themes/hydejack","collection":"themes","url":"/themes/hydejack/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Hydejack Jekyll Theme","description":"A boutique Jekyll theme with a rich sidebar, smooth page transitions, and portfolio support. The premium evolution of Hyde.","key_features":["Dark Mode","Page Transitions","Portfolio Support","Rich Sidebar"],"card_description":"Boutique theme with smooth page transitions and portfolio support.","category":"Blog","card_image":"/assets/images/themes/hydejack-card.webp","theme_screenshots":["/assets/images/themes/hydejack-screenshot.webp","/assets/images/themes/hydejack-screenshot-2.webp","/assets/images/themes/hydejack-screenshot-3.webp"],"demo_url":"https://hydejack.com/","github_url":"https://github.com/hydecorp/hydejack","author":"GitHub Community","github_author_name":"Florian Klampfer","github_author_url":"https://github.com/qwtel","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":false,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate-v2"],"updated_at":"2024-02-01","added_at":"2026-01-30","popular":true,"trending":false,"bestseller":false,"version":"9.2.1","license":"GPL-3.0","stars":9000,"forks":1700,"features":["Rich profile sidebar with avatar","Smooth page transitions","Portfolio / project pages","Dark and light themes","Math support (KaTeX)","Resume page layout","Offline support (PWA)"],"slug":"hydejack","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/hydra","collection":"themes","next":{"path":"_themes/jasper.md","relative_path":"_themes/jasper.md","id":"/themes/jasper","collection":"themes","url":"/themes/jasper/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jasper Jekyll Theme","description":"A Jekyll port of Ghost's default Casper theme. Brings the polished, editorial feel of Ghost blogging to static Jekyll sites.","key_features":["Ghost-Inspired","GitHub Pages","Editorial Design","Featured Images"],"card_description":"Jekyll port of Ghost's Casper — polished, editorial feel.","category":"Blog","card_image":"/assets/images/themes/jasper-card.webp","theme_screenshots":["/assets/images/themes/jasper-screenshot.webp","/assets/images/themes/jasper-screenshot-2.webp","/assets/images/themes/jasper-screenshot-3.webp"],"demo_url":"https://jekyllt.github.io/jasper/","github_url":"https://github.com/biomadeira/jasper","author":"GitHub Community","github_author_name":"biomadeira","github_author_url":"https://github.com/biomadeira","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-05-05","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":587,"forks":290,"features":["Ghost Casper port","Cover image header","Tag-based navigation","Author profiles","Post cover images","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible","Responsive design"],"slug":"jasper","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Hydra is a product marketing theme from CloudCannon, built for SaaS products, apps, and services that need a professional landing page. Hero, features, pricing, and testimonials sections are all pre-built and easy to customise.\n\nA blog is included so you can publish content marketing articles alongside your product pages.\n\n**Who is it for?** Founders and teams launching SaaS products or apps who need a polished marketing site fast.\n","url":"/themes/hydra/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hydra Jekyll Theme","description":"A product and SaaS marketing Jekyll theme with a clean hero section, feature grid, pricing table, and testimonials.","key_features":["Pricing Table","Feature Grid","GitHub Pages","SaaS Ready"],"card_description":"SaaS marketing theme with hero, feature grid, and pricing table.","category":"Landing Page","card_image":"/assets/images/themes/hydra-card.webp","theme_screenshots":["/assets/images/themes/hydra-screenshot.webp","/assets/images/themes/hydra-screenshot-2.webp","/assets/images/themes/hydra-screenshot-3.webp"],"demo_url":"https://orange-ape.cloudvent.net/","github_url":"https://github.com/CloudCannon/hydra-jekyll-template","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-05-14","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":450,"forks":213,"features":["SaaS marketing layout","Hero section with CTA","Feature grid","Pricing table","Testimonials section","Blog included","Contact form ready","GitHub Pages compatible","CloudCannon CMS ready","Fully responsive"],"slug":"hydra","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/jasper","collection":"themes","next":{"path":"_themes/jekyll-now.md","relative_path":"_themes/jekyll-now.md","excerpt":"<p>Jekyll Now is the most-forked Jekyll theme on GitHub and the go-to starting point for anyone who wants a blog without touching the command line. The setup is genuinely three steps: fork the repository, rename it to <code class=\"language-plaintext highlighter-rouge\">username.github.io</code>, and your blog is live.</p>\n\n","previous":{"path":"_themes/jasper.md","relative_path":"_themes/jasper.md","id":"/themes/jasper","collection":"themes","url":"/themes/jasper/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jasper Jekyll Theme","description":"A Jekyll port of Ghost's default Casper theme. Brings the polished, editorial feel of Ghost blogging to static Jekyll sites.","key_features":["Ghost-Inspired","GitHub Pages","Editorial Design","Featured Images"],"card_description":"Jekyll port of Ghost's Casper — polished, editorial feel.","category":"Blog","card_image":"/assets/images/themes/jasper-card.webp","theme_screenshots":["/assets/images/themes/jasper-screenshot.webp","/assets/images/themes/jasper-screenshot-2.webp","/assets/images/themes/jasper-screenshot-3.webp"],"demo_url":"https://jekyllt.github.io/jasper/","github_url":"https://github.com/biomadeira/jasper","author":"GitHub Community","github_author_name":"biomadeira","github_author_url":"https://github.com/biomadeira","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-05-05","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":587,"forks":290,"features":["Ghost Casper port","Cover image header","Tag-based navigation","Author profiles","Post cover images","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible","Responsive design"],"slug":"jasper","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/jekyll-now","collection":"themes","next":{"path":"_themes/jekyll-text-theme.md","relative_path":"_themes/jekyll-text-theme.md","id":"/themes/jekyll-text-theme","collection":"themes","url":"/themes/jekyll-text-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"TeXt Jekyll Theme","description":"A highly customisable Jekyll theme inspired by iOS 11 style. Features multiple skins, rich built-in components, full internationalisation, and support for blogs, documentation, and team sites.","key_features":["Multiple Skins","Dark Mode","Internationalisation","GitHub Pages"],"card_description":"iOS-inspired theme with multiple skins and rich built-in components.","category":"Blog","card_image":"/assets/images/themes/jekyll-text-theme-card.webp","theme_screenshots":["/assets/images/themes/jekyll-text-theme-screenshot.webp","/assets/images/themes/jekyll-text-theme-screenshot-2.webp","/assets/images/themes/jekyll-text-theme-screenshot-3.webp"],"demo_url":"https://kitian616.github.io/jekyll-TeXt-theme/","github_url":"https://github.com/kitian616/jekyll-TeXt-theme","author":"GitHub Community","github_author_name":"kitian616","github_author_url":"https://github.com/kitian616","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"2.2.6","license":"MIT","stars":3300,"forks":700,"features":["6 built-in colour skins","Dark mode support","Full internationalisation (i18n) with 10+ languages","Article reading progress bar","Disqus, Gitalk, and Valine comment systems","MathJax and Mermaid diagram support","Full-text search via Algolia or Simple Jekyll Search","Table of contents sidebar","Responsive image galleries","GitHub Pages compatible"],"slug":"jekyll-text-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Jekyll Now is the most-forked Jekyll theme on GitHub and the go-to starting point for anyone who wants a blog without touching the command line. The setup is genuinely three steps: fork the repository, rename it to `username.github.io`, and your blog is live.\n\nBarry Clark built Jekyll Now to lower the barrier to entry as far as it could go. The theme is intentionally minimal — clean typography, a responsive single-column layout, and just enough configuration to feel personal without overwhelming a new user.\n\n**Who is it for?** Beginners, writers, and developers who want a quick personal blog on GitHub Pages with no local setup required.\n","url":"/themes/jekyll-now/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jekyll Now","description":"The quickest way to start a Jekyll blog. Fork on GitHub, enable Pages, and you have a live blog in under a minute — zero command line required.","key_features":["Zero Setup","GitHub Pages","Fork to Deploy","Beginner Friendly"],"card_description":"Quickest way to start a Jekyll blog — fork, enable Pages, done.","category":"Blog","card_image":"/assets/images/themes/jekyll-now-card.webp","theme_screenshots":["/assets/images/themes/jekyll-now-screenshot.webp","/assets/images/themes/jekyll-now-screenshot-2.webp","/assets/images/themes/jekyll-now-screenshot-3.webp"],"demo_url":"https://barryclark.github.io/jekyll-now/","github_url":"https://github.com/barryclark/jekyll-now","author":"GitHub Community","github_author_name":"Barry Clark","github_author_url":"https://github.com/barryclark","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":8400,"forks":3500,"features":["No command line required — fork and publish in 60 seconds","GitHub Pages native (zero config)","Disqus comments built in","Google Analytics support","Social icons for Twitter, GitHub, LinkedIn and more","Simple single-column blog layout","SVG social icons","RSS feed included","Beginner-friendly YAML configuration"],"slug":"jekyll-now","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Jasper brings the polished editorial aesthetic of Ghost's default Casper theme to the Jekyll ecosystem. If you admire the clean, image-led layout of Ghost blogs but want to stay on a static site, Jasper is the natural choice.\n\nCover images dominate the header of each post, creating a visual impact that draws readers in before they've read a word.\n\n**Who is it for?** Bloggers who love Ghost's editorial aesthetic but prefer or require a static Jekyll workflow.\n","url":"/themes/jasper/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jasper Jekyll Theme","description":"A Jekyll port of Ghost's default Casper theme. Brings the polished, editorial feel of Ghost blogging to static Jekyll sites.","key_features":["Ghost-Inspired","GitHub Pages","Editorial Design","Featured Images"],"card_description":"Jekyll port of Ghost's Casper — polished, editorial feel.","category":"Blog","card_image":"/assets/images/themes/jasper-card.webp","theme_screenshots":["/assets/images/themes/jasper-screenshot.webp","/assets/images/themes/jasper-screenshot-2.webp","/assets/images/themes/jasper-screenshot-3.webp"],"demo_url":"https://jekyllt.github.io/jasper/","github_url":"https://github.com/biomadeira/jasper","author":"GitHub Community","github_author_name":"biomadeira","github_author_url":"https://github.com/biomadeira","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-05-05","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":587,"forks":290,"features":["Ghost Casper port","Cover image header","Tag-based navigation","Author profiles","Post cover images","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible","Responsive design"],"slug":"jasper","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/jekyll-now.md","relative_path":"_themes/jekyll-now.md","excerpt":"<p>Jekyll Now is the most-forked Jekyll theme on GitHub and the go-to starting point for anyone who wants a blog without touching the command line. The setup is genuinely three steps: fork the repository, rename it to <code class=\"language-plaintext highlighter-rouge\">username.github.io</code>, and your blog is live.</p>\n\n","previous":{"path":"_themes/jasper.md","relative_path":"_themes/jasper.md","excerpt":"<p>Jasper brings the polished editorial aesthetic of Ghost’s default Casper theme to the Jekyll ecosystem. If you admire the clean, image-led layout of Ghost blogs but want to stay on a static site, Jasper is the natural choice.</p>\n\n","previous":{"path":"_themes/hydra.md","relative_path":"_themes/hydra.md","id":"/themes/hydra","collection":"themes","url":"/themes/hydra/","draft":false,"categories":["Landing Page"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Hydra Jekyll Theme","description":"A product and SaaS marketing Jekyll theme with a clean hero section, feature grid, pricing table, and testimonials.","key_features":["Pricing Table","Feature Grid","GitHub Pages","SaaS Ready"],"card_description":"SaaS marketing theme with hero, feature grid, and pricing table.","category":"Landing Page","card_image":"/assets/images/themes/hydra-card.webp","theme_screenshots":["/assets/images/themes/hydra-screenshot.webp","/assets/images/themes/hydra-screenshot-2.webp","/assets/images/themes/hydra-screenshot-3.webp"],"demo_url":"https://orange-ape.cloudvent.net/","github_url":"https://github.com/CloudCannon/hydra-jekyll-template","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap"],"updated_at":"2025-05-14","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":450,"forks":213,"features":["SaaS marketing layout","Hero section with CTA","Feature grid","Pricing table","Testimonials section","Blog included","Contact form ready","GitHub Pages compatible","CloudCannon CMS ready","Fully responsive"],"slug":"hydra","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/jasper","collection":"themes","next":{"path":"_themes/jekyll-now.md","relative_path":"_themes/jekyll-now.md","id":"/themes/jekyll-now","collection":"themes","url":"/themes/jekyll-now/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jekyll Now","description":"The quickest way to start a Jekyll blog. Fork on GitHub, enable Pages, and you have a live blog in under a minute — zero command line required.","key_features":["Zero Setup","GitHub Pages","Fork to Deploy","Beginner Friendly"],"card_description":"Quickest way to start a Jekyll blog — fork, enable Pages, done.","category":"Blog","card_image":"/assets/images/themes/jekyll-now-card.webp","theme_screenshots":["/assets/images/themes/jekyll-now-screenshot.webp","/assets/images/themes/jekyll-now-screenshot-2.webp","/assets/images/themes/jekyll-now-screenshot-3.webp"],"demo_url":"https://barryclark.github.io/jekyll-now/","github_url":"https://github.com/barryclark/jekyll-now","author":"GitHub Community","github_author_name":"Barry Clark","github_author_url":"https://github.com/barryclark","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":8400,"forks":3500,"features":["No command line required — fork and publish in 60 seconds","GitHub Pages native (zero config)","Disqus comments built in","Google Analytics support","Social icons for Twitter, GitHub, LinkedIn and more","Simple single-column blog layout","SVG social icons","RSS feed included","Beginner-friendly YAML configuration"],"slug":"jekyll-now","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Jasper brings the polished editorial aesthetic of Ghost's default Casper theme to the Jekyll ecosystem. If you admire the clean, image-led layout of Ghost blogs but want to stay on a static site, Jasper is the natural choice.\n\nCover images dominate the header of each post, creating a visual impact that draws readers in before they've read a word.\n\n**Who is it for?** Bloggers who love Ghost's editorial aesthetic but prefer or require a static Jekyll workflow.\n","url":"/themes/jasper/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jasper Jekyll Theme","description":"A Jekyll port of Ghost's default Casper theme. Brings the polished, editorial feel of Ghost blogging to static Jekyll sites.","key_features":["Ghost-Inspired","GitHub Pages","Editorial Design","Featured Images"],"card_description":"Jekyll port of Ghost's Casper — polished, editorial feel.","category":"Blog","card_image":"/assets/images/themes/jasper-card.webp","theme_screenshots":["/assets/images/themes/jasper-screenshot.webp","/assets/images/themes/jasper-screenshot-2.webp","/assets/images/themes/jasper-screenshot-3.webp"],"demo_url":"https://jekyllt.github.io/jasper/","github_url":"https://github.com/biomadeira/jasper","author":"GitHub Community","github_author_name":"biomadeira","github_author_url":"https://github.com/biomadeira","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-05-05","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":587,"forks":290,"features":["Ghost Casper port","Cover image header","Tag-based navigation","Author profiles","Post cover images","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible","Responsive design"],"slug":"jasper","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/jekyll-now","collection":"themes","next":{"path":"_themes/jekyll-text-theme.md","relative_path":"_themes/jekyll-text-theme.md","excerpt":"<p>TeXt is one of the most feature-complete free Jekyll themes available. Its iOS 11-inspired design is clean and modern, and the depth of built-in functionality is remarkable for a free theme — you get multiple colour skins, dark mode, reading progress, multiple comment systems, maths rendering, diagram support, and full internationalisation all out of the box.</p>\n\n","previous":{"path":"_themes/jekyll-now.md","relative_path":"_themes/jekyll-now.md","id":"/themes/jekyll-now","collection":"themes","url":"/themes/jekyll-now/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jekyll Now","description":"The quickest way to start a Jekyll blog. Fork on GitHub, enable Pages, and you have a live blog in under a minute — zero command line required.","key_features":["Zero Setup","GitHub Pages","Fork to Deploy","Beginner Friendly"],"card_description":"Quickest way to start a Jekyll blog — fork, enable Pages, done.","category":"Blog","card_image":"/assets/images/themes/jekyll-now-card.webp","theme_screenshots":["/assets/images/themes/jekyll-now-screenshot.webp","/assets/images/themes/jekyll-now-screenshot-2.webp","/assets/images/themes/jekyll-now-screenshot-3.webp"],"demo_url":"https://barryclark.github.io/jekyll-now/","github_url":"https://github.com/barryclark/jekyll-now","author":"GitHub Community","github_author_name":"Barry Clark","github_author_url":"https://github.com/barryclark","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":8400,"forks":3500,"features":["No command line required — fork and publish in 60 seconds","GitHub Pages native (zero config)","Disqus comments built in","Google Analytics support","Social icons for Twitter, GitHub, LinkedIn and more","Simple single-column blog layout","SVG social icons","RSS feed included","Beginner-friendly YAML configuration"],"slug":"jekyll-now","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/jekyll-text-theme","collection":"themes","next":{"path":"_themes/just-the-docs.md","relative_path":"_themes/just-the-docs.md","id":"/themes/just-the-docs","collection":"themes","url":"/themes/just-the-docs/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Just the Docs Jekyll Theme","description":"The most popular Jekyll documentation theme. Clean sidebar navigation, full-text search, and excellent code block support.","key_features":["Dark Mode","Full-Text Search","Sidebar Nav","GitHub Pages"],"card_description":"Most popular Jekyll docs theme with sidebar navigation and search.","category":"Documentation","card_image":"/assets/images/themes/just-the-docs-card.webp","theme_screenshots":["/assets/images/themes/just-the-docs-screenshot.webp","/assets/images/themes/just-the-docs-screenshot-2.webp","/assets/images/themes/just-the-docs-screenshot-3.webp"],"demo_url":"https://just-the-docs.com/","github_url":"https://github.com/just-the-docs/just-the-docs","author":"GitHub Community","github_author_name":"Just the Docs","github_author_url":"https://github.com/just-the-docs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-05-01","added_at":"2026-01-08","popular":true,"trending":true,"bestseller":false,"version":"0.10.0","license":"MIT","stars":7800,"forks":3100,"features":["Full-text search (client-side)","Multi-level sidebar navigation","Light and dark colour schemes","Code syntax highlighting","Table of contents per page","Configurable navigation order","Customisable colour variables"],"slug":"just-the-docs","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"TeXt is one of the most feature-complete free Jekyll themes available. Its iOS 11-inspired design is clean and modern, and the depth of built-in functionality is remarkable for a free theme — you get multiple colour skins, dark mode, reading progress, multiple comment systems, maths rendering, diagram support, and full internationalisation all out of the box.\n\nThe theme works equally well for personal blogs, team sites, and documentation. Its YAML-driven configuration keeps customisation accessible without requiring deep Jekyll knowledge.\n\n**Who is it for?** Bloggers, developers, and teams who want a polished, professional site with broad feature coverage and don't want to piece together plugins manually.\n","url":"/themes/jekyll-text-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"TeXt Jekyll Theme","description":"A highly customisable Jekyll theme inspired by iOS 11 style. Features multiple skins, rich built-in components, full internationalisation, and support for blogs, documentation, and team sites.","key_features":["Multiple Skins","Dark Mode","Internationalisation","GitHub Pages"],"card_description":"iOS-inspired theme with multiple skins and rich built-in components.","category":"Blog","card_image":"/assets/images/themes/jekyll-text-theme-card.webp","theme_screenshots":["/assets/images/themes/jekyll-text-theme-screenshot.webp","/assets/images/themes/jekyll-text-theme-screenshot-2.webp","/assets/images/themes/jekyll-text-theme-screenshot-3.webp"],"demo_url":"https://kitian616.github.io/jekyll-TeXt-theme/","github_url":"https://github.com/kitian616/jekyll-TeXt-theme","author":"GitHub Community","github_author_name":"kitian616","github_author_url":"https://github.com/kitian616","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"2.2.6","license":"MIT","stars":3300,"forks":700,"features":["6 built-in colour skins","Dark mode support","Full internationalisation (i18n) with 10+ languages","Article reading progress bar","Disqus, Gitalk, and Valine comment systems","MathJax and Mermaid diagram support","Full-text search via Algolia or Simple Jekyll Search","Table of contents sidebar","Responsive image galleries","GitHub Pages compatible"],"slug":"jekyll-text-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Jekyll Now is the most-forked Jekyll theme on GitHub and the go-to starting point for anyone who wants a blog without touching the command line. The setup is genuinely three steps: fork the repository, rename it to `username.github.io`, and your blog is live.\n\nBarry Clark built Jekyll Now to lower the barrier to entry as far as it could go. The theme is intentionally minimal — clean typography, a responsive single-column layout, and just enough configuration to feel personal without overwhelming a new user.\n\n**Who is it for?** Beginners, writers, and developers who want a quick personal blog on GitHub Pages with no local setup required.\n","url":"/themes/jekyll-now/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jekyll Now","description":"The quickest way to start a Jekyll blog. Fork on GitHub, enable Pages, and you have a live blog in under a minute — zero command line required.","key_features":["Zero Setup","GitHub Pages","Fork to Deploy","Beginner Friendly"],"card_description":"Quickest way to start a Jekyll blog — fork, enable Pages, done.","category":"Blog","card_image":"/assets/images/themes/jekyll-now-card.webp","theme_screenshots":["/assets/images/themes/jekyll-now-screenshot.webp","/assets/images/themes/jekyll-now-screenshot-2.webp","/assets/images/themes/jekyll-now-screenshot-3.webp"],"demo_url":"https://barryclark.github.io/jekyll-now/","github_url":"https://github.com/barryclark/jekyll-now","author":"GitHub Community","github_author_name":"Barry Clark","github_author_url":"https://github.com/barryclark","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":8400,"forks":3500,"features":["No command line required — fork and publish in 60 seconds","GitHub Pages native (zero config)","Disqus comments built in","Google Analytics support","Social icons for Twitter, GitHub, LinkedIn and more","Simple single-column blog layout","SVG social icons","RSS feed included","Beginner-friendly YAML configuration"],"slug":"jekyll-now","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/jekyll-text-theme.md","relative_path":"_themes/jekyll-text-theme.md","excerpt":"<p>TeXt is one of the most feature-complete free Jekyll themes available. Its iOS 11-inspired design is clean and modern, and the depth of built-in functionality is remarkable for a free theme — you get multiple colour skins, dark mode, reading progress, multiple comment systems, maths rendering, diagram support, and full internationalisation all out of the box.</p>\n\n","previous":{"path":"_themes/jekyll-now.md","relative_path":"_themes/jekyll-now.md","excerpt":"<p>Jekyll Now is the most-forked Jekyll theme on GitHub and the go-to starting point for anyone who wants a blog without touching the command line. The setup is genuinely three steps: fork the repository, rename it to <code class=\"language-plaintext highlighter-rouge\">username.github.io</code>, and your blog is live.</p>\n\n","previous":{"path":"_themes/jasper.md","relative_path":"_themes/jasper.md","id":"/themes/jasper","collection":"themes","url":"/themes/jasper/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jasper Jekyll Theme","description":"A Jekyll port of Ghost's default Casper theme. Brings the polished, editorial feel of Ghost blogging to static Jekyll sites.","key_features":["Ghost-Inspired","GitHub Pages","Editorial Design","Featured Images"],"card_description":"Jekyll port of Ghost's Casper — polished, editorial feel.","category":"Blog","card_image":"/assets/images/themes/jasper-card.webp","theme_screenshots":["/assets/images/themes/jasper-screenshot.webp","/assets/images/themes/jasper-screenshot-2.webp","/assets/images/themes/jasper-screenshot-3.webp"],"demo_url":"https://jekyllt.github.io/jasper/","github_url":"https://github.com/biomadeira/jasper","author":"GitHub Community","github_author_name":"biomadeira","github_author_url":"https://github.com/biomadeira","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2023-05-05","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":587,"forks":290,"features":["Ghost Casper port","Cover image header","Tag-based navigation","Author profiles","Post cover images","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible","Responsive design"],"slug":"jasper","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/jekyll-now","collection":"themes","next":{"path":"_themes/jekyll-text-theme.md","relative_path":"_themes/jekyll-text-theme.md","id":"/themes/jekyll-text-theme","collection":"themes","url":"/themes/jekyll-text-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"TeXt Jekyll Theme","description":"A highly customisable Jekyll theme inspired by iOS 11 style. Features multiple skins, rich built-in components, full internationalisation, and support for blogs, documentation, and team sites.","key_features":["Multiple Skins","Dark Mode","Internationalisation","GitHub Pages"],"card_description":"iOS-inspired theme with multiple skins and rich built-in components.","category":"Blog","card_image":"/assets/images/themes/jekyll-text-theme-card.webp","theme_screenshots":["/assets/images/themes/jekyll-text-theme-screenshot.webp","/assets/images/themes/jekyll-text-theme-screenshot-2.webp","/assets/images/themes/jekyll-text-theme-screenshot-3.webp"],"demo_url":"https://kitian616.github.io/jekyll-TeXt-theme/","github_url":"https://github.com/kitian616/jekyll-TeXt-theme","author":"GitHub Community","github_author_name":"kitian616","github_author_url":"https://github.com/kitian616","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"2.2.6","license":"MIT","stars":3300,"forks":700,"features":["6 built-in colour skins","Dark mode support","Full internationalisation (i18n) with 10+ languages","Article reading progress bar","Disqus, Gitalk, and Valine comment systems","MathJax and Mermaid diagram support","Full-text search via Algolia or Simple Jekyll Search","Table of contents sidebar","Responsive image galleries","GitHub Pages compatible"],"slug":"jekyll-text-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Jekyll Now is the most-forked Jekyll theme on GitHub and the go-to starting point for anyone who wants a blog without touching the command line. The setup is genuinely three steps: fork the repository, rename it to `username.github.io`, and your blog is live.\n\nBarry Clark built Jekyll Now to lower the barrier to entry as far as it could go. The theme is intentionally minimal — clean typography, a responsive single-column layout, and just enough configuration to feel personal without overwhelming a new user.\n\n**Who is it for?** Beginners, writers, and developers who want a quick personal blog on GitHub Pages with no local setup required.\n","url":"/themes/jekyll-now/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jekyll Now","description":"The quickest way to start a Jekyll blog. Fork on GitHub, enable Pages, and you have a live blog in under a minute — zero command line required.","key_features":["Zero Setup","GitHub Pages","Fork to Deploy","Beginner Friendly"],"card_description":"Quickest way to start a Jekyll blog — fork, enable Pages, done.","category":"Blog","card_image":"/assets/images/themes/jekyll-now-card.webp","theme_screenshots":["/assets/images/themes/jekyll-now-screenshot.webp","/assets/images/themes/jekyll-now-screenshot-2.webp","/assets/images/themes/jekyll-now-screenshot-3.webp"],"demo_url":"https://barryclark.github.io/jekyll-now/","github_url":"https://github.com/barryclark/jekyll-now","author":"GitHub Community","github_author_name":"Barry Clark","github_author_url":"https://github.com/barryclark","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":8400,"forks":3500,"features":["No command line required — fork and publish in 60 seconds","GitHub Pages native (zero config)","Disqus comments built in","Google Analytics support","Social icons for Twitter, GitHub, LinkedIn and more","Simple single-column blog layout","SVG social icons","RSS feed included","Beginner-friendly YAML configuration"],"slug":"jekyll-now","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/jekyll-text-theme","collection":"themes","next":{"path":"_themes/just-the-docs.md","relative_path":"_themes/just-the-docs.md","excerpt":"<p>Just the Docs is the undisputed standard for Jekyll documentation sites. Thousands of open source projects use it to ship clean, searchable documentation — from small libraries to major frameworks.</p>\n\n","previous":{"path":"_themes/jekyll-text-theme.md","relative_path":"_themes/jekyll-text-theme.md","id":"/themes/jekyll-text-theme","collection":"themes","url":"/themes/jekyll-text-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"TeXt Jekyll Theme","description":"A highly customisable Jekyll theme inspired by iOS 11 style. Features multiple skins, rich built-in components, full internationalisation, and support for blogs, documentation, and team sites.","key_features":["Multiple Skins","Dark Mode","Internationalisation","GitHub Pages"],"card_description":"iOS-inspired theme with multiple skins and rich built-in components.","category":"Blog","card_image":"/assets/images/themes/jekyll-text-theme-card.webp","theme_screenshots":["/assets/images/themes/jekyll-text-theme-screenshot.webp","/assets/images/themes/jekyll-text-theme-screenshot-2.webp","/assets/images/themes/jekyll-text-theme-screenshot-3.webp"],"demo_url":"https://kitian616.github.io/jekyll-TeXt-theme/","github_url":"https://github.com/kitian616/jekyll-TeXt-theme","author":"GitHub Community","github_author_name":"kitian616","github_author_url":"https://github.com/kitian616","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"2.2.6","license":"MIT","stars":3300,"forks":700,"features":["6 built-in colour skins","Dark mode support","Full internationalisation (i18n) with 10+ languages","Article reading progress bar","Disqus, Gitalk, and Valine comment systems","MathJax and Mermaid diagram support","Full-text search via Algolia or Simple Jekyll Search","Table of contents sidebar","Responsive image galleries","GitHub Pages compatible"],"slug":"jekyll-text-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/just-the-docs","collection":"themes","next":{"path":"_themes/klise.md","relative_path":"_themes/klise.md","id":"/themes/klise","collection":"themes","url":"/themes/klise/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Klisé Jekyll Theme","description":"A minimalist Jekyll theme with seamless light and dark mode. Clean typography, fast performance, and a modern aesthetic — designed for personal sites and blogs that value simplicity.","key_features":["Dark Mode","Seamless Toggle","Minimal Design","Fast Performance"],"card_description":"Minimalist theme with seamless dark mode and clean typography.","category":"Blog","card_image":"/assets/images/themes/klise-card.webp","theme_screenshots":["/assets/images/themes/klise-screenshot.webp","/assets/images/themes/klise-screenshot-2.webp","/assets/images/themes/klise-screenshot-3.webp"],"demo_url":"https://klise.vercel.app/","github_url":"https://github.com/piharpi/jekyll-klise","author":"GitHub Community","github_author_name":"piharpi","github_author_url":"https://github.com/piharpi","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"0.4.1","license":"MIT","stars":300,"forks":200,"features":["Seamless light and dark mode toggle","Clean, modern minimal design","Fast performance (minimal CSS/JS)","Post categories and tags","Syntax highlighting","Responsive images","Reading time estimates","SEO optimised","GitHub Pages compatible","Vercel deploy ready"],"slug":"klise","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Just the Docs is the undisputed standard for Jekyll documentation sites. Thousands of open source projects use it to ship clean, searchable documentation — from small libraries to major frameworks.\n\nIts sidebar navigation supports multiple levels of nesting, its search is fast and client-side, and the whole thing is deeply customisable through SCSS variables.\n\n**Who is it for?** Open source projects, developer tools, APIs, and anyone building a documentation site that needs to look professional and be easy to navigate.\n","url":"/themes/just-the-docs/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Just the Docs Jekyll Theme","description":"The most popular Jekyll documentation theme. Clean sidebar navigation, full-text search, and excellent code block support.","key_features":["Dark Mode","Full-Text Search","Sidebar Nav","GitHub Pages"],"card_description":"Most popular Jekyll docs theme with sidebar navigation and search.","category":"Documentation","card_image":"/assets/images/themes/just-the-docs-card.webp","theme_screenshots":["/assets/images/themes/just-the-docs-screenshot.webp","/assets/images/themes/just-the-docs-screenshot-2.webp","/assets/images/themes/just-the-docs-screenshot-3.webp"],"demo_url":"https://just-the-docs.com/","github_url":"https://github.com/just-the-docs/just-the-docs","author":"GitHub Community","github_author_name":"Just the Docs","github_author_url":"https://github.com/just-the-docs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-05-01","added_at":"2026-01-08","popular":true,"trending":true,"bestseller":false,"version":"0.10.0","license":"MIT","stars":7800,"forks":3100,"features":["Full-text search (client-side)","Multi-level sidebar navigation","Light and dark colour schemes","Code syntax highlighting","Table of contents per page","Configurable navigation order","Customisable colour variables"],"slug":"just-the-docs","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"TeXt is one of the most feature-complete free Jekyll themes available. Its iOS 11-inspired design is clean and modern, and the depth of built-in functionality is remarkable for a free theme — you get multiple colour skins, dark mode, reading progress, multiple comment systems, maths rendering, diagram support, and full internationalisation all out of the box.\n\nThe theme works equally well for personal blogs, team sites, and documentation. Its YAML-driven configuration keeps customisation accessible without requiring deep Jekyll knowledge.\n\n**Who is it for?** Bloggers, developers, and teams who want a polished, professional site with broad feature coverage and don't want to piece together plugins manually.\n","url":"/themes/jekyll-text-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"TeXt Jekyll Theme","description":"A highly customisable Jekyll theme inspired by iOS 11 style. Features multiple skins, rich built-in components, full internationalisation, and support for blogs, documentation, and team sites.","key_features":["Multiple Skins","Dark Mode","Internationalisation","GitHub Pages"],"card_description":"iOS-inspired theme with multiple skins and rich built-in components.","category":"Blog","card_image":"/assets/images/themes/jekyll-text-theme-card.webp","theme_screenshots":["/assets/images/themes/jekyll-text-theme-screenshot.webp","/assets/images/themes/jekyll-text-theme-screenshot-2.webp","/assets/images/themes/jekyll-text-theme-screenshot-3.webp"],"demo_url":"https://kitian616.github.io/jekyll-TeXt-theme/","github_url":"https://github.com/kitian616/jekyll-TeXt-theme","author":"GitHub Community","github_author_name":"kitian616","github_author_url":"https://github.com/kitian616","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"2.2.6","license":"MIT","stars":3300,"forks":700,"features":["6 built-in colour skins","Dark mode support","Full internationalisation (i18n) with 10+ languages","Article reading progress bar","Disqus, Gitalk, and Valine comment systems","MathJax and Mermaid diagram support","Full-text search via Algolia or Simple Jekyll Search","Table of contents sidebar","Responsive image galleries","GitHub Pages compatible"],"slug":"jekyll-text-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/just-the-docs.md","relative_path":"_themes/just-the-docs.md","excerpt":"<p>Just the Docs is the undisputed standard for Jekyll documentation sites. Thousands of open source projects use it to ship clean, searchable documentation — from small libraries to major frameworks.</p>\n\n","previous":{"path":"_themes/jekyll-text-theme.md","relative_path":"_themes/jekyll-text-theme.md","excerpt":"<p>TeXt is one of the most feature-complete free Jekyll themes available. Its iOS 11-inspired design is clean and modern, and the depth of built-in functionality is remarkable for a free theme — you get multiple colour skins, dark mode, reading progress, multiple comment systems, maths rendering, diagram support, and full internationalisation all out of the box.</p>\n\n","previous":{"path":"_themes/jekyll-now.md","relative_path":"_themes/jekyll-now.md","id":"/themes/jekyll-now","collection":"themes","url":"/themes/jekyll-now/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Jekyll Now","description":"The quickest way to start a Jekyll blog. Fork on GitHub, enable Pages, and you have a live blog in under a minute — zero command line required.","key_features":["Zero Setup","GitHub Pages","Fork to Deploy","Beginner Friendly"],"card_description":"Quickest way to start a Jekyll blog — fork, enable Pages, done.","category":"Blog","card_image":"/assets/images/themes/jekyll-now-card.webp","theme_screenshots":["/assets/images/themes/jekyll-now-screenshot.webp","/assets/images/themes/jekyll-now-screenshot-2.webp","/assets/images/themes/jekyll-now-screenshot-3.webp"],"demo_url":"https://barryclark.github.io/jekyll-now/","github_url":"https://github.com/barryclark/jekyll-now","author":"GitHub Community","github_author_name":"Barry Clark","github_author_url":"https://github.com/barryclark","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":8400,"forks":3500,"features":["No command line required — fork and publish in 60 seconds","GitHub Pages native (zero config)","Disqus comments built in","Google Analytics support","Social icons for Twitter, GitHub, LinkedIn and more","Simple single-column blog layout","SVG social icons","RSS feed included","Beginner-friendly YAML configuration"],"slug":"jekyll-now","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/jekyll-text-theme","collection":"themes","next":{"path":"_themes/just-the-docs.md","relative_path":"_themes/just-the-docs.md","id":"/themes/just-the-docs","collection":"themes","url":"/themes/just-the-docs/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Just the Docs Jekyll Theme","description":"The most popular Jekyll documentation theme. Clean sidebar navigation, full-text search, and excellent code block support.","key_features":["Dark Mode","Full-Text Search","Sidebar Nav","GitHub Pages"],"card_description":"Most popular Jekyll docs theme with sidebar navigation and search.","category":"Documentation","card_image":"/assets/images/themes/just-the-docs-card.webp","theme_screenshots":["/assets/images/themes/just-the-docs-screenshot.webp","/assets/images/themes/just-the-docs-screenshot-2.webp","/assets/images/themes/just-the-docs-screenshot-3.webp"],"demo_url":"https://just-the-docs.com/","github_url":"https://github.com/just-the-docs/just-the-docs","author":"GitHub Community","github_author_name":"Just the Docs","github_author_url":"https://github.com/just-the-docs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-05-01","added_at":"2026-01-08","popular":true,"trending":true,"bestseller":false,"version":"0.10.0","license":"MIT","stars":7800,"forks":3100,"features":["Full-text search (client-side)","Multi-level sidebar navigation","Light and dark colour schemes","Code syntax highlighting","Table of contents per page","Configurable navigation order","Customisable colour variables"],"slug":"just-the-docs","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"TeXt is one of the most feature-complete free Jekyll themes available. Its iOS 11-inspired design is clean and modern, and the depth of built-in functionality is remarkable for a free theme — you get multiple colour skins, dark mode, reading progress, multiple comment systems, maths rendering, diagram support, and full internationalisation all out of the box.\n\nThe theme works equally well for personal blogs, team sites, and documentation. Its YAML-driven configuration keeps customisation accessible without requiring deep Jekyll knowledge.\n\n**Who is it for?** Bloggers, developers, and teams who want a polished, professional site with broad feature coverage and don't want to piece together plugins manually.\n","url":"/themes/jekyll-text-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"TeXt Jekyll Theme","description":"A highly customisable Jekyll theme inspired by iOS 11 style. Features multiple skins, rich built-in components, full internationalisation, and support for blogs, documentation, and team sites.","key_features":["Multiple Skins","Dark Mode","Internationalisation","GitHub Pages"],"card_description":"iOS-inspired theme with multiple skins and rich built-in components.","category":"Blog","card_image":"/assets/images/themes/jekyll-text-theme-card.webp","theme_screenshots":["/assets/images/themes/jekyll-text-theme-screenshot.webp","/assets/images/themes/jekyll-text-theme-screenshot-2.webp","/assets/images/themes/jekyll-text-theme-screenshot-3.webp"],"demo_url":"https://kitian616.github.io/jekyll-TeXt-theme/","github_url":"https://github.com/kitian616/jekyll-TeXt-theme","author":"GitHub Community","github_author_name":"kitian616","github_author_url":"https://github.com/kitian616","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"2.2.6","license":"MIT","stars":3300,"forks":700,"features":["6 built-in colour skins","Dark mode support","Full internationalisation (i18n) with 10+ languages","Article reading progress bar","Disqus, Gitalk, and Valine comment systems","MathJax and Mermaid diagram support","Full-text search via Algolia or Simple Jekyll Search","Table of contents sidebar","Responsive image galleries","GitHub Pages compatible"],"slug":"jekyll-text-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/just-the-docs","collection":"themes","next":{"path":"_themes/klise.md","relative_path":"_themes/klise.md","excerpt":"<p>Klisé (pronounced “cliché”) is the modern minimalist’s Jekyll theme. Its defining feature is a light/dark mode toggle that’s smooth, instant, and remembers your preference — implemented with care rather than as an afterthought.</p>\n\n","previous":{"path":"_themes/just-the-docs.md","relative_path":"_themes/just-the-docs.md","id":"/themes/just-the-docs","collection":"themes","url":"/themes/just-the-docs/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Just the Docs Jekyll Theme","description":"The most popular Jekyll documentation theme. Clean sidebar navigation, full-text search, and excellent code block support.","key_features":["Dark Mode","Full-Text Search","Sidebar Nav","GitHub Pages"],"card_description":"Most popular Jekyll docs theme with sidebar navigation and search.","category":"Documentation","card_image":"/assets/images/themes/just-the-docs-card.webp","theme_screenshots":["/assets/images/themes/just-the-docs-screenshot.webp","/assets/images/themes/just-the-docs-screenshot-2.webp","/assets/images/themes/just-the-docs-screenshot-3.webp"],"demo_url":"https://just-the-docs.com/","github_url":"https://github.com/just-the-docs/just-the-docs","author":"GitHub Community","github_author_name":"Just the Docs","github_author_url":"https://github.com/just-the-docs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-05-01","added_at":"2026-01-08","popular":true,"trending":true,"bestseller":false,"version":"0.10.0","license":"MIT","stars":7800,"forks":3100,"features":["Full-text search (client-side)","Multi-level sidebar navigation","Light and dark colour schemes","Code syntax highlighting","Table of contents per page","Configurable navigation order","Customisable colour variables"],"slug":"just-the-docs","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/klise","collection":"themes","next":{"path":"_themes/lanyon.md","relative_path":"_themes/lanyon.md","id":"/themes/lanyon","collection":"themes","url":"/themes/lanyon/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Lanyon Jekyll Theme","description":"A Jekyll theme that hides its sidebar until you need it. Clean, spacious reading layout with a smooth slide-out navigation drawer.","key_features":["Slide-Out Sidebar","GitHub Pages","Clean Reading","Hidden Navigation"],"card_description":"Clean blog theme with a smooth slide-out navigation drawer.","category":"Blog","card_image":"/assets/images/themes/lanyon-card.webp","theme_screenshots":["/assets/images/themes/lanyon-screenshot.webp","/assets/images/themes/lanyon-screenshot-2.webp","/assets/images/themes/lanyon-screenshot-3.webp"],"demo_url":"https://lanyon.getpoole.com/","github_url":"https://github.com/poole/lanyon","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-02-05","popular":true,"trending":false,"bestseller":false,"version":"1.1.0","license":"MIT","stars":5700,"forks":2600,"features":["Hidden slide-out sidebar","Toggle button for navigation","Full-width reading area","Eight colour themes","Clean Poole base"],"slug":"lanyon","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Klisé (pronounced \"cliché\") is the modern minimalist's Jekyll theme. Its defining feature is a light/dark mode toggle that's smooth, instant, and remembers your preference — implemented with care rather than as an afterthought.\n\nThe overall design is clean and contemporary: generous whitespace, careful typographic choices, and a colour palette that works equally well in both modes. It's the theme you'd reach for if you want something that looks like it was built this year, not five years ago.\n\n**Who is it for?** Developers and writers who want a modern minimal blog with a polished dark mode implementation and a design that feels current.\n","url":"/themes/klise/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Klisé Jekyll Theme","description":"A minimalist Jekyll theme with seamless light and dark mode. Clean typography, fast performance, and a modern aesthetic — designed for personal sites and blogs that value simplicity.","key_features":["Dark Mode","Seamless Toggle","Minimal Design","Fast Performance"],"card_description":"Minimalist theme with seamless dark mode and clean typography.","category":"Blog","card_image":"/assets/images/themes/klise-card.webp","theme_screenshots":["/assets/images/themes/klise-screenshot.webp","/assets/images/themes/klise-screenshot-2.webp","/assets/images/themes/klise-screenshot-3.webp"],"demo_url":"https://klise.vercel.app/","github_url":"https://github.com/piharpi/jekyll-klise","author":"GitHub Community","github_author_name":"piharpi","github_author_url":"https://github.com/piharpi","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"0.4.1","license":"MIT","stars":300,"forks":200,"features":["Seamless light and dark mode toggle","Clean, modern minimal design","Fast performance (minimal CSS/JS)","Post categories and tags","Syntax highlighting","Responsive images","Reading time estimates","SEO optimised","GitHub Pages compatible","Vercel deploy ready"],"slug":"klise","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Just the Docs is the undisputed standard for Jekyll documentation sites. Thousands of open source projects use it to ship clean, searchable documentation — from small libraries to major frameworks.\n\nIts sidebar navigation supports multiple levels of nesting, its search is fast and client-side, and the whole thing is deeply customisable through SCSS variables.\n\n**Who is it for?** Open source projects, developer tools, APIs, and anyone building a documentation site that needs to look professional and be easy to navigate.\n","url":"/themes/just-the-docs/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Just the Docs Jekyll Theme","description":"The most popular Jekyll documentation theme. Clean sidebar navigation, full-text search, and excellent code block support.","key_features":["Dark Mode","Full-Text Search","Sidebar Nav","GitHub Pages"],"card_description":"Most popular Jekyll docs theme with sidebar navigation and search.","category":"Documentation","card_image":"/assets/images/themes/just-the-docs-card.webp","theme_screenshots":["/assets/images/themes/just-the-docs-screenshot.webp","/assets/images/themes/just-the-docs-screenshot-2.webp","/assets/images/themes/just-the-docs-screenshot-3.webp"],"demo_url":"https://just-the-docs.com/","github_url":"https://github.com/just-the-docs/just-the-docs","author":"GitHub Community","github_author_name":"Just the Docs","github_author_url":"https://github.com/just-the-docs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-05-01","added_at":"2026-01-08","popular":true,"trending":true,"bestseller":false,"version":"0.10.0","license":"MIT","stars":7800,"forks":3100,"features":["Full-text search (client-side)","Multi-level sidebar navigation","Light and dark colour schemes","Code syntax highlighting","Table of contents per page","Configurable navigation order","Customisable colour variables"],"slug":"just-the-docs","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/klise.md","relative_path":"_themes/klise.md","excerpt":"<p>Klisé (pronounced “cliché”) is the modern minimalist’s Jekyll theme. Its defining feature is a light/dark mode toggle that’s smooth, instant, and remembers your preference — implemented with care rather than as an afterthought.</p>\n\n","previous":{"path":"_themes/just-the-docs.md","relative_path":"_themes/just-the-docs.md","excerpt":"<p>Just the Docs is the undisputed standard for Jekyll documentation sites. Thousands of open source projects use it to ship clean, searchable documentation — from small libraries to major frameworks.</p>\n\n","previous":{"path":"_themes/jekyll-text-theme.md","relative_path":"_themes/jekyll-text-theme.md","id":"/themes/jekyll-text-theme","collection":"themes","url":"/themes/jekyll-text-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"TeXt Jekyll Theme","description":"A highly customisable Jekyll theme inspired by iOS 11 style. Features multiple skins, rich built-in components, full internationalisation, and support for blogs, documentation, and team sites.","key_features":["Multiple Skins","Dark Mode","Internationalisation","GitHub Pages"],"card_description":"iOS-inspired theme with multiple skins and rich built-in components.","category":"Blog","card_image":"/assets/images/themes/jekyll-text-theme-card.webp","theme_screenshots":["/assets/images/themes/jekyll-text-theme-screenshot.webp","/assets/images/themes/jekyll-text-theme-screenshot-2.webp","/assets/images/themes/jekyll-text-theme-screenshot-3.webp"],"demo_url":"https://kitian616.github.io/jekyll-TeXt-theme/","github_url":"https://github.com/kitian616/jekyll-TeXt-theme","author":"GitHub Community","github_author_name":"kitian616","github_author_url":"https://github.com/kitian616","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-01-01","added_at":"2026-06-07","popular":true,"trending":false,"bestseller":false,"version":"2.2.6","license":"MIT","stars":3300,"forks":700,"features":["6 built-in colour skins","Dark mode support","Full internationalisation (i18n) with 10+ languages","Article reading progress bar","Disqus, Gitalk, and Valine comment systems","MathJax and Mermaid diagram support","Full-text search via Algolia or Simple Jekyll Search","Table of contents sidebar","Responsive image galleries","GitHub Pages compatible"],"slug":"jekyll-text-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/just-the-docs","collection":"themes","next":{"path":"_themes/klise.md","relative_path":"_themes/klise.md","id":"/themes/klise","collection":"themes","url":"/themes/klise/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Klisé Jekyll Theme","description":"A minimalist Jekyll theme with seamless light and dark mode. Clean typography, fast performance, and a modern aesthetic — designed for personal sites and blogs that value simplicity.","key_features":["Dark Mode","Seamless Toggle","Minimal Design","Fast Performance"],"card_description":"Minimalist theme with seamless dark mode and clean typography.","category":"Blog","card_image":"/assets/images/themes/klise-card.webp","theme_screenshots":["/assets/images/themes/klise-screenshot.webp","/assets/images/themes/klise-screenshot-2.webp","/assets/images/themes/klise-screenshot-3.webp"],"demo_url":"https://klise.vercel.app/","github_url":"https://github.com/piharpi/jekyll-klise","author":"GitHub Community","github_author_name":"piharpi","github_author_url":"https://github.com/piharpi","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"0.4.1","license":"MIT","stars":300,"forks":200,"features":["Seamless light and dark mode toggle","Clean, modern minimal design","Fast performance (minimal CSS/JS)","Post categories and tags","Syntax highlighting","Responsive images","Reading time estimates","SEO optimised","GitHub Pages compatible","Vercel deploy ready"],"slug":"klise","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Just the Docs is the undisputed standard for Jekyll documentation sites. Thousands of open source projects use it to ship clean, searchable documentation — from small libraries to major frameworks.\n\nIts sidebar navigation supports multiple levels of nesting, its search is fast and client-side, and the whole thing is deeply customisable through SCSS variables.\n\n**Who is it for?** Open source projects, developer tools, APIs, and anyone building a documentation site that needs to look professional and be easy to navigate.\n","url":"/themes/just-the-docs/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Just the Docs Jekyll Theme","description":"The most popular Jekyll documentation theme. Clean sidebar navigation, full-text search, and excellent code block support.","key_features":["Dark Mode","Full-Text Search","Sidebar Nav","GitHub Pages"],"card_description":"Most popular Jekyll docs theme with sidebar navigation and search.","category":"Documentation","card_image":"/assets/images/themes/just-the-docs-card.webp","theme_screenshots":["/assets/images/themes/just-the-docs-screenshot.webp","/assets/images/themes/just-the-docs-screenshot-2.webp","/assets/images/themes/just-the-docs-screenshot-3.webp"],"demo_url":"https://just-the-docs.com/","github_url":"https://github.com/just-the-docs/just-the-docs","author":"GitHub Community","github_author_name":"Just the Docs","github_author_url":"https://github.com/just-the-docs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-05-01","added_at":"2026-01-08","popular":true,"trending":true,"bestseller":false,"version":"0.10.0","license":"MIT","stars":7800,"forks":3100,"features":["Full-text search (client-side)","Multi-level sidebar navigation","Light and dark colour schemes","Code syntax highlighting","Table of contents per page","Configurable navigation order","Customisable colour variables"],"slug":"just-the-docs","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/klise","collection":"themes","next":{"path":"_themes/lanyon.md","relative_path":"_themes/lanyon.md","excerpt":"<p>Lanyon is Hyde’s sibling from the Poole family — sharing the same clean foundation but hiding its sidebar until the reader needs it. A small toggle button reveals a smooth slide-out navigation drawer, keeping the reading area completely clean by default.</p>\n\n","previous":{"path":"_themes/klise.md","relative_path":"_themes/klise.md","id":"/themes/klise","collection":"themes","url":"/themes/klise/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Klisé Jekyll Theme","description":"A minimalist Jekyll theme with seamless light and dark mode. Clean typography, fast performance, and a modern aesthetic — designed for personal sites and blogs that value simplicity.","key_features":["Dark Mode","Seamless Toggle","Minimal Design","Fast Performance"],"card_description":"Minimalist theme with seamless dark mode and clean typography.","category":"Blog","card_image":"/assets/images/themes/klise-card.webp","theme_screenshots":["/assets/images/themes/klise-screenshot.webp","/assets/images/themes/klise-screenshot-2.webp","/assets/images/themes/klise-screenshot-3.webp"],"demo_url":"https://klise.vercel.app/","github_url":"https://github.com/piharpi/jekyll-klise","author":"GitHub Community","github_author_name":"piharpi","github_author_url":"https://github.com/piharpi","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"0.4.1","license":"MIT","stars":300,"forks":200,"features":["Seamless light and dark mode toggle","Clean, modern minimal design","Fast performance (minimal CSS/JS)","Post categories and tags","Syntax highlighting","Responsive images","Reading time estimates","SEO optimised","GitHub Pages compatible","Vercel deploy ready"],"slug":"klise","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/lanyon","collection":"themes","next":{"path":"_themes/leonids.md","relative_path":"_themes/leonids.md","id":"/themes/leonids","collection":"themes","url":"/themes/leonids/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Leonids Jekyll Theme","description":"A simple and clean two-column Jekyll blog theme. Fixed sidebar with author bio and social links, clean post listing, and a timeless layout that puts content front and centre.","key_features":["Fixed Sidebar","Author Bio","Social Links","GitHub Pages"],"card_description":"Two-column blog with fixed sidebar and timeless content-first layout.","category":"Blog","card_image":"/assets/images/themes/leonids-card.webp","theme_screenshots":["/assets/images/themes/leonids-screenshot.webp","/assets/images/themes/leonids-screenshot-2.webp","/assets/images/themes/leonids-screenshot-3.webp"],"demo_url":"https://renyuanz.github.io/leonids/","github_url":"https://github.com/renyuanz/leonids","author":"GitHub Community","github_author_name":"renyuanz","github_author_url":"https://github.com/renyuanz","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1400,"forks":500,"features":["Fixed two-column layout with sidebar","Author bio and avatar in sidebar","Social media links","Category and tag support","Paginated post listing","Syntax highlighting","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible"],"slug":"leonids","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Lanyon is Hyde's sibling from the Poole family — sharing the same clean foundation but hiding its sidebar until the reader needs it. A small toggle button reveals a smooth slide-out navigation drawer, keeping the reading area completely clean by default.\n\nThe result is one of the most spacious and focused reading experiences in the Jekyll theme ecosystem.\n\n**Who is it for?** Writers who want maximum reading space and a navigation drawer that stays out of the way.\n","url":"/themes/lanyon/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Lanyon Jekyll Theme","description":"A Jekyll theme that hides its sidebar until you need it. Clean, spacious reading layout with a smooth slide-out navigation drawer.","key_features":["Slide-Out Sidebar","GitHub Pages","Clean Reading","Hidden Navigation"],"card_description":"Clean blog theme with a smooth slide-out navigation drawer.","category":"Blog","card_image":"/assets/images/themes/lanyon-card.webp","theme_screenshots":["/assets/images/themes/lanyon-screenshot.webp","/assets/images/themes/lanyon-screenshot-2.webp","/assets/images/themes/lanyon-screenshot-3.webp"],"demo_url":"https://lanyon.getpoole.com/","github_url":"https://github.com/poole/lanyon","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-02-05","popular":true,"trending":false,"bestseller":false,"version":"1.1.0","license":"MIT","stars":5700,"forks":2600,"features":["Hidden slide-out sidebar","Toggle button for navigation","Full-width reading area","Eight colour themes","Clean Poole base"],"slug":"lanyon","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Klisé (pronounced \"cliché\") is the modern minimalist's Jekyll theme. Its defining feature is a light/dark mode toggle that's smooth, instant, and remembers your preference — implemented with care rather than as an afterthought.\n\nThe overall design is clean and contemporary: generous whitespace, careful typographic choices, and a colour palette that works equally well in both modes. It's the theme you'd reach for if you want something that looks like it was built this year, not five years ago.\n\n**Who is it for?** Developers and writers who want a modern minimal blog with a polished dark mode implementation and a design that feels current.\n","url":"/themes/klise/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Klisé Jekyll Theme","description":"A minimalist Jekyll theme with seamless light and dark mode. Clean typography, fast performance, and a modern aesthetic — designed for personal sites and blogs that value simplicity.","key_features":["Dark Mode","Seamless Toggle","Minimal Design","Fast Performance"],"card_description":"Minimalist theme with seamless dark mode and clean typography.","category":"Blog","card_image":"/assets/images/themes/klise-card.webp","theme_screenshots":["/assets/images/themes/klise-screenshot.webp","/assets/images/themes/klise-screenshot-2.webp","/assets/images/themes/klise-screenshot-3.webp"],"demo_url":"https://klise.vercel.app/","github_url":"https://github.com/piharpi/jekyll-klise","author":"GitHub Community","github_author_name":"piharpi","github_author_url":"https://github.com/piharpi","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"0.4.1","license":"MIT","stars":300,"forks":200,"features":["Seamless light and dark mode toggle","Clean, modern minimal design","Fast performance (minimal CSS/JS)","Post categories and tags","Syntax highlighting","Responsive images","Reading time estimates","SEO optimised","GitHub Pages compatible","Vercel deploy ready"],"slug":"klise","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/lanyon.md","relative_path":"_themes/lanyon.md","excerpt":"<p>Lanyon is Hyde’s sibling from the Poole family — sharing the same clean foundation but hiding its sidebar until the reader needs it. A small toggle button reveals a smooth slide-out navigation drawer, keeping the reading area completely clean by default.</p>\n\n","previous":{"path":"_themes/klise.md","relative_path":"_themes/klise.md","excerpt":"<p>Klisé (pronounced “cliché”) is the modern minimalist’s Jekyll theme. Its defining feature is a light/dark mode toggle that’s smooth, instant, and remembers your preference — implemented with care rather than as an afterthought.</p>\n\n","previous":{"path":"_themes/just-the-docs.md","relative_path":"_themes/just-the-docs.md","id":"/themes/just-the-docs","collection":"themes","url":"/themes/just-the-docs/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":true,"dark_mode":true,"responsive":true,"title":"Just the Docs Jekyll Theme","description":"The most popular Jekyll documentation theme. Clean sidebar navigation, full-text search, and excellent code block support.","key_features":["Dark Mode","Full-Text Search","Sidebar Nav","GitHub Pages"],"card_description":"Most popular Jekyll docs theme with sidebar navigation and search.","category":"Documentation","card_image":"/assets/images/themes/just-the-docs-card.webp","theme_screenshots":["/assets/images/themes/just-the-docs-screenshot.webp","/assets/images/themes/just-the-docs-screenshot-2.webp","/assets/images/themes/just-the-docs-screenshot-3.webp"],"demo_url":"https://just-the-docs.com/","github_url":"https://github.com/just-the-docs/just-the-docs","author":"GitHub Community","github_author_name":"Just the Docs","github_author_url":"https://github.com/just-the-docs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.8","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-05-01","added_at":"2026-01-08","popular":true,"trending":true,"bestseller":false,"version":"0.10.0","license":"MIT","stars":7800,"forks":3100,"features":["Full-text search (client-side)","Multi-level sidebar navigation","Light and dark colour schemes","Code syntax highlighting","Table of contents per page","Configurable navigation order","Customisable colour variables"],"slug":"just-the-docs","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/klise","collection":"themes","next":{"path":"_themes/lanyon.md","relative_path":"_themes/lanyon.md","id":"/themes/lanyon","collection":"themes","url":"/themes/lanyon/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Lanyon Jekyll Theme","description":"A Jekyll theme that hides its sidebar until you need it. Clean, spacious reading layout with a smooth slide-out navigation drawer.","key_features":["Slide-Out Sidebar","GitHub Pages","Clean Reading","Hidden Navigation"],"card_description":"Clean blog theme with a smooth slide-out navigation drawer.","category":"Blog","card_image":"/assets/images/themes/lanyon-card.webp","theme_screenshots":["/assets/images/themes/lanyon-screenshot.webp","/assets/images/themes/lanyon-screenshot-2.webp","/assets/images/themes/lanyon-screenshot-3.webp"],"demo_url":"https://lanyon.getpoole.com/","github_url":"https://github.com/poole/lanyon","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-02-05","popular":true,"trending":false,"bestseller":false,"version":"1.1.0","license":"MIT","stars":5700,"forks":2600,"features":["Hidden slide-out sidebar","Toggle button for navigation","Full-width reading area","Eight colour themes","Clean Poole base"],"slug":"lanyon","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Klisé (pronounced \"cliché\") is the modern minimalist's Jekyll theme. Its defining feature is a light/dark mode toggle that's smooth, instant, and remembers your preference — implemented with care rather than as an afterthought.\n\nThe overall design is clean and contemporary: generous whitespace, careful typographic choices, and a colour palette that works equally well in both modes. It's the theme you'd reach for if you want something that looks like it was built this year, not five years ago.\n\n**Who is it for?** Developers and writers who want a modern minimal blog with a polished dark mode implementation and a design that feels current.\n","url":"/themes/klise/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Klisé Jekyll Theme","description":"A minimalist Jekyll theme with seamless light and dark mode. Clean typography, fast performance, and a modern aesthetic — designed for personal sites and blogs that value simplicity.","key_features":["Dark Mode","Seamless Toggle","Minimal Design","Fast Performance"],"card_description":"Minimalist theme with seamless dark mode and clean typography.","category":"Blog","card_image":"/assets/images/themes/klise-card.webp","theme_screenshots":["/assets/images/themes/klise-screenshot.webp","/assets/images/themes/klise-screenshot-2.webp","/assets/images/themes/klise-screenshot-3.webp"],"demo_url":"https://klise.vercel.app/","github_url":"https://github.com/piharpi/jekyll-klise","author":"GitHub Community","github_author_name":"piharpi","github_author_url":"https://github.com/piharpi","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"0.4.1","license":"MIT","stars":300,"forks":200,"features":["Seamless light and dark mode toggle","Clean, modern minimal design","Fast performance (minimal CSS/JS)","Post categories and tags","Syntax highlighting","Responsive images","Reading time estimates","SEO optimised","GitHub Pages compatible","Vercel deploy ready"],"slug":"klise","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/lanyon","collection":"themes","next":{"path":"_themes/leonids.md","relative_path":"_themes/leonids.md","excerpt":"<p>Leonids is a two-column Jekyll theme that gets the balance right between sidebar utility and content space. The fixed sidebar keeps your author bio, avatar, and social links persistently visible, while the main column gives posts the room they need to breathe.</p>\n\n","previous":{"path":"_themes/lanyon.md","relative_path":"_themes/lanyon.md","id":"/themes/lanyon","collection":"themes","url":"/themes/lanyon/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Lanyon Jekyll Theme","description":"A Jekyll theme that hides its sidebar until you need it. Clean, spacious reading layout with a smooth slide-out navigation drawer.","key_features":["Slide-Out Sidebar","GitHub Pages","Clean Reading","Hidden Navigation"],"card_description":"Clean blog theme with a smooth slide-out navigation drawer.","category":"Blog","card_image":"/assets/images/themes/lanyon-card.webp","theme_screenshots":["/assets/images/themes/lanyon-screenshot.webp","/assets/images/themes/lanyon-screenshot-2.webp","/assets/images/themes/lanyon-screenshot-3.webp"],"demo_url":"https://lanyon.getpoole.com/","github_url":"https://github.com/poole/lanyon","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-02-05","popular":true,"trending":false,"bestseller":false,"version":"1.1.0","license":"MIT","stars":5700,"forks":2600,"features":["Hidden slide-out sidebar","Toggle button for navigation","Full-width reading area","Eight colour themes","Clean Poole base"],"slug":"lanyon","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/leonids","collection":"themes","next":{"path":"_themes/livvic.md","relative_path":"_themes/livvic.md","id":"/themes/livvic","collection":"themes","url":"/themes/livvic/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Livvic Jekyll Theme","rating":4.6,"rating_count":24,"description":"A clean, creative, and unique Jekyll theme for agency and personal portfolio websites. Features a flat modern design, unique effects, Bootstrap 4, and Font Awesome — ready to customise and launch in hours.","card_description":"Clean creative portfolio theme for agencies and freelancers — minimal, unique, responsive.","price":49,"category":"Portfolio","card_image":"/assets/images/themes/livvic-card.webp","theme_screenshots":["/assets/images/themes/livvic-screenshot.webp","/assets/images/themes/livvic-screenshot-2.webp","/assets/images/themes/livvic-screenshot-3.webp"],"key_features":["Minimal Design","Portfolio Layouts","Agency Ready","Bootstrap 4"],"demo_url":"https://livvic-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/livvic-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-01","added_at":"2026-06-27","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Unique homepage version with eye-catching design","Flat, modern, and clean aesthetic throughout","Unique effects and interactive functionality","Built with Bootstrap 4 — fully responsive and cross-browser compatible","Pixel-perfect design on all screen sizes and devices","Font Awesome icon font included","Google Fonts integration","Valid W3C HTML5 and CSS3 markup","Easy to customise with well-structured, commented code","Extended documentation included","Suitable for personal portfolios, creative agencies, freelancers, and consultants"],"slug":"livvic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Leonids is a two-column Jekyll theme that gets the balance right between sidebar utility and content space. The fixed sidebar keeps your author bio, avatar, and social links persistently visible, while the main column gives posts the room they need to breathe.\n\nThe design is clean and timeless — no trendy flourishes that will date it, just solid typography and a layout that works equally well for technical writing, personal essays, or mixed-content blogs.\n\n**Who is it for?** Bloggers who want a classic two-column layout with a persistent author sidebar, without the complexity of heavier themes like Minimal Mistakes.\n","url":"/themes/leonids/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Leonids Jekyll Theme","description":"A simple and clean two-column Jekyll blog theme. Fixed sidebar with author bio and social links, clean post listing, and a timeless layout that puts content front and centre.","key_features":["Fixed Sidebar","Author Bio","Social Links","GitHub Pages"],"card_description":"Two-column blog with fixed sidebar and timeless content-first layout.","category":"Blog","card_image":"/assets/images/themes/leonids-card.webp","theme_screenshots":["/assets/images/themes/leonids-screenshot.webp","/assets/images/themes/leonids-screenshot-2.webp","/assets/images/themes/leonids-screenshot-3.webp"],"demo_url":"https://renyuanz.github.io/leonids/","github_url":"https://github.com/renyuanz/leonids","author":"GitHub Community","github_author_name":"renyuanz","github_author_url":"https://github.com/renyuanz","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1400,"forks":500,"features":["Fixed two-column layout with sidebar","Author bio and avatar in sidebar","Social media links","Category and tag support","Paginated post listing","Syntax highlighting","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible"],"slug":"leonids","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Lanyon is Hyde's sibling from the Poole family — sharing the same clean foundation but hiding its sidebar until the reader needs it. A small toggle button reveals a smooth slide-out navigation drawer, keeping the reading area completely clean by default.\n\nThe result is one of the most spacious and focused reading experiences in the Jekyll theme ecosystem.\n\n**Who is it for?** Writers who want maximum reading space and a navigation drawer that stays out of the way.\n","url":"/themes/lanyon/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Lanyon Jekyll Theme","description":"A Jekyll theme that hides its sidebar until you need it. Clean, spacious reading layout with a smooth slide-out navigation drawer.","key_features":["Slide-Out Sidebar","GitHub Pages","Clean Reading","Hidden Navigation"],"card_description":"Clean blog theme with a smooth slide-out navigation drawer.","category":"Blog","card_image":"/assets/images/themes/lanyon-card.webp","theme_screenshots":["/assets/images/themes/lanyon-screenshot.webp","/assets/images/themes/lanyon-screenshot-2.webp","/assets/images/themes/lanyon-screenshot-3.webp"],"demo_url":"https://lanyon.getpoole.com/","github_url":"https://github.com/poole/lanyon","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-02-05","popular":true,"trending":false,"bestseller":false,"version":"1.1.0","license":"MIT","stars":5700,"forks":2600,"features":["Hidden slide-out sidebar","Toggle button for navigation","Full-width reading area","Eight colour themes","Clean Poole base"],"slug":"lanyon","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/leonids.md","relative_path":"_themes/leonids.md","excerpt":"<p>Leonids is a two-column Jekyll theme that gets the balance right between sidebar utility and content space. The fixed sidebar keeps your author bio, avatar, and social links persistently visible, while the main column gives posts the room they need to breathe.</p>\n\n","previous":{"path":"_themes/lanyon.md","relative_path":"_themes/lanyon.md","excerpt":"<p>Lanyon is Hyde’s sibling from the Poole family — sharing the same clean foundation but hiding its sidebar until the reader needs it. A small toggle button reveals a smooth slide-out navigation drawer, keeping the reading area completely clean by default.</p>\n\n","previous":{"path":"_themes/klise.md","relative_path":"_themes/klise.md","id":"/themes/klise","collection":"themes","url":"/themes/klise/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Klisé Jekyll Theme","description":"A minimalist Jekyll theme with seamless light and dark mode. Clean typography, fast performance, and a modern aesthetic — designed for personal sites and blogs that value simplicity.","key_features":["Dark Mode","Seamless Toggle","Minimal Design","Fast Performance"],"card_description":"Minimalist theme with seamless dark mode and clean typography.","category":"Blog","card_image":"/assets/images/themes/klise-card.webp","theme_screenshots":["/assets/images/themes/klise-screenshot.webp","/assets/images/themes/klise-screenshot-2.webp","/assets/images/themes/klise-screenshot-3.webp"],"demo_url":"https://klise.vercel.app/","github_url":"https://github.com/piharpi/jekyll-klise","author":"GitHub Community","github_author_name":"piharpi","github_author_url":"https://github.com/piharpi","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-06-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"0.4.1","license":"MIT","stars":300,"forks":200,"features":["Seamless light and dark mode toggle","Clean, modern minimal design","Fast performance (minimal CSS/JS)","Post categories and tags","Syntax highlighting","Responsive images","Reading time estimates","SEO optimised","GitHub Pages compatible","Vercel deploy ready"],"slug":"klise","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/lanyon","collection":"themes","next":{"path":"_themes/leonids.md","relative_path":"_themes/leonids.md","id":"/themes/leonids","collection":"themes","url":"/themes/leonids/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Leonids Jekyll Theme","description":"A simple and clean two-column Jekyll blog theme. Fixed sidebar with author bio and social links, clean post listing, and a timeless layout that puts content front and centre.","key_features":["Fixed Sidebar","Author Bio","Social Links","GitHub Pages"],"card_description":"Two-column blog with fixed sidebar and timeless content-first layout.","category":"Blog","card_image":"/assets/images/themes/leonids-card.webp","theme_screenshots":["/assets/images/themes/leonids-screenshot.webp","/assets/images/themes/leonids-screenshot-2.webp","/assets/images/themes/leonids-screenshot-3.webp"],"demo_url":"https://renyuanz.github.io/leonids/","github_url":"https://github.com/renyuanz/leonids","author":"GitHub Community","github_author_name":"renyuanz","github_author_url":"https://github.com/renyuanz","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1400,"forks":500,"features":["Fixed two-column layout with sidebar","Author bio and avatar in sidebar","Social media links","Category and tag support","Paginated post listing","Syntax highlighting","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible"],"slug":"leonids","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Lanyon is Hyde's sibling from the Poole family — sharing the same clean foundation but hiding its sidebar until the reader needs it. A small toggle button reveals a smooth slide-out navigation drawer, keeping the reading area completely clean by default.\n\nThe result is one of the most spacious and focused reading experiences in the Jekyll theme ecosystem.\n\n**Who is it for?** Writers who want maximum reading space and a navigation drawer that stays out of the way.\n","url":"/themes/lanyon/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Lanyon Jekyll Theme","description":"A Jekyll theme that hides its sidebar until you need it. Clean, spacious reading layout with a smooth slide-out navigation drawer.","key_features":["Slide-Out Sidebar","GitHub Pages","Clean Reading","Hidden Navigation"],"card_description":"Clean blog theme with a smooth slide-out navigation drawer.","category":"Blog","card_image":"/assets/images/themes/lanyon-card.webp","theme_screenshots":["/assets/images/themes/lanyon-screenshot.webp","/assets/images/themes/lanyon-screenshot-2.webp","/assets/images/themes/lanyon-screenshot-3.webp"],"demo_url":"https://lanyon.getpoole.com/","github_url":"https://github.com/poole/lanyon","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-02-05","popular":true,"trending":false,"bestseller":false,"version":"1.1.0","license":"MIT","stars":5700,"forks":2600,"features":["Hidden slide-out sidebar","Toggle button for navigation","Full-width reading area","Eight colour themes","Clean Poole base"],"slug":"lanyon","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/leonids","collection":"themes","next":{"path":"_themes/livvic.md","relative_path":"_themes/livvic.md","excerpt":"<p>Livvic keeps things focused: one strong homepage layout, clean typography, and a set of unique interactive effects that make the design feel alive without being distracting. For designers and agencies who want their portfolio site to reflect the same restraint and craft they apply to client work, that focus is exactly the point.</p>\n\n","previous":{"path":"_themes/leonids.md","relative_path":"_themes/leonids.md","id":"/themes/leonids","collection":"themes","url":"/themes/leonids/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Leonids Jekyll Theme","description":"A simple and clean two-column Jekyll blog theme. Fixed sidebar with author bio and social links, clean post listing, and a timeless layout that puts content front and centre.","key_features":["Fixed Sidebar","Author Bio","Social Links","GitHub Pages"],"card_description":"Two-column blog with fixed sidebar and timeless content-first layout.","category":"Blog","card_image":"/assets/images/themes/leonids-card.webp","theme_screenshots":["/assets/images/themes/leonids-screenshot.webp","/assets/images/themes/leonids-screenshot-2.webp","/assets/images/themes/leonids-screenshot-3.webp"],"demo_url":"https://renyuanz.github.io/leonids/","github_url":"https://github.com/renyuanz/leonids","author":"GitHub Community","github_author_name":"renyuanz","github_author_url":"https://github.com/renyuanz","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1400,"forks":500,"features":["Fixed two-column layout with sidebar","Author bio and avatar in sidebar","Social media links","Category and tag support","Paginated post listing","Syntax highlighting","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible"],"slug":"leonids","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/livvic","collection":"themes","next":{"path":"_themes/long-haul.md","relative_path":"_themes/long-haul.md","id":"/themes/long-haul","collection":"themes","url":"/themes/long-haul/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Long Haul Jekyll Theme","description":"A minimal, type-focused Jekyll theme designed for long-form writing. Understated design that keeps the reader's attention on the words.","key_features":["Long-Form Writing","Type Focused","Minimal Design","GitHub Pages"],"card_description":"Minimal, type-focused theme designed for long-form writing.","category":"Blog","card_image":"/assets/images/themes/long-haul-card.webp","theme_screenshots":["/assets/images/themes/long-haul-screenshot.webp","/assets/images/themes/long-haul-screenshot-2.webp","/assets/images/themes/long-haul-screenshot-3.webp"],"demo_url":"https://brianmaierjr.com/long-haul/","github_url":"https://github.com/brianmaierjr/long-haul","author":"GitHub Community","github_author_name":"brianmaierjr","github_author_url":"https://github.com/brianmaierjr","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-10","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":697,"forks":305,"features":["Typography-first design","Minimal navigation","Large readable font sizes","Clean post listing","Social links","RSS feed","Google Analytics","GitHub Pages compatible","No JavaScript dependencies","Lightweight and fast"],"slug":"long-haul","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Livvic keeps things focused: one strong homepage layout, clean typography, and a set of unique interactive effects that make the design feel alive without being distracting. For designers and agencies who want their portfolio site to reflect the same restraint and craft they apply to client work, that focus is exactly the point.\n\n### Design Philosophy\n\nThe flat, modern aesthetic means Livvic ages well — there are no trendy gradients or animation gimmicks that date the design after twelve months. What you get instead is clean grid structure, thoughtful whitespace, and the kind of pixel-perfect spacing that signals professional attention to detail to the clients visiting your portfolio.\n\n### Built to Customise\n\nThe Bootstrap 4 base and W3C-valid HTML5/CSS3 code mean any frontend developer can extend or restyle Livvic without fighting proprietary conventions. The well-commented codebase and extended documentation make onboarding quick whether you're the theme buyer or a developer handed the project.\n\n**Who is it for?** Freelance designers, creative agencies, consultants, and personal portfolio builders who want a distinctive, minimal presentation for their work — without the weight of a feature-heavy multipurpose theme.\n","url":"/themes/livvic/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Livvic Jekyll Theme","rating":4.6,"rating_count":24,"description":"A clean, creative, and unique Jekyll theme for agency and personal portfolio websites. Features a flat modern design, unique effects, Bootstrap 4, and Font Awesome — ready to customise and launch in hours.","card_description":"Clean creative portfolio theme for agencies and freelancers — minimal, unique, responsive.","price":49,"category":"Portfolio","card_image":"/assets/images/themes/livvic-card.webp","theme_screenshots":["/assets/images/themes/livvic-screenshot.webp","/assets/images/themes/livvic-screenshot-2.webp","/assets/images/themes/livvic-screenshot-3.webp"],"key_features":["Minimal Design","Portfolio Layouts","Agency Ready","Bootstrap 4"],"demo_url":"https://livvic-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/livvic-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-01","added_at":"2026-06-27","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Unique homepage version with eye-catching design","Flat, modern, and clean aesthetic throughout","Unique effects and interactive functionality","Built with Bootstrap 4 — fully responsive and cross-browser compatible","Pixel-perfect design on all screen sizes and devices","Font Awesome icon font included","Google Fonts integration","Valid W3C HTML5 and CSS3 markup","Easy to customise with well-structured, commented code","Extended documentation included","Suitable for personal portfolios, creative agencies, freelancers, and consultants"],"slug":"livvic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Leonids is a two-column Jekyll theme that gets the balance right between sidebar utility and content space. The fixed sidebar keeps your author bio, avatar, and social links persistently visible, while the main column gives posts the room they need to breathe.\n\nThe design is clean and timeless — no trendy flourishes that will date it, just solid typography and a layout that works equally well for technical writing, personal essays, or mixed-content blogs.\n\n**Who is it for?** Bloggers who want a classic two-column layout with a persistent author sidebar, without the complexity of heavier themes like Minimal Mistakes.\n","url":"/themes/leonids/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Leonids Jekyll Theme","description":"A simple and clean two-column Jekyll blog theme. Fixed sidebar with author bio and social links, clean post listing, and a timeless layout that puts content front and centre.","key_features":["Fixed Sidebar","Author Bio","Social Links","GitHub Pages"],"card_description":"Two-column blog with fixed sidebar and timeless content-first layout.","category":"Blog","card_image":"/assets/images/themes/leonids-card.webp","theme_screenshots":["/assets/images/themes/leonids-screenshot.webp","/assets/images/themes/leonids-screenshot-2.webp","/assets/images/themes/leonids-screenshot-3.webp"],"demo_url":"https://renyuanz.github.io/leonids/","github_url":"https://github.com/renyuanz/leonids","author":"GitHub Community","github_author_name":"renyuanz","github_author_url":"https://github.com/renyuanz","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1400,"forks":500,"features":["Fixed two-column layout with sidebar","Author bio and avatar in sidebar","Social media links","Category and tag support","Paginated post listing","Syntax highlighting","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible"],"slug":"leonids","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/livvic.md","relative_path":"_themes/livvic.md","excerpt":"<p>Livvic keeps things focused: one strong homepage layout, clean typography, and a set of unique interactive effects that make the design feel alive without being distracting. For designers and agencies who want their portfolio site to reflect the same restraint and craft they apply to client work, that focus is exactly the point.</p>\n\n","previous":{"path":"_themes/leonids.md","relative_path":"_themes/leonids.md","excerpt":"<p>Leonids is a two-column Jekyll theme that gets the balance right between sidebar utility and content space. The fixed sidebar keeps your author bio, avatar, and social links persistently visible, while the main column gives posts the room they need to breathe.</p>\n\n","previous":{"path":"_themes/lanyon.md","relative_path":"_themes/lanyon.md","id":"/themes/lanyon","collection":"themes","url":"/themes/lanyon/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Lanyon Jekyll Theme","description":"A Jekyll theme that hides its sidebar until you need it. Clean, spacious reading layout with a smooth slide-out navigation drawer.","key_features":["Slide-Out Sidebar","GitHub Pages","Clean Reading","Hidden Navigation"],"card_description":"Clean blog theme with a smooth slide-out navigation drawer.","category":"Blog","card_image":"/assets/images/themes/lanyon-card.webp","theme_screenshots":["/assets/images/themes/lanyon-screenshot.webp","/assets/images/themes/lanyon-screenshot-2.webp","/assets/images/themes/lanyon-screenshot-3.webp"],"demo_url":"https://lanyon.getpoole.com/","github_url":"https://github.com/poole/lanyon","author":"GitHub Community","github_author_name":"Mark Otto","github_author_url":"https://github.com/mdo","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-gist","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-02-05","popular":true,"trending":false,"bestseller":false,"version":"1.1.0","license":"MIT","stars":5700,"forks":2600,"features":["Hidden slide-out sidebar","Toggle button for navigation","Full-width reading area","Eight colour themes","Clean Poole base"],"slug":"lanyon","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/leonids","collection":"themes","next":{"path":"_themes/livvic.md","relative_path":"_themes/livvic.md","id":"/themes/livvic","collection":"themes","url":"/themes/livvic/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Livvic Jekyll Theme","rating":4.6,"rating_count":24,"description":"A clean, creative, and unique Jekyll theme for agency and personal portfolio websites. Features a flat modern design, unique effects, Bootstrap 4, and Font Awesome — ready to customise and launch in hours.","card_description":"Clean creative portfolio theme for agencies and freelancers — minimal, unique, responsive.","price":49,"category":"Portfolio","card_image":"/assets/images/themes/livvic-card.webp","theme_screenshots":["/assets/images/themes/livvic-screenshot.webp","/assets/images/themes/livvic-screenshot-2.webp","/assets/images/themes/livvic-screenshot-3.webp"],"key_features":["Minimal Design","Portfolio Layouts","Agency Ready","Bootstrap 4"],"demo_url":"https://livvic-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/livvic-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-01","added_at":"2026-06-27","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Unique homepage version with eye-catching design","Flat, modern, and clean aesthetic throughout","Unique effects and interactive functionality","Built with Bootstrap 4 — fully responsive and cross-browser compatible","Pixel-perfect design on all screen sizes and devices","Font Awesome icon font included","Google Fonts integration","Valid W3C HTML5 and CSS3 markup","Easy to customise with well-structured, commented code","Extended documentation included","Suitable for personal portfolios, creative agencies, freelancers, and consultants"],"slug":"livvic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Leonids is a two-column Jekyll theme that gets the balance right between sidebar utility and content space. The fixed sidebar keeps your author bio, avatar, and social links persistently visible, while the main column gives posts the room they need to breathe.\n\nThe design is clean and timeless — no trendy flourishes that will date it, just solid typography and a layout that works equally well for technical writing, personal essays, or mixed-content blogs.\n\n**Who is it for?** Bloggers who want a classic two-column layout with a persistent author sidebar, without the complexity of heavier themes like Minimal Mistakes.\n","url":"/themes/leonids/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Leonids Jekyll Theme","description":"A simple and clean two-column Jekyll blog theme. Fixed sidebar with author bio and social links, clean post listing, and a timeless layout that puts content front and centre.","key_features":["Fixed Sidebar","Author Bio","Social Links","GitHub Pages"],"card_description":"Two-column blog with fixed sidebar and timeless content-first layout.","category":"Blog","card_image":"/assets/images/themes/leonids-card.webp","theme_screenshots":["/assets/images/themes/leonids-screenshot.webp","/assets/images/themes/leonids-screenshot-2.webp","/assets/images/themes/leonids-screenshot-3.webp"],"demo_url":"https://renyuanz.github.io/leonids/","github_url":"https://github.com/renyuanz/leonids","author":"GitHub Community","github_author_name":"renyuanz","github_author_url":"https://github.com/renyuanz","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1400,"forks":500,"features":["Fixed two-column layout with sidebar","Author bio and avatar in sidebar","Social media links","Category and tag support","Paginated post listing","Syntax highlighting","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible"],"slug":"leonids","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/livvic","collection":"themes","next":{"path":"_themes/long-haul.md","relative_path":"_themes/long-haul.md","excerpt":"<p>Long Haul is built for writers who take their craft seriously. Every design decision favours the text — generous line height, carefully chosen typefaces, and a layout that disappears behind the words.</p>\n\n","previous":{"path":"_themes/livvic.md","relative_path":"_themes/livvic.md","id":"/themes/livvic","collection":"themes","url":"/themes/livvic/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Livvic Jekyll Theme","rating":4.6,"rating_count":24,"description":"A clean, creative, and unique Jekyll theme for agency and personal portfolio websites. Features a flat modern design, unique effects, Bootstrap 4, and Font Awesome — ready to customise and launch in hours.","card_description":"Clean creative portfolio theme for agencies and freelancers — minimal, unique, responsive.","price":49,"category":"Portfolio","card_image":"/assets/images/themes/livvic-card.webp","theme_screenshots":["/assets/images/themes/livvic-screenshot.webp","/assets/images/themes/livvic-screenshot-2.webp","/assets/images/themes/livvic-screenshot-3.webp"],"key_features":["Minimal Design","Portfolio Layouts","Agency Ready","Bootstrap 4"],"demo_url":"https://livvic-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/livvic-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-01","added_at":"2026-06-27","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Unique homepage version with eye-catching design","Flat, modern, and clean aesthetic throughout","Unique effects and interactive functionality","Built with Bootstrap 4 — fully responsive and cross-browser compatible","Pixel-perfect design on all screen sizes and devices","Font Awesome icon font included","Google Fonts integration","Valid W3C HTML5 and CSS3 markup","Easy to customise with well-structured, commented code","Extended documentation included","Suitable for personal portfolios, creative agencies, freelancers, and consultants"],"slug":"livvic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/long-haul","collection":"themes","next":{"path":"_themes/massively.md","relative_path":"_themes/massively.md","id":"/themes/massively","collection":"themes","url":"/themes/massively/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Massively Jekyll Theme","description":"A bold, image-driven Jekyll blog theme ported from HTML5 UP. Full-screen background image on the homepage, large featured post images, and a striking visual identity unlike any other Jekyll theme.","key_features":["Full-Screen Images","Bold Design","GitHub Pages","HTML5 UP Port"],"card_description":"Bold, image-driven blog with full-screen homepage background.","category":"Blog","card_image":"/assets/images/themes/massively-card.webp","theme_screenshots":["/assets/images/themes/massively-screenshot.webp","/assets/images/themes/massively-screenshot-2.webp","/assets/images/themes/massively-screenshot-3.webp"],"demo_url":"https://jekyllup.github.io/jekyll-theme-massively/","github_url":"https://github.com/jekyllup/jekyll-theme-massively","author":"GitHub Community","github_author_name":"jekyllup","github_author_url":"https://github.com/jekyllup","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC BY 3.0","stars":300,"forks":350,"features":["Full-screen background image on homepage","Large featured images per post","Bold typographic headings","Smooth scroll effects","Article-oriented post grid layout","Social media links","Disqus comments","Google Analytics","Responsive design","GitHub Pages compatible"],"slug":"massively","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Long Haul is built for writers who take their craft seriously. Every design decision favours the text — generous line height, carefully chosen typefaces, and a layout that disappears behind the words.\n\nNavigation is minimal, distractions are absent, and pages load almost instantly with no JavaScript dependencies.\n\n**Who is it for?** Serious writers and essayists who want a distraction-free reading experience that puts content first.\n","url":"/themes/long-haul/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Long Haul Jekyll Theme","description":"A minimal, type-focused Jekyll theme designed for long-form writing. Understated design that keeps the reader's attention on the words.","key_features":["Long-Form Writing","Type Focused","Minimal Design","GitHub Pages"],"card_description":"Minimal, type-focused theme designed for long-form writing.","category":"Blog","card_image":"/assets/images/themes/long-haul-card.webp","theme_screenshots":["/assets/images/themes/long-haul-screenshot.webp","/assets/images/themes/long-haul-screenshot-2.webp","/assets/images/themes/long-haul-screenshot-3.webp"],"demo_url":"https://brianmaierjr.com/long-haul/","github_url":"https://github.com/brianmaierjr/long-haul","author":"GitHub Community","github_author_name":"brianmaierjr","github_author_url":"https://github.com/brianmaierjr","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-10","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":697,"forks":305,"features":["Typography-first design","Minimal navigation","Large readable font sizes","Clean post listing","Social links","RSS feed","Google Analytics","GitHub Pages compatible","No JavaScript dependencies","Lightweight and fast"],"slug":"long-haul","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Livvic keeps things focused: one strong homepage layout, clean typography, and a set of unique interactive effects that make the design feel alive without being distracting. For designers and agencies who want their portfolio site to reflect the same restraint and craft they apply to client work, that focus is exactly the point.\n\n### Design Philosophy\n\nThe flat, modern aesthetic means Livvic ages well — there are no trendy gradients or animation gimmicks that date the design after twelve months. What you get instead is clean grid structure, thoughtful whitespace, and the kind of pixel-perfect spacing that signals professional attention to detail to the clients visiting your portfolio.\n\n### Built to Customise\n\nThe Bootstrap 4 base and W3C-valid HTML5/CSS3 code mean any frontend developer can extend or restyle Livvic without fighting proprietary conventions. The well-commented codebase and extended documentation make onboarding quick whether you're the theme buyer or a developer handed the project.\n\n**Who is it for?** Freelance designers, creative agencies, consultants, and personal portfolio builders who want a distinctive, minimal presentation for their work — without the weight of a feature-heavy multipurpose theme.\n","url":"/themes/livvic/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Livvic Jekyll Theme","rating":4.6,"rating_count":24,"description":"A clean, creative, and unique Jekyll theme for agency and personal portfolio websites. Features a flat modern design, unique effects, Bootstrap 4, and Font Awesome — ready to customise and launch in hours.","card_description":"Clean creative portfolio theme for agencies and freelancers — minimal, unique, responsive.","price":49,"category":"Portfolio","card_image":"/assets/images/themes/livvic-card.webp","theme_screenshots":["/assets/images/themes/livvic-screenshot.webp","/assets/images/themes/livvic-screenshot-2.webp","/assets/images/themes/livvic-screenshot-3.webp"],"key_features":["Minimal Design","Portfolio Layouts","Agency Ready","Bootstrap 4"],"demo_url":"https://livvic-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/livvic-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-01","added_at":"2026-06-27","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Unique homepage version with eye-catching design","Flat, modern, and clean aesthetic throughout","Unique effects and interactive functionality","Built with Bootstrap 4 — fully responsive and cross-browser compatible","Pixel-perfect design on all screen sizes and devices","Font Awesome icon font included","Google Fonts integration","Valid W3C HTML5 and CSS3 markup","Easy to customise with well-structured, commented code","Extended documentation included","Suitable for personal portfolios, creative agencies, freelancers, and consultants"],"slug":"livvic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/long-haul.md","relative_path":"_themes/long-haul.md","excerpt":"<p>Long Haul is built for writers who take their craft seriously. Every design decision favours the text — generous line height, carefully chosen typefaces, and a layout that disappears behind the words.</p>\n\n","previous":{"path":"_themes/livvic.md","relative_path":"_themes/livvic.md","excerpt":"<p>Livvic keeps things focused: one strong homepage layout, clean typography, and a set of unique interactive effects that make the design feel alive without being distracting. For designers and agencies who want their portfolio site to reflect the same restraint and craft they apply to client work, that focus is exactly the point.</p>\n\n","previous":{"path":"_themes/leonids.md","relative_path":"_themes/leonids.md","id":"/themes/leonids","collection":"themes","url":"/themes/leonids/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Leonids Jekyll Theme","description":"A simple and clean two-column Jekyll blog theme. Fixed sidebar with author bio and social links, clean post listing, and a timeless layout that puts content front and centre.","key_features":["Fixed Sidebar","Author Bio","Social Links","GitHub Pages"],"card_description":"Two-column blog with fixed sidebar and timeless content-first layout.","category":"Blog","card_image":"/assets/images/themes/leonids-card.webp","theme_screenshots":["/assets/images/themes/leonids-screenshot.webp","/assets/images/themes/leonids-screenshot-2.webp","/assets/images/themes/leonids-screenshot-3.webp"],"demo_url":"https://renyuanz.github.io/leonids/","github_url":"https://github.com/renyuanz/leonids","author":"GitHub Community","github_author_name":"renyuanz","github_author_url":"https://github.com/renyuanz","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":1400,"forks":500,"features":["Fixed two-column layout with sidebar","Author bio and avatar in sidebar","Social media links","Category and tag support","Paginated post listing","Syntax highlighting","Disqus comments","Google Analytics","RSS feed","GitHub Pages compatible"],"slug":"leonids","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/livvic","collection":"themes","next":{"path":"_themes/long-haul.md","relative_path":"_themes/long-haul.md","id":"/themes/long-haul","collection":"themes","url":"/themes/long-haul/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Long Haul Jekyll Theme","description":"A minimal, type-focused Jekyll theme designed for long-form writing. Understated design that keeps the reader's attention on the words.","key_features":["Long-Form Writing","Type Focused","Minimal Design","GitHub Pages"],"card_description":"Minimal, type-focused theme designed for long-form writing.","category":"Blog","card_image":"/assets/images/themes/long-haul-card.webp","theme_screenshots":["/assets/images/themes/long-haul-screenshot.webp","/assets/images/themes/long-haul-screenshot-2.webp","/assets/images/themes/long-haul-screenshot-3.webp"],"demo_url":"https://brianmaierjr.com/long-haul/","github_url":"https://github.com/brianmaierjr/long-haul","author":"GitHub Community","github_author_name":"brianmaierjr","github_author_url":"https://github.com/brianmaierjr","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-10","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":697,"forks":305,"features":["Typography-first design","Minimal navigation","Large readable font sizes","Clean post listing","Social links","RSS feed","Google Analytics","GitHub Pages compatible","No JavaScript dependencies","Lightweight and fast"],"slug":"long-haul","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Livvic keeps things focused: one strong homepage layout, clean typography, and a set of unique interactive effects that make the design feel alive without being distracting. For designers and agencies who want their portfolio site to reflect the same restraint and craft they apply to client work, that focus is exactly the point.\n\n### Design Philosophy\n\nThe flat, modern aesthetic means Livvic ages well — there are no trendy gradients or animation gimmicks that date the design after twelve months. What you get instead is clean grid structure, thoughtful whitespace, and the kind of pixel-perfect spacing that signals professional attention to detail to the clients visiting your portfolio.\n\n### Built to Customise\n\nThe Bootstrap 4 base and W3C-valid HTML5/CSS3 code mean any frontend developer can extend or restyle Livvic without fighting proprietary conventions. The well-commented codebase and extended documentation make onboarding quick whether you're the theme buyer or a developer handed the project.\n\n**Who is it for?** Freelance designers, creative agencies, consultants, and personal portfolio builders who want a distinctive, minimal presentation for their work — without the weight of a feature-heavy multipurpose theme.\n","url":"/themes/livvic/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Livvic Jekyll Theme","rating":4.6,"rating_count":24,"description":"A clean, creative, and unique Jekyll theme for agency and personal portfolio websites. Features a flat modern design, unique effects, Bootstrap 4, and Font Awesome — ready to customise and launch in hours.","card_description":"Clean creative portfolio theme for agencies and freelancers — minimal, unique, responsive.","price":49,"category":"Portfolio","card_image":"/assets/images/themes/livvic-card.webp","theme_screenshots":["/assets/images/themes/livvic-screenshot.webp","/assets/images/themes/livvic-screenshot-2.webp","/assets/images/themes/livvic-screenshot-3.webp"],"key_features":["Minimal Design","Portfolio Layouts","Agency Ready","Bootstrap 4"],"demo_url":"https://livvic-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/livvic-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-01","added_at":"2026-06-27","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Unique homepage version with eye-catching design","Flat, modern, and clean aesthetic throughout","Unique effects and interactive functionality","Built with Bootstrap 4 — fully responsive and cross-browser compatible","Pixel-perfect design on all screen sizes and devices","Font Awesome icon font included","Google Fonts integration","Valid W3C HTML5 and CSS3 markup","Easy to customise with well-structured, commented code","Extended documentation included","Suitable for personal portfolios, creative agencies, freelancers, and consultants"],"slug":"livvic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/long-haul","collection":"themes","next":{"path":"_themes/massively.md","relative_path":"_themes/massively.md","excerpt":"<p>Massively is unlike anything else in the Jekyll ecosystem. Ported from HTML5 UP’s popular Massively template, it opens with a dramatic full-screen background image and bold typography that immediately signals a strong visual identity. The post listing uses large featured images that make even text-heavy content feel visual and inviting.</p>\n\n","previous":{"path":"_themes/long-haul.md","relative_path":"_themes/long-haul.md","id":"/themes/long-haul","collection":"themes","url":"/themes/long-haul/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Long Haul Jekyll Theme","description":"A minimal, type-focused Jekyll theme designed for long-form writing. Understated design that keeps the reader's attention on the words.","key_features":["Long-Form Writing","Type Focused","Minimal Design","GitHub Pages"],"card_description":"Minimal, type-focused theme designed for long-form writing.","category":"Blog","card_image":"/assets/images/themes/long-haul-card.webp","theme_screenshots":["/assets/images/themes/long-haul-screenshot.webp","/assets/images/themes/long-haul-screenshot-2.webp","/assets/images/themes/long-haul-screenshot-3.webp"],"demo_url":"https://brianmaierjr.com/long-haul/","github_url":"https://github.com/brianmaierjr/long-haul","author":"GitHub Community","github_author_name":"brianmaierjr","github_author_url":"https://github.com/brianmaierjr","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-10","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":697,"forks":305,"features":["Typography-first design","Minimal navigation","Large readable font sizes","Clean post listing","Social links","RSS feed","Google Analytics","GitHub Pages compatible","No JavaScript dependencies","Lightweight and fast"],"slug":"long-haul","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/massively","collection":"themes","next":{"path":"_themes/mediator.md","relative_path":"_themes/mediator.md","id":"/themes/mediator","collection":"themes","url":"/themes/mediator/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediator Jekyll Theme","description":"A medium-inspired Jekyll blog theme with large featured images, clean typography, and a focus on long-form reading.","key_features":["Medium-Inspired","Featured Images","Clean Typography","GitHub Pages"],"card_description":"Medium-inspired blog with large featured images and clean typography.","category":"Blog","card_image":"/assets/images/themes/mediator-card.webp","theme_screenshots":["/assets/images/themes/mediator-screenshot.webp","/assets/images/themes/mediator-screenshot-2.webp","/assets/images/themes/mediator-screenshot-3.webp"],"demo_url":"https://blog.base68.com/","github_url":"https://github.com/dirkfabisch/mediator","author":"GitHub Community","github_author_name":"dirkfabisch","github_author_url":"https://github.com/dirkfabisch","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2024-05-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.2.0","license":"MIT","stars":810,"forks":497,"features":["Medium-inspired layout","Full-width featured images","Clean reading typography","Author bio section","Disqus comments","Social share buttons","Google Analytics","Tag archive pages","RSS feed","Responsive design"],"slug":"mediator","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Massively is unlike anything else in the Jekyll ecosystem. Ported from HTML5 UP's popular Massively template, it opens with a dramatic full-screen background image and bold typography that immediately signals a strong visual identity. The post listing uses large featured images that make even text-heavy content feel visual and inviting.\n\nIf most Jekyll themes are quiet and minimal, Massively is loud — in the best possible way. It's the choice when you want your site to make an impression the moment someone arrives.\n\n**Who is it for?** Bloggers, photographers, journalists, and creatives who want a visually dramatic, image-led site that stands out from the typical minimal developer blog.\n","url":"/themes/massively/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Massively Jekyll Theme","description":"A bold, image-driven Jekyll blog theme ported from HTML5 UP. Full-screen background image on the homepage, large featured post images, and a striking visual identity unlike any other Jekyll theme.","key_features":["Full-Screen Images","Bold Design","GitHub Pages","HTML5 UP Port"],"card_description":"Bold, image-driven blog with full-screen homepage background.","category":"Blog","card_image":"/assets/images/themes/massively-card.webp","theme_screenshots":["/assets/images/themes/massively-screenshot.webp","/assets/images/themes/massively-screenshot-2.webp","/assets/images/themes/massively-screenshot-3.webp"],"demo_url":"https://jekyllup.github.io/jekyll-theme-massively/","github_url":"https://github.com/jekyllup/jekyll-theme-massively","author":"GitHub Community","github_author_name":"jekyllup","github_author_url":"https://github.com/jekyllup","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC BY 3.0","stars":300,"forks":350,"features":["Full-screen background image on homepage","Large featured images per post","Bold typographic headings","Smooth scroll effects","Article-oriented post grid layout","Social media links","Disqus comments","Google Analytics","Responsive design","GitHub Pages compatible"],"slug":"massively","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Long Haul is built for writers who take their craft seriously. Every design decision favours the text — generous line height, carefully chosen typefaces, and a layout that disappears behind the words.\n\nNavigation is minimal, distractions are absent, and pages load almost instantly with no JavaScript dependencies.\n\n**Who is it for?** Serious writers and essayists who want a distraction-free reading experience that puts content first.\n","url":"/themes/long-haul/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Long Haul Jekyll Theme","description":"A minimal, type-focused Jekyll theme designed for long-form writing. Understated design that keeps the reader's attention on the words.","key_features":["Long-Form Writing","Type Focused","Minimal Design","GitHub Pages"],"card_description":"Minimal, type-focused theme designed for long-form writing.","category":"Blog","card_image":"/assets/images/themes/long-haul-card.webp","theme_screenshots":["/assets/images/themes/long-haul-screenshot.webp","/assets/images/themes/long-haul-screenshot-2.webp","/assets/images/themes/long-haul-screenshot-3.webp"],"demo_url":"https://brianmaierjr.com/long-haul/","github_url":"https://github.com/brianmaierjr/long-haul","author":"GitHub Community","github_author_name":"brianmaierjr","github_author_url":"https://github.com/brianmaierjr","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-10","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":697,"forks":305,"features":["Typography-first design","Minimal navigation","Large readable font sizes","Clean post listing","Social links","RSS feed","Google Analytics","GitHub Pages compatible","No JavaScript dependencies","Lightweight and fast"],"slug":"long-haul","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/massively.md","relative_path":"_themes/massively.md","excerpt":"<p>Massively is unlike anything else in the Jekyll ecosystem. Ported from HTML5 UP’s popular Massively template, it opens with a dramatic full-screen background image and bold typography that immediately signals a strong visual identity. The post listing uses large featured images that make even text-heavy content feel visual and inviting.</p>\n\n","previous":{"path":"_themes/long-haul.md","relative_path":"_themes/long-haul.md","excerpt":"<p>Long Haul is built for writers who take their craft seriously. Every design decision favours the text — generous line height, carefully chosen typefaces, and a layout that disappears behind the words.</p>\n\n","previous":{"path":"_themes/livvic.md","relative_path":"_themes/livvic.md","id":"/themes/livvic","collection":"themes","url":"/themes/livvic/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":false,"responsive":true,"title":"Livvic Jekyll Theme","rating":4.6,"rating_count":24,"description":"A clean, creative, and unique Jekyll theme for agency and personal portfolio websites. Features a flat modern design, unique effects, Bootstrap 4, and Font Awesome — ready to customise and launch in hours.","card_description":"Clean creative portfolio theme for agencies and freelancers — minimal, unique, responsive.","price":49,"category":"Portfolio","card_image":"/assets/images/themes/livvic-card.webp","theme_screenshots":["/assets/images/themes/livvic-screenshot.webp","/assets/images/themes/livvic-screenshot-2.webp","/assets/images/themes/livvic-screenshot-3.webp"],"key_features":["Minimal Design","Portfolio Layouts","Agency Ready","Bootstrap 4"],"demo_url":"https://livvic-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/livvic-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-01-01","added_at":"2026-06-27","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Unique homepage version with eye-catching design","Flat, modern, and clean aesthetic throughout","Unique effects and interactive functionality","Built with Bootstrap 4 — fully responsive and cross-browser compatible","Pixel-perfect design on all screen sizes and devices","Font Awesome icon font included","Google Fonts integration","Valid W3C HTML5 and CSS3 markup","Easy to customise with well-structured, commented code","Extended documentation included","Suitable for personal portfolios, creative agencies, freelancers, and consultants"],"slug":"livvic","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/long-haul","collection":"themes","next":{"path":"_themes/massively.md","relative_path":"_themes/massively.md","id":"/themes/massively","collection":"themes","url":"/themes/massively/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Massively Jekyll Theme","description":"A bold, image-driven Jekyll blog theme ported from HTML5 UP. Full-screen background image on the homepage, large featured post images, and a striking visual identity unlike any other Jekyll theme.","key_features":["Full-Screen Images","Bold Design","GitHub Pages","HTML5 UP Port"],"card_description":"Bold, image-driven blog with full-screen homepage background.","category":"Blog","card_image":"/assets/images/themes/massively-card.webp","theme_screenshots":["/assets/images/themes/massively-screenshot.webp","/assets/images/themes/massively-screenshot-2.webp","/assets/images/themes/massively-screenshot-3.webp"],"demo_url":"https://jekyllup.github.io/jekyll-theme-massively/","github_url":"https://github.com/jekyllup/jekyll-theme-massively","author":"GitHub Community","github_author_name":"jekyllup","github_author_url":"https://github.com/jekyllup","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC BY 3.0","stars":300,"forks":350,"features":["Full-screen background image on homepage","Large featured images per post","Bold typographic headings","Smooth scroll effects","Article-oriented post grid layout","Social media links","Disqus comments","Google Analytics","Responsive design","GitHub Pages compatible"],"slug":"massively","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Long Haul is built for writers who take their craft seriously. Every design decision favours the text — generous line height, carefully chosen typefaces, and a layout that disappears behind the words.\n\nNavigation is minimal, distractions are absent, and pages load almost instantly with no JavaScript dependencies.\n\n**Who is it for?** Serious writers and essayists who want a distraction-free reading experience that puts content first.\n","url":"/themes/long-haul/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Long Haul Jekyll Theme","description":"A minimal, type-focused Jekyll theme designed for long-form writing. Understated design that keeps the reader's attention on the words.","key_features":["Long-Form Writing","Type Focused","Minimal Design","GitHub Pages"],"card_description":"Minimal, type-focused theme designed for long-form writing.","category":"Blog","card_image":"/assets/images/themes/long-haul-card.webp","theme_screenshots":["/assets/images/themes/long-haul-screenshot.webp","/assets/images/themes/long-haul-screenshot-2.webp","/assets/images/themes/long-haul-screenshot-3.webp"],"demo_url":"https://brianmaierjr.com/long-haul/","github_url":"https://github.com/brianmaierjr/long-haul","author":"GitHub Community","github_author_name":"brianmaierjr","github_author_url":"https://github.com/brianmaierjr","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-10","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":697,"forks":305,"features":["Typography-first design","Minimal navigation","Large readable font sizes","Clean post listing","Social links","RSS feed","Google Analytics","GitHub Pages compatible","No JavaScript dependencies","Lightweight and fast"],"slug":"long-haul","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/massively","collection":"themes","next":{"path":"_themes/mediator.md","relative_path":"_themes/mediator.md","excerpt":"<p>Mediator is a Jekyll theme inspired by Medium’s clean reading experience. Large full-width featured images set the tone for each post, while generous line spacing and careful typography keep readers comfortable through long articles.</p>\n\n","previous":{"path":"_themes/massively.md","relative_path":"_themes/massively.md","id":"/themes/massively","collection":"themes","url":"/themes/massively/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Massively Jekyll Theme","description":"A bold, image-driven Jekyll blog theme ported from HTML5 UP. Full-screen background image on the homepage, large featured post images, and a striking visual identity unlike any other Jekyll theme.","key_features":["Full-Screen Images","Bold Design","GitHub Pages","HTML5 UP Port"],"card_description":"Bold, image-driven blog with full-screen homepage background.","category":"Blog","card_image":"/assets/images/themes/massively-card.webp","theme_screenshots":["/assets/images/themes/massively-screenshot.webp","/assets/images/themes/massively-screenshot-2.webp","/assets/images/themes/massively-screenshot-3.webp"],"demo_url":"https://jekyllup.github.io/jekyll-theme-massively/","github_url":"https://github.com/jekyllup/jekyll-theme-massively","author":"GitHub Community","github_author_name":"jekyllup","github_author_url":"https://github.com/jekyllup","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC BY 3.0","stars":300,"forks":350,"features":["Full-screen background image on homepage","Large featured images per post","Bold typographic headings","Smooth scroll effects","Article-oriented post grid layout","Social media links","Disqus comments","Google Analytics","Responsive design","GitHub Pages compatible"],"slug":"massively","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/mediator","collection":"themes","next":{"path":"_themes/mediumish.md","relative_path":"_themes/mediumish.md","id":"/themes/mediumish","collection":"themes","url":"/themes/mediumish/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediumish Jekyll Theme","description":"A Medium-inspired blog theme with card-based post listings, author pages, and a clean reading layout. One of the most popular Jekyll blog starters.","key_features":["Card Layouts","Author Pages","GitHub Pages","Medium-Inspired"],"card_description":"Medium-inspired blog with card post listings and author pages.","category":"Blog","card_image":"/assets/images/themes/mediumish-card.webp","theme_screenshots":["/assets/images/themes/mediumish-screenshot.webp","/assets/images/themes/mediumish-screenshot-2.webp","/assets/images/themes/mediumish-screenshot-3.webp"],"demo_url":"https://wowthemesnet.github.io/mediumish-theme-jekyll/","github_url":"https://github.com/wowthemesnet/mediumish-theme-jekyll","author":"GitHub Community","github_author_name":"WowThemes","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap","jekyll-paginate"],"updated_at":"2023-08-01","added_at":"2026-03-10","popular":true,"trending":false,"bestseller":false,"version":"1.0.6","license":"MIT","stars":1900,"forks":1700,"features":["Card-based post grid","Featured post hero","Author profile pages","Disqus comments","MailChimp integration","Category/tag pages"],"slug":"mediumish","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Mediator is a Jekyll theme inspired by Medium's clean reading experience. Large full-width featured images set the tone for each post, while generous line spacing and careful typography keep readers comfortable through long articles.\n\nThe author bio section at the bottom of each post adds a personal touch — great for building a connection with your readership.\n\n**Who is it for?** Writers publishing long-form content who want a reading-first experience similar to Medium.\n","url":"/themes/mediator/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediator Jekyll Theme","description":"A medium-inspired Jekyll blog theme with large featured images, clean typography, and a focus on long-form reading.","key_features":["Medium-Inspired","Featured Images","Clean Typography","GitHub Pages"],"card_description":"Medium-inspired blog with large featured images and clean typography.","category":"Blog","card_image":"/assets/images/themes/mediator-card.webp","theme_screenshots":["/assets/images/themes/mediator-screenshot.webp","/assets/images/themes/mediator-screenshot-2.webp","/assets/images/themes/mediator-screenshot-3.webp"],"demo_url":"https://blog.base68.com/","github_url":"https://github.com/dirkfabisch/mediator","author":"GitHub Community","github_author_name":"dirkfabisch","github_author_url":"https://github.com/dirkfabisch","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2024-05-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.2.0","license":"MIT","stars":810,"forks":497,"features":["Medium-inspired layout","Full-width featured images","Clean reading typography","Author bio section","Disqus comments","Social share buttons","Google Analytics","Tag archive pages","RSS feed","Responsive design"],"slug":"mediator","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Massively is unlike anything else in the Jekyll ecosystem. Ported from HTML5 UP's popular Massively template, it opens with a dramatic full-screen background image and bold typography that immediately signals a strong visual identity. The post listing uses large featured images that make even text-heavy content feel visual and inviting.\n\nIf most Jekyll themes are quiet and minimal, Massively is loud — in the best possible way. It's the choice when you want your site to make an impression the moment someone arrives.\n\n**Who is it for?** Bloggers, photographers, journalists, and creatives who want a visually dramatic, image-led site that stands out from the typical minimal developer blog.\n","url":"/themes/massively/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Massively Jekyll Theme","description":"A bold, image-driven Jekyll blog theme ported from HTML5 UP. Full-screen background image on the homepage, large featured post images, and a striking visual identity unlike any other Jekyll theme.","key_features":["Full-Screen Images","Bold Design","GitHub Pages","HTML5 UP Port"],"card_description":"Bold, image-driven blog with full-screen homepage background.","category":"Blog","card_image":"/assets/images/themes/massively-card.webp","theme_screenshots":["/assets/images/themes/massively-screenshot.webp","/assets/images/themes/massively-screenshot-2.webp","/assets/images/themes/massively-screenshot-3.webp"],"demo_url":"https://jekyllup.github.io/jekyll-theme-massively/","github_url":"https://github.com/jekyllup/jekyll-theme-massively","author":"GitHub Community","github_author_name":"jekyllup","github_author_url":"https://github.com/jekyllup","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC BY 3.0","stars":300,"forks":350,"features":["Full-screen background image on homepage","Large featured images per post","Bold typographic headings","Smooth scroll effects","Article-oriented post grid layout","Social media links","Disqus comments","Google Analytics","Responsive design","GitHub Pages compatible"],"slug":"massively","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/mediator.md","relative_path":"_themes/mediator.md","excerpt":"<p>Mediator is a Jekyll theme inspired by Medium’s clean reading experience. Large full-width featured images set the tone for each post, while generous line spacing and careful typography keep readers comfortable through long articles.</p>\n\n","previous":{"path":"_themes/massively.md","relative_path":"_themes/massively.md","excerpt":"<p>Massively is unlike anything else in the Jekyll ecosystem. Ported from HTML5 UP’s popular Massively template, it opens with a dramatic full-screen background image and bold typography that immediately signals a strong visual identity. The post listing uses large featured images that make even text-heavy content feel visual and inviting.</p>\n\n","previous":{"path":"_themes/long-haul.md","relative_path":"_themes/long-haul.md","id":"/themes/long-haul","collection":"themes","url":"/themes/long-haul/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Long Haul Jekyll Theme","description":"A minimal, type-focused Jekyll theme designed for long-form writing. Understated design that keeps the reader's attention on the words.","key_features":["Long-Form Writing","Type Focused","Minimal Design","GitHub Pages"],"card_description":"Minimal, type-focused theme designed for long-form writing.","category":"Blog","card_image":"/assets/images/themes/long-haul-card.webp","theme_screenshots":["/assets/images/themes/long-haul-screenshot.webp","/assets/images/themes/long-haul-screenshot-2.webp","/assets/images/themes/long-haul-screenshot-3.webp"],"demo_url":"https://brianmaierjr.com/long-haul/","github_url":"https://github.com/brianmaierjr/long-haul","author":"GitHub Community","github_author_name":"brianmaierjr","github_author_url":"https://github.com/brianmaierjr","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-08-10","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":697,"forks":305,"features":["Typography-first design","Minimal navigation","Large readable font sizes","Clean post listing","Social links","RSS feed","Google Analytics","GitHub Pages compatible","No JavaScript dependencies","Lightweight and fast"],"slug":"long-haul","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/massively","collection":"themes","next":{"path":"_themes/mediator.md","relative_path":"_themes/mediator.md","id":"/themes/mediator","collection":"themes","url":"/themes/mediator/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediator Jekyll Theme","description":"A medium-inspired Jekyll blog theme with large featured images, clean typography, and a focus on long-form reading.","key_features":["Medium-Inspired","Featured Images","Clean Typography","GitHub Pages"],"card_description":"Medium-inspired blog with large featured images and clean typography.","category":"Blog","card_image":"/assets/images/themes/mediator-card.webp","theme_screenshots":["/assets/images/themes/mediator-screenshot.webp","/assets/images/themes/mediator-screenshot-2.webp","/assets/images/themes/mediator-screenshot-3.webp"],"demo_url":"https://blog.base68.com/","github_url":"https://github.com/dirkfabisch/mediator","author":"GitHub Community","github_author_name":"dirkfabisch","github_author_url":"https://github.com/dirkfabisch","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2024-05-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.2.0","license":"MIT","stars":810,"forks":497,"features":["Medium-inspired layout","Full-width featured images","Clean reading typography","Author bio section","Disqus comments","Social share buttons","Google Analytics","Tag archive pages","RSS feed","Responsive design"],"slug":"mediator","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Massively is unlike anything else in the Jekyll ecosystem. Ported from HTML5 UP's popular Massively template, it opens with a dramatic full-screen background image and bold typography that immediately signals a strong visual identity. The post listing uses large featured images that make even text-heavy content feel visual and inviting.\n\nIf most Jekyll themes are quiet and minimal, Massively is loud — in the best possible way. It's the choice when you want your site to make an impression the moment someone arrives.\n\n**Who is it for?** Bloggers, photographers, journalists, and creatives who want a visually dramatic, image-led site that stands out from the typical minimal developer blog.\n","url":"/themes/massively/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Massively Jekyll Theme","description":"A bold, image-driven Jekyll blog theme ported from HTML5 UP. Full-screen background image on the homepage, large featured post images, and a striking visual identity unlike any other Jekyll theme.","key_features":["Full-Screen Images","Bold Design","GitHub Pages","HTML5 UP Port"],"card_description":"Bold, image-driven blog with full-screen homepage background.","category":"Blog","card_image":"/assets/images/themes/massively-card.webp","theme_screenshots":["/assets/images/themes/massively-screenshot.webp","/assets/images/themes/massively-screenshot-2.webp","/assets/images/themes/massively-screenshot-3.webp"],"demo_url":"https://jekyllup.github.io/jekyll-theme-massively/","github_url":"https://github.com/jekyllup/jekyll-theme-massively","author":"GitHub Community","github_author_name":"jekyllup","github_author_url":"https://github.com/jekyllup","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC BY 3.0","stars":300,"forks":350,"features":["Full-screen background image on homepage","Large featured images per post","Bold typographic headings","Smooth scroll effects","Article-oriented post grid layout","Social media links","Disqus comments","Google Analytics","Responsive design","GitHub Pages compatible"],"slug":"massively","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/mediator","collection":"themes","next":{"path":"_themes/mediumish.md","relative_path":"_themes/mediumish.md","excerpt":"<p>Mediumish brings the clean, readable aesthetic of Medium to your self-hosted Jekyll blog. Card-based post listings, full author profile pages, and a spacious reading layout combine to create a blog that feels serious and editorial.</p>\n\n","previous":{"path":"_themes/mediator.md","relative_path":"_themes/mediator.md","id":"/themes/mediator","collection":"themes","url":"/themes/mediator/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediator Jekyll Theme","description":"A medium-inspired Jekyll blog theme with large featured images, clean typography, and a focus on long-form reading.","key_features":["Medium-Inspired","Featured Images","Clean Typography","GitHub Pages"],"card_description":"Medium-inspired blog with large featured images and clean typography.","category":"Blog","card_image":"/assets/images/themes/mediator-card.webp","theme_screenshots":["/assets/images/themes/mediator-screenshot.webp","/assets/images/themes/mediator-screenshot-2.webp","/assets/images/themes/mediator-screenshot-3.webp"],"demo_url":"https://blog.base68.com/","github_url":"https://github.com/dirkfabisch/mediator","author":"GitHub Community","github_author_name":"dirkfabisch","github_author_url":"https://github.com/dirkfabisch","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2024-05-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.2.0","license":"MIT","stars":810,"forks":497,"features":["Medium-inspired layout","Full-width featured images","Clean reading typography","Author bio section","Disqus comments","Social share buttons","Google Analytics","Tag archive pages","RSS feed","Responsive design"],"slug":"mediator","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/mediumish","collection":"themes","next":{"path":"_themes/merlot.md","relative_path":"_themes/merlot.md","id":"/themes/merlot","collection":"themes","url":"/themes/merlot/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Merlot Jekyll Theme","description":"A warm, editorial GitHub Pages Jekyll theme with classic typographic styling. Official GitHub Pages theme for personal and project sites.","key_features":["GitHub Pages","Editorial Style","Warm Palette","Classic Typography"],"card_description":"Warm, editorial GitHub Pages theme with classic typographic styling.","category":"Personal","card_image":"/assets/images/themes/merlot-card.webp","theme_screenshots":["/assets/images/themes/merlot-screenshot.webp","/assets/images/themes/merlot-screenshot-2.webp","/assets/images/themes/merlot-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/merlot/","github_url":"https://github.com/pages-themes/merlot","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Warm burgundy header accent","Clean white content area","Elegant, professional aesthetic","Single-line enable via _config.yml","Responsive layout","No local setup required"],"slug":"merlot","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Mediumish brings the clean, readable aesthetic of Medium to your self-hosted Jekyll blog. Card-based post listings, full author profile pages, and a spacious reading layout combine to create a blog that feels serious and editorial.\n\n**Who is it for?** Bloggers and content creators who want a Medium-quality reading experience on their own domain.\n","url":"/themes/mediumish/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediumish Jekyll Theme","description":"A Medium-inspired blog theme with card-based post listings, author pages, and a clean reading layout. One of the most popular Jekyll blog starters.","key_features":["Card Layouts","Author Pages","GitHub Pages","Medium-Inspired"],"card_description":"Medium-inspired blog with card post listings and author pages.","category":"Blog","card_image":"/assets/images/themes/mediumish-card.webp","theme_screenshots":["/assets/images/themes/mediumish-screenshot.webp","/assets/images/themes/mediumish-screenshot-2.webp","/assets/images/themes/mediumish-screenshot-3.webp"],"demo_url":"https://wowthemesnet.github.io/mediumish-theme-jekyll/","github_url":"https://github.com/wowthemesnet/mediumish-theme-jekyll","author":"GitHub Community","github_author_name":"WowThemes","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap","jekyll-paginate"],"updated_at":"2023-08-01","added_at":"2026-03-10","popular":true,"trending":false,"bestseller":false,"version":"1.0.6","license":"MIT","stars":1900,"forks":1700,"features":["Card-based post grid","Featured post hero","Author profile pages","Disqus comments","MailChimp integration","Category/tag pages"],"slug":"mediumish","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Mediator is a Jekyll theme inspired by Medium's clean reading experience. Large full-width featured images set the tone for each post, while generous line spacing and careful typography keep readers comfortable through long articles.\n\nThe author bio section at the bottom of each post adds a personal touch — great for building a connection with your readership.\n\n**Who is it for?** Writers publishing long-form content who want a reading-first experience similar to Medium.\n","url":"/themes/mediator/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediator Jekyll Theme","description":"A medium-inspired Jekyll blog theme with large featured images, clean typography, and a focus on long-form reading.","key_features":["Medium-Inspired","Featured Images","Clean Typography","GitHub Pages"],"card_description":"Medium-inspired blog with large featured images and clean typography.","category":"Blog","card_image":"/assets/images/themes/mediator-card.webp","theme_screenshots":["/assets/images/themes/mediator-screenshot.webp","/assets/images/themes/mediator-screenshot-2.webp","/assets/images/themes/mediator-screenshot-3.webp"],"demo_url":"https://blog.base68.com/","github_url":"https://github.com/dirkfabisch/mediator","author":"GitHub Community","github_author_name":"dirkfabisch","github_author_url":"https://github.com/dirkfabisch","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2024-05-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.2.0","license":"MIT","stars":810,"forks":497,"features":["Medium-inspired layout","Full-width featured images","Clean reading typography","Author bio section","Disqus comments","Social share buttons","Google Analytics","Tag archive pages","RSS feed","Responsive design"],"slug":"mediator","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/mediumish.md","relative_path":"_themes/mediumish.md","excerpt":"<p>Mediumish brings the clean, readable aesthetic of Medium to your self-hosted Jekyll blog. Card-based post listings, full author profile pages, and a spacious reading layout combine to create a blog that feels serious and editorial.</p>\n\n","previous":{"path":"_themes/mediator.md","relative_path":"_themes/mediator.md","excerpt":"<p>Mediator is a Jekyll theme inspired by Medium’s clean reading experience. Large full-width featured images set the tone for each post, while generous line spacing and careful typography keep readers comfortable through long articles.</p>\n\n","previous":{"path":"_themes/massively.md","relative_path":"_themes/massively.md","id":"/themes/massively","collection":"themes","url":"/themes/massively/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Massively Jekyll Theme","description":"A bold, image-driven Jekyll blog theme ported from HTML5 UP. Full-screen background image on the homepage, large featured post images, and a striking visual identity unlike any other Jekyll theme.","key_features":["Full-Screen Images","Bold Design","GitHub Pages","HTML5 UP Port"],"card_description":"Bold, image-driven blog with full-screen homepage background.","category":"Blog","card_image":"/assets/images/themes/massively-card.webp","theme_screenshots":["/assets/images/themes/massively-screenshot.webp","/assets/images/themes/massively-screenshot-2.webp","/assets/images/themes/massively-screenshot-3.webp"],"demo_url":"https://jekyllup.github.io/jekyll-theme-massively/","github_url":"https://github.com/jekyllup/jekyll-theme-massively","author":"GitHub Community","github_author_name":"jekyllup","github_author_url":"https://github.com/jekyllup","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"CC BY 3.0","stars":300,"forks":350,"features":["Full-screen background image on homepage","Large featured images per post","Bold typographic headings","Smooth scroll effects","Article-oriented post grid layout","Social media links","Disqus comments","Google Analytics","Responsive design","GitHub Pages compatible"],"slug":"massively","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/mediator","collection":"themes","next":{"path":"_themes/mediumish.md","relative_path":"_themes/mediumish.md","id":"/themes/mediumish","collection":"themes","url":"/themes/mediumish/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediumish Jekyll Theme","description":"A Medium-inspired blog theme with card-based post listings, author pages, and a clean reading layout. One of the most popular Jekyll blog starters.","key_features":["Card Layouts","Author Pages","GitHub Pages","Medium-Inspired"],"card_description":"Medium-inspired blog with card post listings and author pages.","category":"Blog","card_image":"/assets/images/themes/mediumish-card.webp","theme_screenshots":["/assets/images/themes/mediumish-screenshot.webp","/assets/images/themes/mediumish-screenshot-2.webp","/assets/images/themes/mediumish-screenshot-3.webp"],"demo_url":"https://wowthemesnet.github.io/mediumish-theme-jekyll/","github_url":"https://github.com/wowthemesnet/mediumish-theme-jekyll","author":"GitHub Community","github_author_name":"WowThemes","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap","jekyll-paginate"],"updated_at":"2023-08-01","added_at":"2026-03-10","popular":true,"trending":false,"bestseller":false,"version":"1.0.6","license":"MIT","stars":1900,"forks":1700,"features":["Card-based post grid","Featured post hero","Author profile pages","Disqus comments","MailChimp integration","Category/tag pages"],"slug":"mediumish","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Mediator is a Jekyll theme inspired by Medium's clean reading experience. Large full-width featured images set the tone for each post, while generous line spacing and careful typography keep readers comfortable through long articles.\n\nThe author bio section at the bottom of each post adds a personal touch — great for building a connection with your readership.\n\n**Who is it for?** Writers publishing long-form content who want a reading-first experience similar to Medium.\n","url":"/themes/mediator/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediator Jekyll Theme","description":"A medium-inspired Jekyll blog theme with large featured images, clean typography, and a focus on long-form reading.","key_features":["Medium-Inspired","Featured Images","Clean Typography","GitHub Pages"],"card_description":"Medium-inspired blog with large featured images and clean typography.","category":"Blog","card_image":"/assets/images/themes/mediator-card.webp","theme_screenshots":["/assets/images/themes/mediator-screenshot.webp","/assets/images/themes/mediator-screenshot-2.webp","/assets/images/themes/mediator-screenshot-3.webp"],"demo_url":"https://blog.base68.com/","github_url":"https://github.com/dirkfabisch/mediator","author":"GitHub Community","github_author_name":"dirkfabisch","github_author_url":"https://github.com/dirkfabisch","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2024-05-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.2.0","license":"MIT","stars":810,"forks":497,"features":["Medium-inspired layout","Full-width featured images","Clean reading typography","Author bio section","Disqus comments","Social share buttons","Google Analytics","Tag archive pages","RSS feed","Responsive design"],"slug":"mediator","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/mediumish","collection":"themes","next":{"path":"_themes/merlot.md","relative_path":"_themes/merlot.md","excerpt":"<p>Merlot is the warmest of GitHub’s official themes. Its deep burgundy header creates an immediately distinctive look that feels more personal and elegant than the typical developer site. The white content area keeps reading comfortable, and the overall impression is polished without being corporate.</p>\n\n","previous":{"path":"_themes/mediumish.md","relative_path":"_themes/mediumish.md","id":"/themes/mediumish","collection":"themes","url":"/themes/mediumish/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediumish Jekyll Theme","description":"A Medium-inspired blog theme with card-based post listings, author pages, and a clean reading layout. One of the most popular Jekyll blog starters.","key_features":["Card Layouts","Author Pages","GitHub Pages","Medium-Inspired"],"card_description":"Medium-inspired blog with card post listings and author pages.","category":"Blog","card_image":"/assets/images/themes/mediumish-card.webp","theme_screenshots":["/assets/images/themes/mediumish-screenshot.webp","/assets/images/themes/mediumish-screenshot-2.webp","/assets/images/themes/mediumish-screenshot-3.webp"],"demo_url":"https://wowthemesnet.github.io/mediumish-theme-jekyll/","github_url":"https://github.com/wowthemesnet/mediumish-theme-jekyll","author":"GitHub Community","github_author_name":"WowThemes","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap","jekyll-paginate"],"updated_at":"2023-08-01","added_at":"2026-03-10","popular":true,"trending":false,"bestseller":false,"version":"1.0.6","license":"MIT","stars":1900,"forks":1700,"features":["Card-based post grid","Featured post hero","Author profile pages","Disqus comments","MailChimp integration","Category/tag pages"],"slug":"mediumish","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/merlot","collection":"themes","next":{"path":"_themes/midnight.md","relative_path":"_themes/midnight.md","id":"/themes/midnight","collection":"themes","url":"/themes/midnight/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Midnight Jekyll Theme","description":"A dark, sleek GitHub Pages Jekyll theme with light text on deep backgrounds. Official GitHub Pages theme ideal for personal projects and portfolios.","key_features":["Dark Theme","GitHub Pages","Sleek Design","Official GH Theme"],"card_description":"Dark, sleek GitHub Pages theme with light text on deep backgrounds.","category":"Personal","card_image":"/assets/images/themes/midnight-card.webp","theme_screenshots":["/assets/images/themes/midnight-screenshot.webp","/assets/images/themes/midnight-screenshot-2.webp","/assets/images/themes/midnight-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/midnight/","github_url":"https://github.com/pages-themes/midnight","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Dark background design","High-contrast content area","Responsive mobile layout","Single-line enable via _config.yml","No local setup required","Clean typographic hierarchy"],"slug":"midnight","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Merlot is the warmest of GitHub's official themes. Its deep burgundy header creates an immediately distinctive look that feels more personal and elegant than the typical developer site. The white content area keeps reading comfortable, and the overall impression is polished without being corporate.\n\nAs an official GitHub Pages theme, enabling it is a single line — making it a popular choice for personal project pages that need to look good quickly.\n\n**Who is it for?** Anyone who wants a warmer, more personal aesthetic on GitHub Pages, with a distinctive look that stands out from the default blue-and-white developer site template.\n","url":"/themes/merlot/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Merlot Jekyll Theme","description":"A warm, editorial GitHub Pages Jekyll theme with classic typographic styling. Official GitHub Pages theme for personal and project sites.","key_features":["GitHub Pages","Editorial Style","Warm Palette","Classic Typography"],"card_description":"Warm, editorial GitHub Pages theme with classic typographic styling.","category":"Personal","card_image":"/assets/images/themes/merlot-card.webp","theme_screenshots":["/assets/images/themes/merlot-screenshot.webp","/assets/images/themes/merlot-screenshot-2.webp","/assets/images/themes/merlot-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/merlot/","github_url":"https://github.com/pages-themes/merlot","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Warm burgundy header accent","Clean white content area","Elegant, professional aesthetic","Single-line enable via _config.yml","Responsive layout","No local setup required"],"slug":"merlot","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Mediumish brings the clean, readable aesthetic of Medium to your self-hosted Jekyll blog. Card-based post listings, full author profile pages, and a spacious reading layout combine to create a blog that feels serious and editorial.\n\n**Who is it for?** Bloggers and content creators who want a Medium-quality reading experience on their own domain.\n","url":"/themes/mediumish/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediumish Jekyll Theme","description":"A Medium-inspired blog theme with card-based post listings, author pages, and a clean reading layout. One of the most popular Jekyll blog starters.","key_features":["Card Layouts","Author Pages","GitHub Pages","Medium-Inspired"],"card_description":"Medium-inspired blog with card post listings and author pages.","category":"Blog","card_image":"/assets/images/themes/mediumish-card.webp","theme_screenshots":["/assets/images/themes/mediumish-screenshot.webp","/assets/images/themes/mediumish-screenshot-2.webp","/assets/images/themes/mediumish-screenshot-3.webp"],"demo_url":"https://wowthemesnet.github.io/mediumish-theme-jekyll/","github_url":"https://github.com/wowthemesnet/mediumish-theme-jekyll","author":"GitHub Community","github_author_name":"WowThemes","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap","jekyll-paginate"],"updated_at":"2023-08-01","added_at":"2026-03-10","popular":true,"trending":false,"bestseller":false,"version":"1.0.6","license":"MIT","stars":1900,"forks":1700,"features":["Card-based post grid","Featured post hero","Author profile pages","Disqus comments","MailChimp integration","Category/tag pages"],"slug":"mediumish","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/merlot.md","relative_path":"_themes/merlot.md","excerpt":"<p>Merlot is the warmest of GitHub’s official themes. Its deep burgundy header creates an immediately distinctive look that feels more personal and elegant than the typical developer site. The white content area keeps reading comfortable, and the overall impression is polished without being corporate.</p>\n\n","previous":{"path":"_themes/mediumish.md","relative_path":"_themes/mediumish.md","excerpt":"<p>Mediumish brings the clean, readable aesthetic of Medium to your self-hosted Jekyll blog. Card-based post listings, full author profile pages, and a spacious reading layout combine to create a blog that feels serious and editorial.</p>\n\n","previous":{"path":"_themes/mediator.md","relative_path":"_themes/mediator.md","id":"/themes/mediator","collection":"themes","url":"/themes/mediator/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediator Jekyll Theme","description":"A medium-inspired Jekyll blog theme with large featured images, clean typography, and a focus on long-form reading.","key_features":["Medium-Inspired","Featured Images","Clean Typography","GitHub Pages"],"card_description":"Medium-inspired blog with large featured images and clean typography.","category":"Blog","card_image":"/assets/images/themes/mediator-card.webp","theme_screenshots":["/assets/images/themes/mediator-screenshot.webp","/assets/images/themes/mediator-screenshot-2.webp","/assets/images/themes/mediator-screenshot-3.webp"],"demo_url":"https://blog.base68.com/","github_url":"https://github.com/dirkfabisch/mediator","author":"GitHub Community","github_author_name":"dirkfabisch","github_author_url":"https://github.com/dirkfabisch","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2024-05-28","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.2.0","license":"MIT","stars":810,"forks":497,"features":["Medium-inspired layout","Full-width featured images","Clean reading typography","Author bio section","Disqus comments","Social share buttons","Google Analytics","Tag archive pages","RSS feed","Responsive design"],"slug":"mediator","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/mediumish","collection":"themes","next":{"path":"_themes/merlot.md","relative_path":"_themes/merlot.md","id":"/themes/merlot","collection":"themes","url":"/themes/merlot/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Merlot Jekyll Theme","description":"A warm, editorial GitHub Pages Jekyll theme with classic typographic styling. Official GitHub Pages theme for personal and project sites.","key_features":["GitHub Pages","Editorial Style","Warm Palette","Classic Typography"],"card_description":"Warm, editorial GitHub Pages theme with classic typographic styling.","category":"Personal","card_image":"/assets/images/themes/merlot-card.webp","theme_screenshots":["/assets/images/themes/merlot-screenshot.webp","/assets/images/themes/merlot-screenshot-2.webp","/assets/images/themes/merlot-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/merlot/","github_url":"https://github.com/pages-themes/merlot","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Warm burgundy header accent","Clean white content area","Elegant, professional aesthetic","Single-line enable via _config.yml","Responsive layout","No local setup required"],"slug":"merlot","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Mediumish brings the clean, readable aesthetic of Medium to your self-hosted Jekyll blog. Card-based post listings, full author profile pages, and a spacious reading layout combine to create a blog that feels serious and editorial.\n\n**Who is it for?** Bloggers and content creators who want a Medium-quality reading experience on their own domain.\n","url":"/themes/mediumish/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediumish Jekyll Theme","description":"A Medium-inspired blog theme with card-based post listings, author pages, and a clean reading layout. One of the most popular Jekyll blog starters.","key_features":["Card Layouts","Author Pages","GitHub Pages","Medium-Inspired"],"card_description":"Medium-inspired blog with card post listings and author pages.","category":"Blog","card_image":"/assets/images/themes/mediumish-card.webp","theme_screenshots":["/assets/images/themes/mediumish-screenshot.webp","/assets/images/themes/mediumish-screenshot-2.webp","/assets/images/themes/mediumish-screenshot-3.webp"],"demo_url":"https://wowthemesnet.github.io/mediumish-theme-jekyll/","github_url":"https://github.com/wowthemesnet/mediumish-theme-jekyll","author":"GitHub Community","github_author_name":"WowThemes","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap","jekyll-paginate"],"updated_at":"2023-08-01","added_at":"2026-03-10","popular":true,"trending":false,"bestseller":false,"version":"1.0.6","license":"MIT","stars":1900,"forks":1700,"features":["Card-based post grid","Featured post hero","Author profile pages","Disqus comments","MailChimp integration","Category/tag pages"],"slug":"mediumish","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/merlot","collection":"themes","next":{"path":"_themes/midnight.md","relative_path":"_themes/midnight.md","excerpt":"<p>Midnight is the dark-mode option among GitHub’s official supported themes. Its deep charcoal background and carefully chosen accent colours create a striking, high-contrast aesthetic that feels at home for developer portfolios, open-source project pages, and creative personal sites.</p>\n\n","previous":{"path":"_themes/merlot.md","relative_path":"_themes/merlot.md","id":"/themes/merlot","collection":"themes","url":"/themes/merlot/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Merlot Jekyll Theme","description":"A warm, editorial GitHub Pages Jekyll theme with classic typographic styling. Official GitHub Pages theme for personal and project sites.","key_features":["GitHub Pages","Editorial Style","Warm Palette","Classic Typography"],"card_description":"Warm, editorial GitHub Pages theme with classic typographic styling.","category":"Personal","card_image":"/assets/images/themes/merlot-card.webp","theme_screenshots":["/assets/images/themes/merlot-screenshot.webp","/assets/images/themes/merlot-screenshot-2.webp","/assets/images/themes/merlot-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/merlot/","github_url":"https://github.com/pages-themes/merlot","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Warm burgundy header accent","Clean white content area","Elegant, professional aesthetic","Single-line enable via _config.yml","Responsive layout","No local setup required"],"slug":"merlot","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/midnight","collection":"themes","next":{"path":"_themes/miles.md","relative_path":"_themes/miles.md","id":"/themes/miles","collection":"themes","url":"/themes/miles/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Miles Jekyll Theme","rating":4.7,"rating_count":31,"description":"A creative portfolio and agency Jekyll theme with 12+ homepage layouts, 6 portfolio styles, and 4 blog layouts. Designed for agencies, freelancers, and creative professionals who want a stunning site in hours not days.","card_description":"Creative agency and portfolio theme — 12+ homepages, 6 portfolio styles, dark design.","price":79,"category":"Portfolio","card_image":"/assets/images/themes/miles-card.webp","theme_screenshots":["/assets/images/themes/miles-screenshot.webp","/assets/images/themes/miles-screenshot-2.webp","/assets/images/themes/miles-screenshot-3.webp"],"key_features":["12+ Homepages","6 Portfolio Styles","Agency Ready","4 Blog Layouts"],"demo_url":"https://miles-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/demo/miles/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-03-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["12+ unique creative homepage layouts to choose from","6 portfolio layout styles — masonry, grid, list, carousel, and more","4 blog layout styles for different editorial presentations","3 about page layouts for personal or team introductions","3 service layout styles for agency service showcases","8 additional essential inner page layouts","Modern and clean design on a 1170px grid system","Built with Bootstrap 4, fully responsive and cross-browser compatible","Google Fonts and Font Awesome icon font included","Pixel-perfect design with smooth unique effects","Easy to customise with well-structured code","Extended documentation included","Ideal for agencies, freelancers, consultants, creatives, and startups"],"slug":"miles","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Midnight is the dark-mode option among GitHub's official supported themes. Its deep charcoal background and carefully chosen accent colours create a striking, high-contrast aesthetic that feels at home for developer portfolios, open-source project pages, and creative personal sites.\n\nLike all GitHub Pages official themes, it requires only a line in `_config.yml` to activate — making it the fastest way to get a good-looking dark site onto GitHub Pages.\n\n**Who is it for?** Developers and creatives who want a polished dark-themed site on GitHub Pages with zero configuration overhead.\n","url":"/themes/midnight/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Midnight Jekyll Theme","description":"A dark, sleek GitHub Pages Jekyll theme with light text on deep backgrounds. Official GitHub Pages theme ideal for personal projects and portfolios.","key_features":["Dark Theme","GitHub Pages","Sleek Design","Official GH Theme"],"card_description":"Dark, sleek GitHub Pages theme with light text on deep backgrounds.","category":"Personal","card_image":"/assets/images/themes/midnight-card.webp","theme_screenshots":["/assets/images/themes/midnight-screenshot.webp","/assets/images/themes/midnight-screenshot-2.webp","/assets/images/themes/midnight-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/midnight/","github_url":"https://github.com/pages-themes/midnight","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Dark background design","High-contrast content area","Responsive mobile layout","Single-line enable via _config.yml","No local setup required","Clean typographic hierarchy"],"slug":"midnight","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Merlot is the warmest of GitHub's official themes. Its deep burgundy header creates an immediately distinctive look that feels more personal and elegant than the typical developer site. The white content area keeps reading comfortable, and the overall impression is polished without being corporate.\n\nAs an official GitHub Pages theme, enabling it is a single line — making it a popular choice for personal project pages that need to look good quickly.\n\n**Who is it for?** Anyone who wants a warmer, more personal aesthetic on GitHub Pages, with a distinctive look that stands out from the default blue-and-white developer site template.\n","url":"/themes/merlot/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Merlot Jekyll Theme","description":"A warm, editorial GitHub Pages Jekyll theme with classic typographic styling. Official GitHub Pages theme for personal and project sites.","key_features":["GitHub Pages","Editorial Style","Warm Palette","Classic Typography"],"card_description":"Warm, editorial GitHub Pages theme with classic typographic styling.","category":"Personal","card_image":"/assets/images/themes/merlot-card.webp","theme_screenshots":["/assets/images/themes/merlot-screenshot.webp","/assets/images/themes/merlot-screenshot-2.webp","/assets/images/themes/merlot-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/merlot/","github_url":"https://github.com/pages-themes/merlot","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Warm burgundy header accent","Clean white content area","Elegant, professional aesthetic","Single-line enable via _config.yml","Responsive layout","No local setup required"],"slug":"merlot","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/midnight.md","relative_path":"_themes/midnight.md","excerpt":"<p>Midnight is the dark-mode option among GitHub’s official supported themes. Its deep charcoal background and carefully chosen accent colours create a striking, high-contrast aesthetic that feels at home for developer portfolios, open-source project pages, and creative personal sites.</p>\n\n","previous":{"path":"_themes/merlot.md","relative_path":"_themes/merlot.md","excerpt":"<p>Merlot is the warmest of GitHub’s official themes. Its deep burgundy header creates an immediately distinctive look that feels more personal and elegant than the typical developer site. The white content area keeps reading comfortable, and the overall impression is polished without being corporate.</p>\n\n","previous":{"path":"_themes/mediumish.md","relative_path":"_themes/mediumish.md","id":"/themes/mediumish","collection":"themes","url":"/themes/mediumish/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mediumish Jekyll Theme","description":"A Medium-inspired blog theme with card-based post listings, author pages, and a clean reading layout. One of the most popular Jekyll blog starters.","key_features":["Card Layouts","Author Pages","GitHub Pages","Medium-Inspired"],"card_description":"Medium-inspired blog with card post listings and author pages.","category":"Blog","card_image":"/assets/images/themes/mediumish-card.webp","theme_screenshots":["/assets/images/themes/mediumish-screenshot.webp","/assets/images/themes/mediumish-screenshot-2.webp","/assets/images/themes/mediumish-screenshot-3.webp"],"demo_url":"https://wowthemesnet.github.io/mediumish-theme-jekyll/","github_url":"https://github.com/wowthemesnet/mediumish-theme-jekyll","author":"GitHub Community","github_author_name":"WowThemes","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap","jekyll-paginate"],"updated_at":"2023-08-01","added_at":"2026-03-10","popular":true,"trending":false,"bestseller":false,"version":"1.0.6","license":"MIT","stars":1900,"forks":1700,"features":["Card-based post grid","Featured post hero","Author profile pages","Disqus comments","MailChimp integration","Category/tag pages"],"slug":"mediumish","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/merlot","collection":"themes","next":{"path":"_themes/midnight.md","relative_path":"_themes/midnight.md","id":"/themes/midnight","collection":"themes","url":"/themes/midnight/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Midnight Jekyll Theme","description":"A dark, sleek GitHub Pages Jekyll theme with light text on deep backgrounds. Official GitHub Pages theme ideal for personal projects and portfolios.","key_features":["Dark Theme","GitHub Pages","Sleek Design","Official GH Theme"],"card_description":"Dark, sleek GitHub Pages theme with light text on deep backgrounds.","category":"Personal","card_image":"/assets/images/themes/midnight-card.webp","theme_screenshots":["/assets/images/themes/midnight-screenshot.webp","/assets/images/themes/midnight-screenshot-2.webp","/assets/images/themes/midnight-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/midnight/","github_url":"https://github.com/pages-themes/midnight","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Dark background design","High-contrast content area","Responsive mobile layout","Single-line enable via _config.yml","No local setup required","Clean typographic hierarchy"],"slug":"midnight","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Merlot is the warmest of GitHub's official themes. Its deep burgundy header creates an immediately distinctive look that feels more personal and elegant than the typical developer site. The white content area keeps reading comfortable, and the overall impression is polished without being corporate.\n\nAs an official GitHub Pages theme, enabling it is a single line — making it a popular choice for personal project pages that need to look good quickly.\n\n**Who is it for?** Anyone who wants a warmer, more personal aesthetic on GitHub Pages, with a distinctive look that stands out from the default blue-and-white developer site template.\n","url":"/themes/merlot/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Merlot Jekyll Theme","description":"A warm, editorial GitHub Pages Jekyll theme with classic typographic styling. Official GitHub Pages theme for personal and project sites.","key_features":["GitHub Pages","Editorial Style","Warm Palette","Classic Typography"],"card_description":"Warm, editorial GitHub Pages theme with classic typographic styling.","category":"Personal","card_image":"/assets/images/themes/merlot-card.webp","theme_screenshots":["/assets/images/themes/merlot-screenshot.webp","/assets/images/themes/merlot-screenshot-2.webp","/assets/images/themes/merlot-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/merlot/","github_url":"https://github.com/pages-themes/merlot","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Warm burgundy header accent","Clean white content area","Elegant, professional aesthetic","Single-line enable via _config.yml","Responsive layout","No local setup required"],"slug":"merlot","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/midnight","collection":"themes","next":{"path":"_themes/miles.md","relative_path":"_themes/miles.md","excerpt":"<p>Miles is built for creative professionals who need a portfolio or agency site that makes an immediate impression. The headline stat — 12+ homepage layouts — means you can pick the mood and structure that fits your work, from bold full-screen hero layouts to editorial multi-column arrangements, without touching layout code.</p>\n\n","previous":{"path":"_themes/midnight.md","relative_path":"_themes/midnight.md","id":"/themes/midnight","collection":"themes","url":"/themes/midnight/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Midnight Jekyll Theme","description":"A dark, sleek GitHub Pages Jekyll theme with light text on deep backgrounds. Official GitHub Pages theme ideal for personal projects and portfolios.","key_features":["Dark Theme","GitHub Pages","Sleek Design","Official GH Theme"],"card_description":"Dark, sleek GitHub Pages theme with light text on deep backgrounds.","category":"Personal","card_image":"/assets/images/themes/midnight-card.webp","theme_screenshots":["/assets/images/themes/midnight-screenshot.webp","/assets/images/themes/midnight-screenshot-2.webp","/assets/images/themes/midnight-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/midnight/","github_url":"https://github.com/pages-themes/midnight","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Dark background design","High-contrast content area","Responsive mobile layout","Single-line enable via _config.yml","No local setup required","Clean typographic hierarchy"],"slug":"midnight","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/miles","collection":"themes","next":{"path":"_themes/millennial.md","relative_path":"_themes/millennial.md","id":"/themes/millennial","collection":"themes","url":"/themes/millennial/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Millennial Jekyll Theme","description":"A minimalist, responsive Jekyll blog theme with a clean layout, tag support, pagination, and social share buttons.","key_features":["Tag Support","GitHub Pages","Social Sharing","Minimal Design"],"card_description":"Minimalist responsive blog with tag support and social share buttons.","category":"Blog","card_image":"/assets/images/themes/millennial-card.webp","theme_screenshots":["/assets/images/themes/millennial-screenshot.webp","/assets/images/themes/millennial-screenshot-2.webp","/assets/images/themes/millennial-screenshot-3.webp"],"demo_url":"https://lenpaul.github.io/Millennial/","github_url":"https://github.com/LeNPaul/Millennial","author":"GitHub Community","github_author_name":"LeNPaul","github_author_url":"https://github.com/LeNPaul","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-06-16","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":474,"forks":285,"features":["Clean minimal layout","Tag archive pages","Paginated post list","Social share buttons","Featured post images","Google Analytics","Disqus comments","RSS feed","GitHub Pages compatible","Mobile responsive"],"slug":"millennial","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Miles is built for creative professionals who need a portfolio or agency site that makes an immediate impression. The headline stat — 12+ homepage layouts — means you can pick the mood and structure that fits your work, from bold full-screen hero layouts to editorial multi-column arrangements, without touching layout code.\n\n### Layout Variety That Matters\n\nSix portfolio styles means your work can be presented the way it deserves: masonry grids for photography, clean single-column for case studies, filtered galleries for multi-discipline agencies. The four blog layouts and three service page styles give the same flexibility to supporting content, so every section of the site feels considered rather than templated.\n\n### Designed for Agencies and Freelancers\n\nThe 1170px grid, clean typography, smooth effects, and dark-capable design palette make Miles appropriate for the kinds of clients who judge a supplier by their own website. The theme is built on Bootstrap 4 with Font Awesome icons and Google Fonts — a stable, familiar stack that any developer can extend without learning proprietary conventions.\n\n**Who is it for?** Creative agencies, freelance designers and developers, consultants, and personal portfolio builders who want a professional result fast — and a theme that presents their work rather than competing with it.\n","url":"/themes/miles/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Miles Jekyll Theme","rating":4.7,"rating_count":31,"description":"A creative portfolio and agency Jekyll theme with 12+ homepage layouts, 6 portfolio styles, and 4 blog layouts. Designed for agencies, freelancers, and creative professionals who want a stunning site in hours not days.","card_description":"Creative agency and portfolio theme — 12+ homepages, 6 portfolio styles, dark design.","price":79,"category":"Portfolio","card_image":"/assets/images/themes/miles-card.webp","theme_screenshots":["/assets/images/themes/miles-screenshot.webp","/assets/images/themes/miles-screenshot-2.webp","/assets/images/themes/miles-screenshot-3.webp"],"key_features":["12+ Homepages","6 Portfolio Styles","Agency Ready","4 Blog Layouts"],"demo_url":"https://miles-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/demo/miles/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-03-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["12+ unique creative homepage layouts to choose from","6 portfolio layout styles — masonry, grid, list, carousel, and more","4 blog layout styles for different editorial presentations","3 about page layouts for personal or team introductions","3 service layout styles for agency service showcases","8 additional essential inner page layouts","Modern and clean design on a 1170px grid system","Built with Bootstrap 4, fully responsive and cross-browser compatible","Google Fonts and Font Awesome icon font included","Pixel-perfect design with smooth unique effects","Easy to customise with well-structured code","Extended documentation included","Ideal for agencies, freelancers, consultants, creatives, and startups"],"slug":"miles","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Midnight is the dark-mode option among GitHub's official supported themes. Its deep charcoal background and carefully chosen accent colours create a striking, high-contrast aesthetic that feels at home for developer portfolios, open-source project pages, and creative personal sites.\n\nLike all GitHub Pages official themes, it requires only a line in `_config.yml` to activate — making it the fastest way to get a good-looking dark site onto GitHub Pages.\n\n**Who is it for?** Developers and creatives who want a polished dark-themed site on GitHub Pages with zero configuration overhead.\n","url":"/themes/midnight/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Midnight Jekyll Theme","description":"A dark, sleek GitHub Pages Jekyll theme with light text on deep backgrounds. Official GitHub Pages theme ideal for personal projects and portfolios.","key_features":["Dark Theme","GitHub Pages","Sleek Design","Official GH Theme"],"card_description":"Dark, sleek GitHub Pages theme with light text on deep backgrounds.","category":"Personal","card_image":"/assets/images/themes/midnight-card.webp","theme_screenshots":["/assets/images/themes/midnight-screenshot.webp","/assets/images/themes/midnight-screenshot-2.webp","/assets/images/themes/midnight-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/midnight/","github_url":"https://github.com/pages-themes/midnight","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Dark background design","High-contrast content area","Responsive mobile layout","Single-line enable via _config.yml","No local setup required","Clean typographic hierarchy"],"slug":"midnight","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/miles.md","relative_path":"_themes/miles.md","excerpt":"<p>Miles is built for creative professionals who need a portfolio or agency site that makes an immediate impression. The headline stat — 12+ homepage layouts — means you can pick the mood and structure that fits your work, from bold full-screen hero layouts to editorial multi-column arrangements, without touching layout code.</p>\n\n","previous":{"path":"_themes/midnight.md","relative_path":"_themes/midnight.md","excerpt":"<p>Midnight is the dark-mode option among GitHub’s official supported themes. Its deep charcoal background and carefully chosen accent colours create a striking, high-contrast aesthetic that feels at home for developer portfolios, open-source project pages, and creative personal sites.</p>\n\n","previous":{"path":"_themes/merlot.md","relative_path":"_themes/merlot.md","id":"/themes/merlot","collection":"themes","url":"/themes/merlot/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Merlot Jekyll Theme","description":"A warm, editorial GitHub Pages Jekyll theme with classic typographic styling. Official GitHub Pages theme for personal and project sites.","key_features":["GitHub Pages","Editorial Style","Warm Palette","Classic Typography"],"card_description":"Warm, editorial GitHub Pages theme with classic typographic styling.","category":"Personal","card_image":"/assets/images/themes/merlot-card.webp","theme_screenshots":["/assets/images/themes/merlot-screenshot.webp","/assets/images/themes/merlot-screenshot-2.webp","/assets/images/themes/merlot-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/merlot/","github_url":"https://github.com/pages-themes/merlot","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":400,"forks":350,"features":["Official GitHub Pages supported theme","Warm burgundy header accent","Clean white content area","Elegant, professional aesthetic","Single-line enable via _config.yml","Responsive layout","No local setup required"],"slug":"merlot","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/midnight","collection":"themes","next":{"path":"_themes/miles.md","relative_path":"_themes/miles.md","id":"/themes/miles","collection":"themes","url":"/themes/miles/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Miles Jekyll Theme","rating":4.7,"rating_count":31,"description":"A creative portfolio and agency Jekyll theme with 12+ homepage layouts, 6 portfolio styles, and 4 blog layouts. Designed for agencies, freelancers, and creative professionals who want a stunning site in hours not days.","card_description":"Creative agency and portfolio theme — 12+ homepages, 6 portfolio styles, dark design.","price":79,"category":"Portfolio","card_image":"/assets/images/themes/miles-card.webp","theme_screenshots":["/assets/images/themes/miles-screenshot.webp","/assets/images/themes/miles-screenshot-2.webp","/assets/images/themes/miles-screenshot-3.webp"],"key_features":["12+ Homepages","6 Portfolio Styles","Agency Ready","4 Blog Layouts"],"demo_url":"https://miles-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/demo/miles/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-03-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["12+ unique creative homepage layouts to choose from","6 portfolio layout styles — masonry, grid, list, carousel, and more","4 blog layout styles for different editorial presentations","3 about page layouts for personal or team introductions","3 service layout styles for agency service showcases","8 additional essential inner page layouts","Modern and clean design on a 1170px grid system","Built with Bootstrap 4, fully responsive and cross-browser compatible","Google Fonts and Font Awesome icon font included","Pixel-perfect design with smooth unique effects","Easy to customise with well-structured code","Extended documentation included","Ideal for agencies, freelancers, consultants, creatives, and startups"],"slug":"miles","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Midnight is the dark-mode option among GitHub's official supported themes. Its deep charcoal background and carefully chosen accent colours create a striking, high-contrast aesthetic that feels at home for developer portfolios, open-source project pages, and creative personal sites.\n\nLike all GitHub Pages official themes, it requires only a line in `_config.yml` to activate — making it the fastest way to get a good-looking dark site onto GitHub Pages.\n\n**Who is it for?** Developers and creatives who want a polished dark-themed site on GitHub Pages with zero configuration overhead.\n","url":"/themes/midnight/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Midnight Jekyll Theme","description":"A dark, sleek GitHub Pages Jekyll theme with light text on deep backgrounds. Official GitHub Pages theme ideal for personal projects and portfolios.","key_features":["Dark Theme","GitHub Pages","Sleek Design","Official GH Theme"],"card_description":"Dark, sleek GitHub Pages theme with light text on deep backgrounds.","category":"Personal","card_image":"/assets/images/themes/midnight-card.webp","theme_screenshots":["/assets/images/themes/midnight-screenshot.webp","/assets/images/themes/midnight-screenshot-2.webp","/assets/images/themes/midnight-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/midnight/","github_url":"https://github.com/pages-themes/midnight","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Dark background design","High-contrast content area","Responsive mobile layout","Single-line enable via _config.yml","No local setup required","Clean typographic hierarchy"],"slug":"midnight","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/miles","collection":"themes","next":{"path":"_themes/millennial.md","relative_path":"_themes/millennial.md","excerpt":"<p>Millennial is a clean, straightforward Jekyll blog theme designed for writers who want a no-nonsense publishing platform. The layout is minimal by design — no sidebars, no clutter, just posts.</p>\n\n","previous":{"path":"_themes/miles.md","relative_path":"_themes/miles.md","id":"/themes/miles","collection":"themes","url":"/themes/miles/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Miles Jekyll Theme","rating":4.7,"rating_count":31,"description":"A creative portfolio and agency Jekyll theme with 12+ homepage layouts, 6 portfolio styles, and 4 blog layouts. Designed for agencies, freelancers, and creative professionals who want a stunning site in hours not days.","card_description":"Creative agency and portfolio theme — 12+ homepages, 6 portfolio styles, dark design.","price":79,"category":"Portfolio","card_image":"/assets/images/themes/miles-card.webp","theme_screenshots":["/assets/images/themes/miles-screenshot.webp","/assets/images/themes/miles-screenshot-2.webp","/assets/images/themes/miles-screenshot-3.webp"],"key_features":["12+ Homepages","6 Portfolio Styles","Agency Ready","4 Blog Layouts"],"demo_url":"https://miles-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/demo/miles/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-03-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["12+ unique creative homepage layouts to choose from","6 portfolio layout styles — masonry, grid, list, carousel, and more","4 blog layout styles for different editorial presentations","3 about page layouts for personal or team introductions","3 service layout styles for agency service showcases","8 additional essential inner page layouts","Modern and clean design on a 1170px grid system","Built with Bootstrap 4, fully responsive and cross-browser compatible","Google Fonts and Font Awesome icon font included","Pixel-perfect design with smooth unique effects","Easy to customise with well-structured code","Extended documentation included","Ideal for agencies, freelancers, consultants, creatives, and startups"],"slug":"miles","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/millennial","collection":"themes","next":{"path":"_themes/minima.md","relative_path":"_themes/minima.md","id":"/themes/minima","collection":"themes","url":"/themes/minima/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Minima Jekyll Theme","description":"Jekyll's built-in default theme. Minimal, clean, and battle-tested. The foundation every Jekyll developer knows.","key_features":["Jekyll Default","GitHub Pages","Dark Mode","Lightweight"],"card_description":"Jekyll's default theme — minimal, clean, and battle-tested.","category":"Blog","card_image":"/assets/images/themes/minima-card.webp","theme_screenshots":["/assets/images/themes/minima-screenshot.webp","/assets/images/themes/minima-screenshot-2.webp","/assets/images/themes/minima-screenshot-3.webp"],"demo_url":"https://jekyll.github.io/minima/","github_url":"https://github.com/jekyll/minima","author":"GitHub Community","github_author_name":"Jekyll","github_author_url":"https://github.com/jekyll","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2024-03-01","added_at":"2026-01-01","popular":true,"trending":false,"bestseller":false,"version":"2.1.1","license":"MIT","stars":3100,"forks":2800,"features":["Ultra-minimal layout","Dark mode support","Social links","Post listing","Feed and SEO built-in"],"slug":"minima","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Millennial is a clean, straightforward Jekyll blog theme designed for writers who want a no-nonsense publishing platform. The layout is minimal by design — no sidebars, no clutter, just posts.\n\nTag archive pages organise content for readers, and pagination handles large archives gracefully.\n\n**Who is it for?** Bloggers who want a lean, focused reading experience without any distracting design elements.\n","url":"/themes/millennial/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Millennial Jekyll Theme","description":"A minimalist, responsive Jekyll blog theme with a clean layout, tag support, pagination, and social share buttons.","key_features":["Tag Support","GitHub Pages","Social Sharing","Minimal Design"],"card_description":"Minimalist responsive blog with tag support and social share buttons.","category":"Blog","card_image":"/assets/images/themes/millennial-card.webp","theme_screenshots":["/assets/images/themes/millennial-screenshot.webp","/assets/images/themes/millennial-screenshot-2.webp","/assets/images/themes/millennial-screenshot-3.webp"],"demo_url":"https://lenpaul.github.io/Millennial/","github_url":"https://github.com/LeNPaul/Millennial","author":"GitHub Community","github_author_name":"LeNPaul","github_author_url":"https://github.com/LeNPaul","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-06-16","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":474,"forks":285,"features":["Clean minimal layout","Tag archive pages","Paginated post list","Social share buttons","Featured post images","Google Analytics","Disqus comments","RSS feed","GitHub Pages compatible","Mobile responsive"],"slug":"millennial","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Miles is built for creative professionals who need a portfolio or agency site that makes an immediate impression. The headline stat — 12+ homepage layouts — means you can pick the mood and structure that fits your work, from bold full-screen hero layouts to editorial multi-column arrangements, without touching layout code.\n\n### Layout Variety That Matters\n\nSix portfolio styles means your work can be presented the way it deserves: masonry grids for photography, clean single-column for case studies, filtered galleries for multi-discipline agencies. The four blog layouts and three service page styles give the same flexibility to supporting content, so every section of the site feels considered rather than templated.\n\n### Designed for Agencies and Freelancers\n\nThe 1170px grid, clean typography, smooth effects, and dark-capable design palette make Miles appropriate for the kinds of clients who judge a supplier by their own website. The theme is built on Bootstrap 4 with Font Awesome icons and Google Fonts — a stable, familiar stack that any developer can extend without learning proprietary conventions.\n\n**Who is it for?** Creative agencies, freelance designers and developers, consultants, and personal portfolio builders who want a professional result fast — and a theme that presents their work rather than competing with it.\n","url":"/themes/miles/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Miles Jekyll Theme","rating":4.7,"rating_count":31,"description":"A creative portfolio and agency Jekyll theme with 12+ homepage layouts, 6 portfolio styles, and 4 blog layouts. Designed for agencies, freelancers, and creative professionals who want a stunning site in hours not days.","card_description":"Creative agency and portfolio theme — 12+ homepages, 6 portfolio styles, dark design.","price":79,"category":"Portfolio","card_image":"/assets/images/themes/miles-card.webp","theme_screenshots":["/assets/images/themes/miles-screenshot.webp","/assets/images/themes/miles-screenshot-2.webp","/assets/images/themes/miles-screenshot-3.webp"],"key_features":["12+ Homepages","6 Portfolio Styles","Agency Ready","4 Blog Layouts"],"demo_url":"https://miles-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/demo/miles/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-03-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["12+ unique creative homepage layouts to choose from","6 portfolio layout styles — masonry, grid, list, carousel, and more","4 blog layout styles for different editorial presentations","3 about page layouts for personal or team introductions","3 service layout styles for agency service showcases","8 additional essential inner page layouts","Modern and clean design on a 1170px grid system","Built with Bootstrap 4, fully responsive and cross-browser compatible","Google Fonts and Font Awesome icon font included","Pixel-perfect design with smooth unique effects","Easy to customise with well-structured code","Extended documentation included","Ideal for agencies, freelancers, consultants, creatives, and startups"],"slug":"miles","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/millennial.md","relative_path":"_themes/millennial.md","excerpt":"<p>Millennial is a clean, straightforward Jekyll blog theme designed for writers who want a no-nonsense publishing platform. The layout is minimal by design — no sidebars, no clutter, just posts.</p>\n\n","previous":{"path":"_themes/miles.md","relative_path":"_themes/miles.md","excerpt":"<p>Miles is built for creative professionals who need a portfolio or agency site that makes an immediate impression. The headline stat — 12+ homepage layouts — means you can pick the mood and structure that fits your work, from bold full-screen hero layouts to editorial multi-column arrangements, without touching layout code.</p>\n\n","previous":{"path":"_themes/midnight.md","relative_path":"_themes/midnight.md","id":"/themes/midnight","collection":"themes","url":"/themes/midnight/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Midnight Jekyll Theme","description":"A dark, sleek GitHub Pages Jekyll theme with light text on deep backgrounds. Official GitHub Pages theme ideal for personal projects and portfolios.","key_features":["Dark Theme","GitHub Pages","Sleek Design","Official GH Theme"],"card_description":"Dark, sleek GitHub Pages theme with light text on deep backgrounds.","category":"Personal","card_image":"/assets/images/themes/midnight-card.webp","theme_screenshots":["/assets/images/themes/midnight-screenshot.webp","/assets/images/themes/midnight-screenshot-2.webp","/assets/images/themes/midnight-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/midnight/","github_url":"https://github.com/pages-themes/midnight","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Dark background design","High-contrast content area","Responsive mobile layout","Single-line enable via _config.yml","No local setup required","Clean typographic hierarchy"],"slug":"midnight","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/miles","collection":"themes","next":{"path":"_themes/millennial.md","relative_path":"_themes/millennial.md","id":"/themes/millennial","collection":"themes","url":"/themes/millennial/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Millennial Jekyll Theme","description":"A minimalist, responsive Jekyll blog theme with a clean layout, tag support, pagination, and social share buttons.","key_features":["Tag Support","GitHub Pages","Social Sharing","Minimal Design"],"card_description":"Minimalist responsive blog with tag support and social share buttons.","category":"Blog","card_image":"/assets/images/themes/millennial-card.webp","theme_screenshots":["/assets/images/themes/millennial-screenshot.webp","/assets/images/themes/millennial-screenshot-2.webp","/assets/images/themes/millennial-screenshot-3.webp"],"demo_url":"https://lenpaul.github.io/Millennial/","github_url":"https://github.com/LeNPaul/Millennial","author":"GitHub Community","github_author_name":"LeNPaul","github_author_url":"https://github.com/LeNPaul","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-06-16","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":474,"forks":285,"features":["Clean minimal layout","Tag archive pages","Paginated post list","Social share buttons","Featured post images","Google Analytics","Disqus comments","RSS feed","GitHub Pages compatible","Mobile responsive"],"slug":"millennial","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Miles is built for creative professionals who need a portfolio or agency site that makes an immediate impression. The headline stat — 12+ homepage layouts — means you can pick the mood and structure that fits your work, from bold full-screen hero layouts to editorial multi-column arrangements, without touching layout code.\n\n### Layout Variety That Matters\n\nSix portfolio styles means your work can be presented the way it deserves: masonry grids for photography, clean single-column for case studies, filtered galleries for multi-discipline agencies. The four blog layouts and three service page styles give the same flexibility to supporting content, so every section of the site feels considered rather than templated.\n\n### Designed for Agencies and Freelancers\n\nThe 1170px grid, clean typography, smooth effects, and dark-capable design palette make Miles appropriate for the kinds of clients who judge a supplier by their own website. The theme is built on Bootstrap 4 with Font Awesome icons and Google Fonts — a stable, familiar stack that any developer can extend without learning proprietary conventions.\n\n**Who is it for?** Creative agencies, freelance designers and developers, consultants, and personal portfolio builders who want a professional result fast — and a theme that presents their work rather than competing with it.\n","url":"/themes/miles/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Miles Jekyll Theme","rating":4.7,"rating_count":31,"description":"A creative portfolio and agency Jekyll theme with 12+ homepage layouts, 6 portfolio styles, and 4 blog layouts. Designed for agencies, freelancers, and creative professionals who want a stunning site in hours not days.","card_description":"Creative agency and portfolio theme — 12+ homepages, 6 portfolio styles, dark design.","price":79,"category":"Portfolio","card_image":"/assets/images/themes/miles-card.webp","theme_screenshots":["/assets/images/themes/miles-screenshot.webp","/assets/images/themes/miles-screenshot-2.webp","/assets/images/themes/miles-screenshot-3.webp"],"key_features":["12+ Homepages","6 Portfolio Styles","Agency Ready","4 Blog Layouts"],"demo_url":"https://miles-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/demo/miles/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-03-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["12+ unique creative homepage layouts to choose from","6 portfolio layout styles — masonry, grid, list, carousel, and more","4 blog layout styles for different editorial presentations","3 about page layouts for personal or team introductions","3 service layout styles for agency service showcases","8 additional essential inner page layouts","Modern and clean design on a 1170px grid system","Built with Bootstrap 4, fully responsive and cross-browser compatible","Google Fonts and Font Awesome icon font included","Pixel-perfect design with smooth unique effects","Easy to customise with well-structured code","Extended documentation included","Ideal for agencies, freelancers, consultants, creatives, and startups"],"slug":"miles","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/millennial","collection":"themes","next":{"path":"_themes/minima.md","relative_path":"_themes/minima.md","excerpt":"<p>Minima is Jekyll’s official default theme — the one that ships with every new Jekyll install. It’s deliberately minimal: clean white background, sensible typography, and just enough structure to get a blog running without getting in the way.</p>\n\n","previous":{"path":"_themes/millennial.md","relative_path":"_themes/millennial.md","id":"/themes/millennial","collection":"themes","url":"/themes/millennial/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Millennial Jekyll Theme","description":"A minimalist, responsive Jekyll blog theme with a clean layout, tag support, pagination, and social share buttons.","key_features":["Tag Support","GitHub Pages","Social Sharing","Minimal Design"],"card_description":"Minimalist responsive blog with tag support and social share buttons.","category":"Blog","card_image":"/assets/images/themes/millennial-card.webp","theme_screenshots":["/assets/images/themes/millennial-screenshot.webp","/assets/images/themes/millennial-screenshot-2.webp","/assets/images/themes/millennial-screenshot-3.webp"],"demo_url":"https://lenpaul.github.io/Millennial/","github_url":"https://github.com/LeNPaul/Millennial","author":"GitHub Community","github_author_name":"LeNPaul","github_author_url":"https://github.com/LeNPaul","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-06-16","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":474,"forks":285,"features":["Clean minimal layout","Tag archive pages","Paginated post list","Social share buttons","Featured post images","Google Analytics","Disqus comments","RSS feed","GitHub Pages compatible","Mobile responsive"],"slug":"millennial","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/minima","collection":"themes","next":{"path":"_themes/minimal-mistakes.md","relative_path":"_themes/minimal-mistakes.md","id":"/themes/minimal-mistakes","collection":"themes","url":"/themes/minimal-mistakes/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Minimal Mistakes Jekyll Theme","description":"The most popular Jekyll theme on GitHub. A flexible two-column theme perfect for personal sites, blogs, documentation, and portfolios — with 12 layout skins.","key_features":["12 Layout Skins","GitHub Pages","Two-Column Layout","Portfolio Ready"],"card_description":"Most popular Jekyll theme — flexible two-column with 12 layout skins.","category":"Blog","card_image":"/assets/images/themes/minimal-mistakes-card.webp","theme_screenshots":["/assets/images/themes/minimal-mistakes-screenshot.webp","/assets/images/themes/minimal-mistakes-screenshot-2.webp","/assets/images/themes/minimal-mistakes-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/minimal-mistakes/","github_url":"https://github.com/mmistakes/minimal-mistakes","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-include-cache","jekyll-paginate"],"updated_at":"2024-03-01","added_at":"2026-01-02","popular":true,"trending":false,"bestseller":false,"version":"4.28.0","license":"MIT","stars":13300,"forks":9300,"features":["12 built-in colour skins","Flexible two-column layout","Responsive design","SEO optimised with jekyll-seo-tag","Built-in Lunr.js full-text search","Support for comments (Disqus, giscus)","Social sharing buttons","Author sidebar with bio and avatar","Google Analytics integration","Breadcrumb navigation"],"slug":"minimal-mistakes","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Minima is Jekyll's official default theme — the one that ships with every new Jekyll install. It's deliberately minimal: clean white background, sensible typography, and just enough structure to get a blog running without getting in the way.\n\nVersion 3.x adds dark mode support and social link icons, making it a surprisingly capable foundation despite its simplicity.\n\n**Who is it for?** Anyone just starting with Jekyll who wants a reliable, clean foundation they can customise or grow from.\n","url":"/themes/minima/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Minima Jekyll Theme","description":"Jekyll's built-in default theme. Minimal, clean, and battle-tested. The foundation every Jekyll developer knows.","key_features":["Jekyll Default","GitHub Pages","Dark Mode","Lightweight"],"card_description":"Jekyll's default theme — minimal, clean, and battle-tested.","category":"Blog","card_image":"/assets/images/themes/minima-card.webp","theme_screenshots":["/assets/images/themes/minima-screenshot.webp","/assets/images/themes/minima-screenshot-2.webp","/assets/images/themes/minima-screenshot-3.webp"],"demo_url":"https://jekyll.github.io/minima/","github_url":"https://github.com/jekyll/minima","author":"GitHub Community","github_author_name":"Jekyll","github_author_url":"https://github.com/jekyll","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2024-03-01","added_at":"2026-01-01","popular":true,"trending":false,"bestseller":false,"version":"2.1.1","license":"MIT","stars":3100,"forks":2800,"features":["Ultra-minimal layout","Dark mode support","Social links","Post listing","Feed and SEO built-in"],"slug":"minima","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Millennial is a clean, straightforward Jekyll blog theme designed for writers who want a no-nonsense publishing platform. The layout is minimal by design — no sidebars, no clutter, just posts.\n\nTag archive pages organise content for readers, and pagination handles large archives gracefully.\n\n**Who is it for?** Bloggers who want a lean, focused reading experience without any distracting design elements.\n","url":"/themes/millennial/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Millennial Jekyll Theme","description":"A minimalist, responsive Jekyll blog theme with a clean layout, tag support, pagination, and social share buttons.","key_features":["Tag Support","GitHub Pages","Social Sharing","Minimal Design"],"card_description":"Minimalist responsive blog with tag support and social share buttons.","category":"Blog","card_image":"/assets/images/themes/millennial-card.webp","theme_screenshots":["/assets/images/themes/millennial-screenshot.webp","/assets/images/themes/millennial-screenshot-2.webp","/assets/images/themes/millennial-screenshot-3.webp"],"demo_url":"https://lenpaul.github.io/Millennial/","github_url":"https://github.com/LeNPaul/Millennial","author":"GitHub Community","github_author_name":"LeNPaul","github_author_url":"https://github.com/LeNPaul","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-06-16","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":474,"forks":285,"features":["Clean minimal layout","Tag archive pages","Paginated post list","Social share buttons","Featured post images","Google Analytics","Disqus comments","RSS feed","GitHub Pages compatible","Mobile responsive"],"slug":"millennial","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/minima.md","relative_path":"_themes/minima.md","excerpt":"<p>Minima is Jekyll’s official default theme — the one that ships with every new Jekyll install. It’s deliberately minimal: clean white background, sensible typography, and just enough structure to get a blog running without getting in the way.</p>\n\n","previous":{"path":"_themes/millennial.md","relative_path":"_themes/millennial.md","excerpt":"<p>Millennial is a clean, straightforward Jekyll blog theme designed for writers who want a no-nonsense publishing platform. The layout is minimal by design — no sidebars, no clutter, just posts.</p>\n\n","previous":{"path":"_themes/miles.md","relative_path":"_themes/miles.md","id":"/themes/miles","collection":"themes","url":"/themes/miles/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Miles Jekyll Theme","rating":4.7,"rating_count":31,"description":"A creative portfolio and agency Jekyll theme with 12+ homepage layouts, 6 portfolio styles, and 4 blog layouts. Designed for agencies, freelancers, and creative professionals who want a stunning site in hours not days.","card_description":"Creative agency and portfolio theme — 12+ homepages, 6 portfolio styles, dark design.","price":79,"category":"Portfolio","card_image":"/assets/images/themes/miles-card.webp","theme_screenshots":["/assets/images/themes/miles-screenshot.webp","/assets/images/themes/miles-screenshot-2.webp","/assets/images/themes/miles-screenshot-3.webp"],"key_features":["12+ Homepages","6 Portfolio Styles","Agency Ready","4 Blog Layouts"],"demo_url":"https://miles-jekyll.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/demo/miles/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-03-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["12+ unique creative homepage layouts to choose from","6 portfolio layout styles — masonry, grid, list, carousel, and more","4 blog layout styles for different editorial presentations","3 about page layouts for personal or team introductions","3 service layout styles for agency service showcases","8 additional essential inner page layouts","Modern and clean design on a 1170px grid system","Built with Bootstrap 4, fully responsive and cross-browser compatible","Google Fonts and Font Awesome icon font included","Pixel-perfect design with smooth unique effects","Easy to customise with well-structured code","Extended documentation included","Ideal for agencies, freelancers, consultants, creatives, and startups"],"slug":"miles","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/millennial","collection":"themes","next":{"path":"_themes/minima.md","relative_path":"_themes/minima.md","id":"/themes/minima","collection":"themes","url":"/themes/minima/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Minima Jekyll Theme","description":"Jekyll's built-in default theme. Minimal, clean, and battle-tested. The foundation every Jekyll developer knows.","key_features":["Jekyll Default","GitHub Pages","Dark Mode","Lightweight"],"card_description":"Jekyll's default theme — minimal, clean, and battle-tested.","category":"Blog","card_image":"/assets/images/themes/minima-card.webp","theme_screenshots":["/assets/images/themes/minima-screenshot.webp","/assets/images/themes/minima-screenshot-2.webp","/assets/images/themes/minima-screenshot-3.webp"],"demo_url":"https://jekyll.github.io/minima/","github_url":"https://github.com/jekyll/minima","author":"GitHub Community","github_author_name":"Jekyll","github_author_url":"https://github.com/jekyll","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2024-03-01","added_at":"2026-01-01","popular":true,"trending":false,"bestseller":false,"version":"2.1.1","license":"MIT","stars":3100,"forks":2800,"features":["Ultra-minimal layout","Dark mode support","Social links","Post listing","Feed and SEO built-in"],"slug":"minima","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Millennial is a clean, straightforward Jekyll blog theme designed for writers who want a no-nonsense publishing platform. The layout is minimal by design — no sidebars, no clutter, just posts.\n\nTag archive pages organise content for readers, and pagination handles large archives gracefully.\n\n**Who is it for?** Bloggers who want a lean, focused reading experience without any distracting design elements.\n","url":"/themes/millennial/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Millennial Jekyll Theme","description":"A minimalist, responsive Jekyll blog theme with a clean layout, tag support, pagination, and social share buttons.","key_features":["Tag Support","GitHub Pages","Social Sharing","Minimal Design"],"card_description":"Minimalist responsive blog with tag support and social share buttons.","category":"Blog","card_image":"/assets/images/themes/millennial-card.webp","theme_screenshots":["/assets/images/themes/millennial-screenshot.webp","/assets/images/themes/millennial-screenshot-2.webp","/assets/images/themes/millennial-screenshot-3.webp"],"demo_url":"https://lenpaul.github.io/Millennial/","github_url":"https://github.com/LeNPaul/Millennial","author":"GitHub Community","github_author_name":"LeNPaul","github_author_url":"https://github.com/LeNPaul","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-06-16","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":474,"forks":285,"features":["Clean minimal layout","Tag archive pages","Paginated post list","Social share buttons","Featured post images","Google Analytics","Disqus comments","RSS feed","GitHub Pages compatible","Mobile responsive"],"slug":"millennial","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/minima","collection":"themes","next":{"path":"_themes/minimal-mistakes.md","relative_path":"_themes/minimal-mistakes.md","excerpt":"<p>Minimal Mistakes is the undisputed king of Jekyll themes — with over 13,000 GitHub stars it is the most-starred and most-used Jekyll theme ever created. Built by Michael Rose over more than a decade of active development, it strikes the perfect balance between simplicity and power.</p>\n\n","previous":{"path":"_themes/minima.md","relative_path":"_themes/minima.md","id":"/themes/minima","collection":"themes","url":"/themes/minima/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Minima Jekyll Theme","description":"Jekyll's built-in default theme. Minimal, clean, and battle-tested. The foundation every Jekyll developer knows.","key_features":["Jekyll Default","GitHub Pages","Dark Mode","Lightweight"],"card_description":"Jekyll's default theme — minimal, clean, and battle-tested.","category":"Blog","card_image":"/assets/images/themes/minima-card.webp","theme_screenshots":["/assets/images/themes/minima-screenshot.webp","/assets/images/themes/minima-screenshot-2.webp","/assets/images/themes/minima-screenshot-3.webp"],"demo_url":"https://jekyll.github.io/minima/","github_url":"https://github.com/jekyll/minima","author":"GitHub Community","github_author_name":"Jekyll","github_author_url":"https://github.com/jekyll","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2024-03-01","added_at":"2026-01-01","popular":true,"trending":false,"bestseller":false,"version":"2.1.1","license":"MIT","stars":3100,"forks":2800,"features":["Ultra-minimal layout","Dark mode support","Social links","Post listing","Feed and SEO built-in"],"slug":"minima","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/minimal-mistakes","collection":"themes","next":{"path":"_themes/minimal.md","relative_path":"_themes/minimal.md","id":"/themes/minimal","collection":"themes","url":"/themes/minimal/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Minimal Jekyll Theme","description":"The official minimal GitHub Pages Jekyll theme. Clean and lightweight with great default typography for personal projects and documentation.","key_features":["GitHub Pages","Ultra Minimal","Clean Typography","Official GH Theme"],"card_description":"Official minimal GitHub Pages theme — clean and lightweight.","category":"Personal","card_image":"/assets/images/themes/minimal-card.webp","theme_screenshots":["/assets/images/themes/minimal-screenshot.webp","/assets/images/themes/minimal-screenshot-2.webp","/assets/images/themes/minimal-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/minimal/","github_url":"https://github.com/pages-themes/minimal","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Clean white minimal layout","Subtle header with site title","Responsive design","Single-line enable via _config.yml","No local setup required","Fast page loads"],"slug":"minimal","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Minimal Mistakes is the undisputed king of Jekyll themes — with over 13,000 GitHub stars it is the most-starred and most-used Jekyll theme ever created. Built by Michael Rose over more than a decade of active development, it strikes the perfect balance between simplicity and power.\n\nTwelve built-in colour skins let you switch the visual tone of your site with a single config change. Its documentation covers every feature in detail.\n\n**Who is it for?** Developers, technical writers, and bloggers who want a battle-tested, feature-complete Jekyll theme they can deploy today and customise for years.\n","url":"/themes/minimal-mistakes/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Minimal Mistakes Jekyll Theme","description":"The most popular Jekyll theme on GitHub. A flexible two-column theme perfect for personal sites, blogs, documentation, and portfolios — with 12 layout skins.","key_features":["12 Layout Skins","GitHub Pages","Two-Column Layout","Portfolio Ready"],"card_description":"Most popular Jekyll theme — flexible two-column with 12 layout skins.","category":"Blog","card_image":"/assets/images/themes/minimal-mistakes-card.webp","theme_screenshots":["/assets/images/themes/minimal-mistakes-screenshot.webp","/assets/images/themes/minimal-mistakes-screenshot-2.webp","/assets/images/themes/minimal-mistakes-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/minimal-mistakes/","github_url":"https://github.com/mmistakes/minimal-mistakes","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-include-cache","jekyll-paginate"],"updated_at":"2024-03-01","added_at":"2026-01-02","popular":true,"trending":false,"bestseller":false,"version":"4.28.0","license":"MIT","stars":13300,"forks":9300,"features":["12 built-in colour skins","Flexible two-column layout","Responsive design","SEO optimised with jekyll-seo-tag","Built-in Lunr.js full-text search","Support for comments (Disqus, giscus)","Social sharing buttons","Author sidebar with bio and avatar","Google Analytics integration","Breadcrumb navigation"],"slug":"minimal-mistakes","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Minima is Jekyll's official default theme — the one that ships with every new Jekyll install. It's deliberately minimal: clean white background, sensible typography, and just enough structure to get a blog running without getting in the way.\n\nVersion 3.x adds dark mode support and social link icons, making it a surprisingly capable foundation despite its simplicity.\n\n**Who is it for?** Anyone just starting with Jekyll who wants a reliable, clean foundation they can customise or grow from.\n","url":"/themes/minima/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Minima Jekyll Theme","description":"Jekyll's built-in default theme. Minimal, clean, and battle-tested. The foundation every Jekyll developer knows.","key_features":["Jekyll Default","GitHub Pages","Dark Mode","Lightweight"],"card_description":"Jekyll's default theme — minimal, clean, and battle-tested.","category":"Blog","card_image":"/assets/images/themes/minima-card.webp","theme_screenshots":["/assets/images/themes/minima-screenshot.webp","/assets/images/themes/minima-screenshot-2.webp","/assets/images/themes/minima-screenshot-3.webp"],"demo_url":"https://jekyll.github.io/minima/","github_url":"https://github.com/jekyll/minima","author":"GitHub Community","github_author_name":"Jekyll","github_author_url":"https://github.com/jekyll","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2024-03-01","added_at":"2026-01-01","popular":true,"trending":false,"bestseller":false,"version":"2.1.1","license":"MIT","stars":3100,"forks":2800,"features":["Ultra-minimal layout","Dark mode support","Social links","Post listing","Feed and SEO built-in"],"slug":"minima","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/minimal-mistakes.md","relative_path":"_themes/minimal-mistakes.md","excerpt":"<p>Minimal Mistakes is the undisputed king of Jekyll themes — with over 13,000 GitHub stars it is the most-starred and most-used Jekyll theme ever created. Built by Michael Rose over more than a decade of active development, it strikes the perfect balance between simplicity and power.</p>\n\n","previous":{"path":"_themes/minima.md","relative_path":"_themes/minima.md","excerpt":"<p>Minima is Jekyll’s official default theme — the one that ships with every new Jekyll install. It’s deliberately minimal: clean white background, sensible typography, and just enough structure to get a blog running without getting in the way.</p>\n\n","previous":{"path":"_themes/millennial.md","relative_path":"_themes/millennial.md","id":"/themes/millennial","collection":"themes","url":"/themes/millennial/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Millennial Jekyll Theme","description":"A minimalist, responsive Jekyll blog theme with a clean layout, tag support, pagination, and social share buttons.","key_features":["Tag Support","GitHub Pages","Social Sharing","Minimal Design"],"card_description":"Minimalist responsive blog with tag support and social share buttons.","category":"Blog","card_image":"/assets/images/themes/millennial-card.webp","theme_screenshots":["/assets/images/themes/millennial-screenshot.webp","/assets/images/themes/millennial-screenshot-2.webp","/assets/images/themes/millennial-screenshot-3.webp"],"demo_url":"https://lenpaul.github.io/Millennial/","github_url":"https://github.com/LeNPaul/Millennial","author":"GitHub Community","github_author_name":"LeNPaul","github_author_url":"https://github.com/LeNPaul","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-06-16","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":474,"forks":285,"features":["Clean minimal layout","Tag archive pages","Paginated post list","Social share buttons","Featured post images","Google Analytics","Disqus comments","RSS feed","GitHub Pages compatible","Mobile responsive"],"slug":"millennial","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/minima","collection":"themes","next":{"path":"_themes/minimal-mistakes.md","relative_path":"_themes/minimal-mistakes.md","id":"/themes/minimal-mistakes","collection":"themes","url":"/themes/minimal-mistakes/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Minimal Mistakes Jekyll Theme","description":"The most popular Jekyll theme on GitHub. A flexible two-column theme perfect for personal sites, blogs, documentation, and portfolios — with 12 layout skins.","key_features":["12 Layout Skins","GitHub Pages","Two-Column Layout","Portfolio Ready"],"card_description":"Most popular Jekyll theme — flexible two-column with 12 layout skins.","category":"Blog","card_image":"/assets/images/themes/minimal-mistakes-card.webp","theme_screenshots":["/assets/images/themes/minimal-mistakes-screenshot.webp","/assets/images/themes/minimal-mistakes-screenshot-2.webp","/assets/images/themes/minimal-mistakes-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/minimal-mistakes/","github_url":"https://github.com/mmistakes/minimal-mistakes","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-include-cache","jekyll-paginate"],"updated_at":"2024-03-01","added_at":"2026-01-02","popular":true,"trending":false,"bestseller":false,"version":"4.28.0","license":"MIT","stars":13300,"forks":9300,"features":["12 built-in colour skins","Flexible two-column layout","Responsive design","SEO optimised with jekyll-seo-tag","Built-in Lunr.js full-text search","Support for comments (Disqus, giscus)","Social sharing buttons","Author sidebar with bio and avatar","Google Analytics integration","Breadcrumb navigation"],"slug":"minimal-mistakes","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Minima is Jekyll's official default theme — the one that ships with every new Jekyll install. It's deliberately minimal: clean white background, sensible typography, and just enough structure to get a blog running without getting in the way.\n\nVersion 3.x adds dark mode support and social link icons, making it a surprisingly capable foundation despite its simplicity.\n\n**Who is it for?** Anyone just starting with Jekyll who wants a reliable, clean foundation they can customise or grow from.\n","url":"/themes/minima/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Minima Jekyll Theme","description":"Jekyll's built-in default theme. Minimal, clean, and battle-tested. The foundation every Jekyll developer knows.","key_features":["Jekyll Default","GitHub Pages","Dark Mode","Lightweight"],"card_description":"Jekyll's default theme — minimal, clean, and battle-tested.","category":"Blog","card_image":"/assets/images/themes/minima-card.webp","theme_screenshots":["/assets/images/themes/minima-screenshot.webp","/assets/images/themes/minima-screenshot-2.webp","/assets/images/themes/minima-screenshot-3.webp"],"demo_url":"https://jekyll.github.io/minima/","github_url":"https://github.com/jekyll/minima","author":"GitHub Community","github_author_name":"Jekyll","github_author_url":"https://github.com/jekyll","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2024-03-01","added_at":"2026-01-01","popular":true,"trending":false,"bestseller":false,"version":"2.1.1","license":"MIT","stars":3100,"forks":2800,"features":["Ultra-minimal layout","Dark mode support","Social links","Post listing","Feed and SEO built-in"],"slug":"minima","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/minimal-mistakes","collection":"themes","next":{"path":"_themes/minimal.md","relative_path":"_themes/minimal.md","excerpt":"<p>Minimal is exactly what its name promises — GitHub’s most stripped-back official theme. A clean white page, a simple header, and nothing to get in the way of your content. It’s the choice when you want a professional online presence as quickly as possible.</p>\n\n","previous":{"path":"_themes/minimal-mistakes.md","relative_path":"_themes/minimal-mistakes.md","id":"/themes/minimal-mistakes","collection":"themes","url":"/themes/minimal-mistakes/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Minimal Mistakes Jekyll Theme","description":"The most popular Jekyll theme on GitHub. A flexible two-column theme perfect for personal sites, blogs, documentation, and portfolios — with 12 layout skins.","key_features":["12 Layout Skins","GitHub Pages","Two-Column Layout","Portfolio Ready"],"card_description":"Most popular Jekyll theme — flexible two-column with 12 layout skins.","category":"Blog","card_image":"/assets/images/themes/minimal-mistakes-card.webp","theme_screenshots":["/assets/images/themes/minimal-mistakes-screenshot.webp","/assets/images/themes/minimal-mistakes-screenshot-2.webp","/assets/images/themes/minimal-mistakes-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/minimal-mistakes/","github_url":"https://github.com/mmistakes/minimal-mistakes","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-include-cache","jekyll-paginate"],"updated_at":"2024-03-01","added_at":"2026-01-02","popular":true,"trending":false,"bestseller":false,"version":"4.28.0","license":"MIT","stars":13300,"forks":9300,"features":["12 built-in colour skins","Flexible two-column layout","Responsive design","SEO optimised with jekyll-seo-tag","Built-in Lunr.js full-text search","Support for comments (Disqus, giscus)","Social sharing buttons","Author sidebar with bio and avatar","Google Analytics integration","Breadcrumb navigation"],"slug":"minimal-mistakes","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/minimal","collection":"themes","next":{"path":"_themes/modern-resume-theme.md","relative_path":"_themes/modern-resume-theme.md","id":"/themes/modern-resume-theme","collection":"themes","url":"/themes/modern-resume-theme/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Modern Resume Theme Jekyll Theme","description":"A sleek, single-page resume/CV theme for Jekyll. Dark header, clean timeline layout, and sections for experience, education, skills, and projects.","key_features":["Single-Page CV","Timeline Layout","GitHub Pages","Dark Header"],"card_description":"Sleek single-page resume/CV with timeline and skills sections.","category":"Resume / CV","card_image":"/assets/images/themes/modern-resume-theme-card.webp","theme_screenshots":["/assets/images/themes/modern-resume-theme-screenshot.webp","/assets/images/themes/modern-resume-theme-screenshot-2.webp","/assets/images/themes/modern-resume-theme-screenshot-3.webp"],"demo_url":"https://sproogen.github.io/modern-resume-theme/","github_url":"https://github.com/sproogen/modern-resume-theme","author":"GitHub Community","github_author_name":"James Grant","github_author_url":"https://github.com/sproogen","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-28","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":4400,"forks":4700,"features":["YAML-driven content","Timeline for experience and education","Skills section","Projects section","Dark profile header","Print-friendly"],"slug":"modern-resume-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Minimal is exactly what its name promises — GitHub's most stripped-back official theme. A clean white page, a simple header, and nothing to get in the way of your content. It's the choice when you want a professional online presence as quickly as possible.\n\nAs an official GitHub Pages theme, it can be activated with a single `theme:` line in `_config.yml`, making it one of the fastest paths from a GitHub repository to a live website.\n\n**Who is it for?** Anyone who wants a simple, professional-looking GitHub Pages site with minimal fuss and maximum speed.\n","url":"/themes/minimal/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Minimal Jekyll Theme","description":"The official minimal GitHub Pages Jekyll theme. Clean and lightweight with great default typography for personal projects and documentation.","key_features":["GitHub Pages","Ultra Minimal","Clean Typography","Official GH Theme"],"card_description":"Official minimal GitHub Pages theme — clean and lightweight.","category":"Personal","card_image":"/assets/images/themes/minimal-card.webp","theme_screenshots":["/assets/images/themes/minimal-screenshot.webp","/assets/images/themes/minimal-screenshot-2.webp","/assets/images/themes/minimal-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/minimal/","github_url":"https://github.com/pages-themes/minimal","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Clean white minimal layout","Subtle header with site title","Responsive design","Single-line enable via _config.yml","No local setup required","Fast page loads"],"slug":"minimal","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Minimal Mistakes is the undisputed king of Jekyll themes — with over 13,000 GitHub stars it is the most-starred and most-used Jekyll theme ever created. Built by Michael Rose over more than a decade of active development, it strikes the perfect balance between simplicity and power.\n\nTwelve built-in colour skins let you switch the visual tone of your site with a single config change. Its documentation covers every feature in detail.\n\n**Who is it for?** Developers, technical writers, and bloggers who want a battle-tested, feature-complete Jekyll theme they can deploy today and customise for years.\n","url":"/themes/minimal-mistakes/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Minimal Mistakes Jekyll Theme","description":"The most popular Jekyll theme on GitHub. A flexible two-column theme perfect for personal sites, blogs, documentation, and portfolios — with 12 layout skins.","key_features":["12 Layout Skins","GitHub Pages","Two-Column Layout","Portfolio Ready"],"card_description":"Most popular Jekyll theme — flexible two-column with 12 layout skins.","category":"Blog","card_image":"/assets/images/themes/minimal-mistakes-card.webp","theme_screenshots":["/assets/images/themes/minimal-mistakes-screenshot.webp","/assets/images/themes/minimal-mistakes-screenshot-2.webp","/assets/images/themes/minimal-mistakes-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/minimal-mistakes/","github_url":"https://github.com/mmistakes/minimal-mistakes","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-include-cache","jekyll-paginate"],"updated_at":"2024-03-01","added_at":"2026-01-02","popular":true,"trending":false,"bestseller":false,"version":"4.28.0","license":"MIT","stars":13300,"forks":9300,"features":["12 built-in colour skins","Flexible two-column layout","Responsive design","SEO optimised with jekyll-seo-tag","Built-in Lunr.js full-text search","Support for comments (Disqus, giscus)","Social sharing buttons","Author sidebar with bio and avatar","Google Analytics integration","Breadcrumb navigation"],"slug":"minimal-mistakes","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/minimal.md","relative_path":"_themes/minimal.md","excerpt":"<p>Minimal is exactly what its name promises — GitHub’s most stripped-back official theme. A clean white page, a simple header, and nothing to get in the way of your content. It’s the choice when you want a professional online presence as quickly as possible.</p>\n\n","previous":{"path":"_themes/minimal-mistakes.md","relative_path":"_themes/minimal-mistakes.md","excerpt":"<p>Minimal Mistakes is the undisputed king of Jekyll themes — with over 13,000 GitHub stars it is the most-starred and most-used Jekyll theme ever created. Built by Michael Rose over more than a decade of active development, it strikes the perfect balance between simplicity and power.</p>\n\n","previous":{"path":"_themes/minima.md","relative_path":"_themes/minima.md","id":"/themes/minima","collection":"themes","url":"/themes/minima/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Minima Jekyll Theme","description":"Jekyll's built-in default theme. Minimal, clean, and battle-tested. The foundation every Jekyll developer knows.","key_features":["Jekyll Default","GitHub Pages","Dark Mode","Lightweight"],"card_description":"Jekyll's default theme — minimal, clean, and battle-tested.","category":"Blog","card_image":"/assets/images/themes/minima-card.webp","theme_screenshots":["/assets/images/themes/minima-screenshot.webp","/assets/images/themes/minima-screenshot-2.webp","/assets/images/themes/minima-screenshot-3.webp"],"demo_url":"https://jekyll.github.io/minima/","github_url":"https://github.com/jekyll/minima","author":"GitHub Community","github_author_name":"Jekyll","github_author_url":"https://github.com/jekyll","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.5","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2024-03-01","added_at":"2026-01-01","popular":true,"trending":false,"bestseller":false,"version":"2.1.1","license":"MIT","stars":3100,"forks":2800,"features":["Ultra-minimal layout","Dark mode support","Social links","Post listing","Feed and SEO built-in"],"slug":"minima","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/minimal-mistakes","collection":"themes","next":{"path":"_themes/minimal.md","relative_path":"_themes/minimal.md","id":"/themes/minimal","collection":"themes","url":"/themes/minimal/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Minimal Jekyll Theme","description":"The official minimal GitHub Pages Jekyll theme. Clean and lightweight with great default typography for personal projects and documentation.","key_features":["GitHub Pages","Ultra Minimal","Clean Typography","Official GH Theme"],"card_description":"Official minimal GitHub Pages theme — clean and lightweight.","category":"Personal","card_image":"/assets/images/themes/minimal-card.webp","theme_screenshots":["/assets/images/themes/minimal-screenshot.webp","/assets/images/themes/minimal-screenshot-2.webp","/assets/images/themes/minimal-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/minimal/","github_url":"https://github.com/pages-themes/minimal","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Clean white minimal layout","Subtle header with site title","Responsive design","Single-line enable via _config.yml","No local setup required","Fast page loads"],"slug":"minimal","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Minimal Mistakes is the undisputed king of Jekyll themes — with over 13,000 GitHub stars it is the most-starred and most-used Jekyll theme ever created. Built by Michael Rose over more than a decade of active development, it strikes the perfect balance between simplicity and power.\n\nTwelve built-in colour skins let you switch the visual tone of your site with a single config change. Its documentation covers every feature in detail.\n\n**Who is it for?** Developers, technical writers, and bloggers who want a battle-tested, feature-complete Jekyll theme they can deploy today and customise for years.\n","url":"/themes/minimal-mistakes/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Minimal Mistakes Jekyll Theme","description":"The most popular Jekyll theme on GitHub. A flexible two-column theme perfect for personal sites, blogs, documentation, and portfolios — with 12 layout skins.","key_features":["12 Layout Skins","GitHub Pages","Two-Column Layout","Portfolio Ready"],"card_description":"Most popular Jekyll theme — flexible two-column with 12 layout skins.","category":"Blog","card_image":"/assets/images/themes/minimal-mistakes-card.webp","theme_screenshots":["/assets/images/themes/minimal-mistakes-screenshot.webp","/assets/images/themes/minimal-mistakes-screenshot-2.webp","/assets/images/themes/minimal-mistakes-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/minimal-mistakes/","github_url":"https://github.com/mmistakes/minimal-mistakes","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-include-cache","jekyll-paginate"],"updated_at":"2024-03-01","added_at":"2026-01-02","popular":true,"trending":false,"bestseller":false,"version":"4.28.0","license":"MIT","stars":13300,"forks":9300,"features":["12 built-in colour skins","Flexible two-column layout","Responsive design","SEO optimised with jekyll-seo-tag","Built-in Lunr.js full-text search","Support for comments (Disqus, giscus)","Social sharing buttons","Author sidebar with bio and avatar","Google Analytics integration","Breadcrumb navigation"],"slug":"minimal-mistakes","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/minimal","collection":"themes","next":{"path":"_themes/modern-resume-theme.md","relative_path":"_themes/modern-resume-theme.md","excerpt":"<p>Modern Resume Theme turns a YAML configuration file into a polished, single-page CV. You fill in your experience, education, and skills in <code class=\"language-plaintext highlighter-rouge\">_config.yml</code> — the theme handles all the layout and styling.</p>\n\n","previous":{"path":"_themes/minimal.md","relative_path":"_themes/minimal.md","id":"/themes/minimal","collection":"themes","url":"/themes/minimal/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Minimal Jekyll Theme","description":"The official minimal GitHub Pages Jekyll theme. Clean and lightweight with great default typography for personal projects and documentation.","key_features":["GitHub Pages","Ultra Minimal","Clean Typography","Official GH Theme"],"card_description":"Official minimal GitHub Pages theme — clean and lightweight.","category":"Personal","card_image":"/assets/images/themes/minimal-card.webp","theme_screenshots":["/assets/images/themes/minimal-screenshot.webp","/assets/images/themes/minimal-screenshot-2.webp","/assets/images/themes/minimal-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/minimal/","github_url":"https://github.com/pages-themes/minimal","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Clean white minimal layout","Subtle header with site title","Responsive design","Single-line enable via _config.yml","No local setup required","Fast page loads"],"slug":"minimal","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/modern-resume-theme","collection":"themes","next":{"path":"_themes/moonwalk.md","relative_path":"_themes/moonwalk.md","id":"/themes/moonwalk","collection":"themes","url":"/themes/moonwalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Moonwalk Jekyll Theme","description":"A dark, minimal Jekyll blog theme with a focus on typography and whitespace. Elegant simplicity for serious writers.","key_features":["Dark Mode","Typography Focus","Minimal Design","GitHub Pages"],"card_description":"Dark, minimal blog focused on typography and generous whitespace.","category":"Blog","card_image":"/assets/images/themes/moonwalk-card.webp","theme_screenshots":["/assets/images/themes/moonwalk-screenshot.webp","/assets/images/themes/moonwalk-screenshot-2.webp","/assets/images/themes/moonwalk-screenshot-3.webp"],"demo_url":"https://abhinavs.github.io/moonwalk/","github_url":"https://github.com/abhinavs/moonwalk","author":"GitHub Community","github_author_name":"Abhinav Saxena","github_author_url":"https://github.com/abhinavs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2023-07-01","added_at":"2026-03-12","popular":false,"trending":true,"bestseller":false,"version":"0.5.0","license":"MIT","stars":1500,"forks":280,"features":["Dark minimal design","Typography-focused","Fast loading","soopr social sharing","Clean post layout"],"slug":"moonwalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Modern Resume Theme turns a YAML configuration file into a polished, single-page CV. You fill in your experience, education, and skills in `_config.yml` — the theme handles all the layout and styling.\n\nThe dark header with avatar creates a professional first impression, and the clean timeline makes career history easy to scan.\n\n**Who is it for?** Developers, designers, and professionals who want a clean, online CV hosted on GitHub Pages.\n","url":"/themes/modern-resume-theme/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Modern Resume Theme Jekyll Theme","description":"A sleek, single-page resume/CV theme for Jekyll. Dark header, clean timeline layout, and sections for experience, education, skills, and projects.","key_features":["Single-Page CV","Timeline Layout","GitHub Pages","Dark Header"],"card_description":"Sleek single-page resume/CV with timeline and skills sections.","category":"Resume / CV","card_image":"/assets/images/themes/modern-resume-theme-card.webp","theme_screenshots":["/assets/images/themes/modern-resume-theme-screenshot.webp","/assets/images/themes/modern-resume-theme-screenshot-2.webp","/assets/images/themes/modern-resume-theme-screenshot-3.webp"],"demo_url":"https://sproogen.github.io/modern-resume-theme/","github_url":"https://github.com/sproogen/modern-resume-theme","author":"GitHub Community","github_author_name":"James Grant","github_author_url":"https://github.com/sproogen","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-28","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":4400,"forks":4700,"features":["YAML-driven content","Timeline for experience and education","Skills section","Projects section","Dark profile header","Print-friendly"],"slug":"modern-resume-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Minimal is exactly what its name promises — GitHub's most stripped-back official theme. A clean white page, a simple header, and nothing to get in the way of your content. It's the choice when you want a professional online presence as quickly as possible.\n\nAs an official GitHub Pages theme, it can be activated with a single `theme:` line in `_config.yml`, making it one of the fastest paths from a GitHub repository to a live website.\n\n**Who is it for?** Anyone who wants a simple, professional-looking GitHub Pages site with minimal fuss and maximum speed.\n","url":"/themes/minimal/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Minimal Jekyll Theme","description":"The official minimal GitHub Pages Jekyll theme. Clean and lightweight with great default typography for personal projects and documentation.","key_features":["GitHub Pages","Ultra Minimal","Clean Typography","Official GH Theme"],"card_description":"Official minimal GitHub Pages theme — clean and lightweight.","category":"Personal","card_image":"/assets/images/themes/minimal-card.webp","theme_screenshots":["/assets/images/themes/minimal-screenshot.webp","/assets/images/themes/minimal-screenshot-2.webp","/assets/images/themes/minimal-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/minimal/","github_url":"https://github.com/pages-themes/minimal","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Clean white minimal layout","Subtle header with site title","Responsive design","Single-line enable via _config.yml","No local setup required","Fast page loads"],"slug":"minimal","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/modern-resume-theme.md","relative_path":"_themes/modern-resume-theme.md","excerpt":"<p>Modern Resume Theme turns a YAML configuration file into a polished, single-page CV. You fill in your experience, education, and skills in <code class=\"language-plaintext highlighter-rouge\">_config.yml</code> — the theme handles all the layout and styling.</p>\n\n","previous":{"path":"_themes/minimal.md","relative_path":"_themes/minimal.md","excerpt":"<p>Minimal is exactly what its name promises — GitHub’s most stripped-back official theme. A clean white page, a simple header, and nothing to get in the way of your content. It’s the choice when you want a professional online presence as quickly as possible.</p>\n\n","previous":{"path":"_themes/minimal-mistakes.md","relative_path":"_themes/minimal-mistakes.md","id":"/themes/minimal-mistakes","collection":"themes","url":"/themes/minimal-mistakes/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Minimal Mistakes Jekyll Theme","description":"The most popular Jekyll theme on GitHub. A flexible two-column theme perfect for personal sites, blogs, documentation, and portfolios — with 12 layout skins.","key_features":["12 Layout Skins","GitHub Pages","Two-Column Layout","Portfolio Ready"],"card_description":"Most popular Jekyll theme — flexible two-column with 12 layout skins.","category":"Blog","card_image":"/assets/images/themes/minimal-mistakes-card.webp","theme_screenshots":["/assets/images/themes/minimal-mistakes-screenshot.webp","/assets/images/themes/minimal-mistakes-screenshot-2.webp","/assets/images/themes/minimal-mistakes-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/minimal-mistakes/","github_url":"https://github.com/mmistakes/minimal-mistakes","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-include-cache","jekyll-paginate"],"updated_at":"2024-03-01","added_at":"2026-01-02","popular":true,"trending":false,"bestseller":false,"version":"4.28.0","license":"MIT","stars":13300,"forks":9300,"features":["12 built-in colour skins","Flexible two-column layout","Responsive design","SEO optimised with jekyll-seo-tag","Built-in Lunr.js full-text search","Support for comments (Disqus, giscus)","Social sharing buttons","Author sidebar with bio and avatar","Google Analytics integration","Breadcrumb navigation"],"slug":"minimal-mistakes","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/minimal","collection":"themes","next":{"path":"_themes/modern-resume-theme.md","relative_path":"_themes/modern-resume-theme.md","id":"/themes/modern-resume-theme","collection":"themes","url":"/themes/modern-resume-theme/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Modern Resume Theme Jekyll Theme","description":"A sleek, single-page resume/CV theme for Jekyll. Dark header, clean timeline layout, and sections for experience, education, skills, and projects.","key_features":["Single-Page CV","Timeline Layout","GitHub Pages","Dark Header"],"card_description":"Sleek single-page resume/CV with timeline and skills sections.","category":"Resume / CV","card_image":"/assets/images/themes/modern-resume-theme-card.webp","theme_screenshots":["/assets/images/themes/modern-resume-theme-screenshot.webp","/assets/images/themes/modern-resume-theme-screenshot-2.webp","/assets/images/themes/modern-resume-theme-screenshot-3.webp"],"demo_url":"https://sproogen.github.io/modern-resume-theme/","github_url":"https://github.com/sproogen/modern-resume-theme","author":"GitHub Community","github_author_name":"James Grant","github_author_url":"https://github.com/sproogen","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-28","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":4400,"forks":4700,"features":["YAML-driven content","Timeline for experience and education","Skills section","Projects section","Dark profile header","Print-friendly"],"slug":"modern-resume-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Minimal is exactly what its name promises — GitHub's most stripped-back official theme. A clean white page, a simple header, and nothing to get in the way of your content. It's the choice when you want a professional online presence as quickly as possible.\n\nAs an official GitHub Pages theme, it can be activated with a single `theme:` line in `_config.yml`, making it one of the fastest paths from a GitHub repository to a live website.\n\n**Who is it for?** Anyone who wants a simple, professional-looking GitHub Pages site with minimal fuss and maximum speed.\n","url":"/themes/minimal/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Minimal Jekyll Theme","description":"The official minimal GitHub Pages Jekyll theme. Clean and lightweight with great default typography for personal projects and documentation.","key_features":["GitHub Pages","Ultra Minimal","Clean Typography","Official GH Theme"],"card_description":"Official minimal GitHub Pages theme — clean and lightweight.","category":"Personal","card_image":"/assets/images/themes/minimal-card.webp","theme_screenshots":["/assets/images/themes/minimal-screenshot.webp","/assets/images/themes/minimal-screenshot-2.webp","/assets/images/themes/minimal-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/minimal/","github_url":"https://github.com/pages-themes/minimal","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Clean white minimal layout","Subtle header with site title","Responsive design","Single-line enable via _config.yml","No local setup required","Fast page loads"],"slug":"minimal","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/modern-resume-theme","collection":"themes","next":{"path":"_themes/moonwalk.md","relative_path":"_themes/moonwalk.md","excerpt":"<p>Moonwalk is a dark, minimal Jekyll blog theme that puts your words first. No sidebars, no carousels, no social widgets cluttering the margins — just clean typography on a deep background that makes reading a pleasure at any hour.</p>\n\n","previous":{"path":"_themes/modern-resume-theme.md","relative_path":"_themes/modern-resume-theme.md","id":"/themes/modern-resume-theme","collection":"themes","url":"/themes/modern-resume-theme/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Modern Resume Theme Jekyll Theme","description":"A sleek, single-page resume/CV theme for Jekyll. Dark header, clean timeline layout, and sections for experience, education, skills, and projects.","key_features":["Single-Page CV","Timeline Layout","GitHub Pages","Dark Header"],"card_description":"Sleek single-page resume/CV with timeline and skills sections.","category":"Resume / CV","card_image":"/assets/images/themes/modern-resume-theme-card.webp","theme_screenshots":["/assets/images/themes/modern-resume-theme-screenshot.webp","/assets/images/themes/modern-resume-theme-screenshot-2.webp","/assets/images/themes/modern-resume-theme-screenshot-3.webp"],"demo_url":"https://sproogen.github.io/modern-resume-theme/","github_url":"https://github.com/sproogen/modern-resume-theme","author":"GitHub Community","github_author_name":"James Grant","github_author_url":"https://github.com/sproogen","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-28","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":4400,"forks":4700,"features":["YAML-driven content","Timeline for experience and education","Skills section","Projects section","Dark profile header","Print-friendly"],"slug":"modern-resume-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/moonwalk","collection":"themes","next":{"path":"_themes/mundana.md","relative_path":"_themes/mundana.md","id":"/themes/mundana","collection":"themes","url":"/themes/mundana/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mundana Jekyll Theme","description":"A modern Jekyll theme for bloggers built with Bootstrap 4. Features featured posts, category pages, newsletter signup, and clean card layouts.","key_features":["Newsletter Signup","Featured Posts","Category Pages","GitHub Pages"],"card_description":"Modern Bootstrap 4 blog with featured posts and newsletter signup.","category":"Blog","card_image":"/assets/images/themes/mundana-card.webp","theme_screenshots":["/assets/images/themes/mundana-screenshot.webp","/assets/images/themes/mundana-screenshot-2.webp","/assets/images/themes/mundana-screenshot-3.webp"],"demo_url":"https://mundana.amitmerchant.com/","github_url":"https://github.com/wowthemesnet/mundana-theme-jekyll","author":"GitHub Community","github_author_name":"wowthemesnet","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-03-24","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":784,"forks":398,"features":["Bootstrap 4 powered","Featured hero post","Card-based post grid","Category archive pages","Newsletter signup section","Author profile pages","Related posts","Social sharing","Google Analytics","GitHub Pages compatible"],"slug":"mundana","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Moonwalk is a dark, minimal Jekyll blog theme that puts your words first. No sidebars, no carousels, no social widgets cluttering the margins — just clean typography on a deep background that makes reading a pleasure at any hour.\n\n**Who is it for?** Writers, thinkers, and bloggers who want a dark, distraction-free writing environment that readers will appreciate.\n","url":"/themes/moonwalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Moonwalk Jekyll Theme","description":"A dark, minimal Jekyll blog theme with a focus on typography and whitespace. Elegant simplicity for serious writers.","key_features":["Dark Mode","Typography Focus","Minimal Design","GitHub Pages"],"card_description":"Dark, minimal blog focused on typography and generous whitespace.","category":"Blog","card_image":"/assets/images/themes/moonwalk-card.webp","theme_screenshots":["/assets/images/themes/moonwalk-screenshot.webp","/assets/images/themes/moonwalk-screenshot-2.webp","/assets/images/themes/moonwalk-screenshot-3.webp"],"demo_url":"https://abhinavs.github.io/moonwalk/","github_url":"https://github.com/abhinavs/moonwalk","author":"GitHub Community","github_author_name":"Abhinav Saxena","github_author_url":"https://github.com/abhinavs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2023-07-01","added_at":"2026-03-12","popular":false,"trending":true,"bestseller":false,"version":"0.5.0","license":"MIT","stars":1500,"forks":280,"features":["Dark minimal design","Typography-focused","Fast loading","soopr social sharing","Clean post layout"],"slug":"moonwalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Modern Resume Theme turns a YAML configuration file into a polished, single-page CV. You fill in your experience, education, and skills in `_config.yml` — the theme handles all the layout and styling.\n\nThe dark header with avatar creates a professional first impression, and the clean timeline makes career history easy to scan.\n\n**Who is it for?** Developers, designers, and professionals who want a clean, online CV hosted on GitHub Pages.\n","url":"/themes/modern-resume-theme/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Modern Resume Theme Jekyll Theme","description":"A sleek, single-page resume/CV theme for Jekyll. Dark header, clean timeline layout, and sections for experience, education, skills, and projects.","key_features":["Single-Page CV","Timeline Layout","GitHub Pages","Dark Header"],"card_description":"Sleek single-page resume/CV with timeline and skills sections.","category":"Resume / CV","card_image":"/assets/images/themes/modern-resume-theme-card.webp","theme_screenshots":["/assets/images/themes/modern-resume-theme-screenshot.webp","/assets/images/themes/modern-resume-theme-screenshot-2.webp","/assets/images/themes/modern-resume-theme-screenshot-3.webp"],"demo_url":"https://sproogen.github.io/modern-resume-theme/","github_url":"https://github.com/sproogen/modern-resume-theme","author":"GitHub Community","github_author_name":"James Grant","github_author_url":"https://github.com/sproogen","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-28","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":4400,"forks":4700,"features":["YAML-driven content","Timeline for experience and education","Skills section","Projects section","Dark profile header","Print-friendly"],"slug":"modern-resume-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/moonwalk.md","relative_path":"_themes/moonwalk.md","excerpt":"<p>Moonwalk is a dark, minimal Jekyll blog theme that puts your words first. No sidebars, no carousels, no social widgets cluttering the margins — just clean typography on a deep background that makes reading a pleasure at any hour.</p>\n\n","previous":{"path":"_themes/modern-resume-theme.md","relative_path":"_themes/modern-resume-theme.md","excerpt":"<p>Modern Resume Theme turns a YAML configuration file into a polished, single-page CV. You fill in your experience, education, and skills in <code class=\"language-plaintext highlighter-rouge\">_config.yml</code> — the theme handles all the layout and styling.</p>\n\n","previous":{"path":"_themes/minimal.md","relative_path":"_themes/minimal.md","id":"/themes/minimal","collection":"themes","url":"/themes/minimal/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Minimal Jekyll Theme","description":"The official minimal GitHub Pages Jekyll theme. Clean and lightweight with great default typography for personal projects and documentation.","key_features":["GitHub Pages","Ultra Minimal","Clean Typography","Official GH Theme"],"card_description":"Official minimal GitHub Pages theme — clean and lightweight.","category":"Personal","card_image":"/assets/images/themes/minimal-card.webp","theme_screenshots":["/assets/images/themes/minimal-screenshot.webp","/assets/images/themes/minimal-screenshot-2.webp","/assets/images/themes/minimal-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/minimal/","github_url":"https://github.com/pages-themes/minimal","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Clean white minimal layout","Subtle header with site title","Responsive design","Single-line enable via _config.yml","No local setup required","Fast page loads"],"slug":"minimal","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/modern-resume-theme","collection":"themes","next":{"path":"_themes/moonwalk.md","relative_path":"_themes/moonwalk.md","id":"/themes/moonwalk","collection":"themes","url":"/themes/moonwalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Moonwalk Jekyll Theme","description":"A dark, minimal Jekyll blog theme with a focus on typography and whitespace. Elegant simplicity for serious writers.","key_features":["Dark Mode","Typography Focus","Minimal Design","GitHub Pages"],"card_description":"Dark, minimal blog focused on typography and generous whitespace.","category":"Blog","card_image":"/assets/images/themes/moonwalk-card.webp","theme_screenshots":["/assets/images/themes/moonwalk-screenshot.webp","/assets/images/themes/moonwalk-screenshot-2.webp","/assets/images/themes/moonwalk-screenshot-3.webp"],"demo_url":"https://abhinavs.github.io/moonwalk/","github_url":"https://github.com/abhinavs/moonwalk","author":"GitHub Community","github_author_name":"Abhinav Saxena","github_author_url":"https://github.com/abhinavs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2023-07-01","added_at":"2026-03-12","popular":false,"trending":true,"bestseller":false,"version":"0.5.0","license":"MIT","stars":1500,"forks":280,"features":["Dark minimal design","Typography-focused","Fast loading","soopr social sharing","Clean post layout"],"slug":"moonwalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Modern Resume Theme turns a YAML configuration file into a polished, single-page CV. You fill in your experience, education, and skills in `_config.yml` — the theme handles all the layout and styling.\n\nThe dark header with avatar creates a professional first impression, and the clean timeline makes career history easy to scan.\n\n**Who is it for?** Developers, designers, and professionals who want a clean, online CV hosted on GitHub Pages.\n","url":"/themes/modern-resume-theme/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Modern Resume Theme Jekyll Theme","description":"A sleek, single-page resume/CV theme for Jekyll. Dark header, clean timeline layout, and sections for experience, education, skills, and projects.","key_features":["Single-Page CV","Timeline Layout","GitHub Pages","Dark Header"],"card_description":"Sleek single-page resume/CV with timeline and skills sections.","category":"Resume / CV","card_image":"/assets/images/themes/modern-resume-theme-card.webp","theme_screenshots":["/assets/images/themes/modern-resume-theme-screenshot.webp","/assets/images/themes/modern-resume-theme-screenshot-2.webp","/assets/images/themes/modern-resume-theme-screenshot-3.webp"],"demo_url":"https://sproogen.github.io/modern-resume-theme/","github_url":"https://github.com/sproogen/modern-resume-theme","author":"GitHub Community","github_author_name":"James Grant","github_author_url":"https://github.com/sproogen","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-28","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":4400,"forks":4700,"features":["YAML-driven content","Timeline for experience and education","Skills section","Projects section","Dark profile header","Print-friendly"],"slug":"modern-resume-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/moonwalk","collection":"themes","next":{"path":"_themes/mundana.md","relative_path":"_themes/mundana.md","excerpt":"<p>Mundana is a modern, publication-style Jekyll theme from WowThemes.net. The homepage features a large hero post followed by a clean card grid — giving it the feel of a professional editorial site.</p>\n\n","previous":{"path":"_themes/moonwalk.md","relative_path":"_themes/moonwalk.md","id":"/themes/moonwalk","collection":"themes","url":"/themes/moonwalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Moonwalk Jekyll Theme","description":"A dark, minimal Jekyll blog theme with a focus on typography and whitespace. Elegant simplicity for serious writers.","key_features":["Dark Mode","Typography Focus","Minimal Design","GitHub Pages"],"card_description":"Dark, minimal blog focused on typography and generous whitespace.","category":"Blog","card_image":"/assets/images/themes/moonwalk-card.webp","theme_screenshots":["/assets/images/themes/moonwalk-screenshot.webp","/assets/images/themes/moonwalk-screenshot-2.webp","/assets/images/themes/moonwalk-screenshot-3.webp"],"demo_url":"https://abhinavs.github.io/moonwalk/","github_url":"https://github.com/abhinavs/moonwalk","author":"GitHub Community","github_author_name":"Abhinav Saxena","github_author_url":"https://github.com/abhinavs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2023-07-01","added_at":"2026-03-12","popular":false,"trending":true,"bestseller":false,"version":"0.5.0","license":"MIT","stars":1500,"forks":280,"features":["Dark minimal design","Typography-focused","Fast loading","soopr social sharing","Clean post layout"],"slug":"moonwalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/mundana","collection":"themes","next":{"path":"_themes/online-cv.md","relative_path":"_themes/online-cv.md","id":"/themes/online-cv","collection":"themes","url":"/themes/online-cv/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Online CV Jekyll Theme","description":"A one-page Jekyll CV and resume theme for creating a beautiful online portfolio. Minimal, readable design perfect for job seekers and freelancers.","key_features":["One-Page CV","GitHub Pages","Skills Section","Minimal Design"],"card_description":"One-page CV/resume theme for a beautiful online portfolio.","category":"Resume / CV","card_image":"/assets/images/themes/online-cv-card.webp","theme_screenshots":["/assets/images/themes/online-cv-screenshot.webp","/assets/images/themes/online-cv-screenshot-2.webp","/assets/images/themes/online-cv-screenshot-3.webp"],"demo_url":"https://sharu725.github.io/online-cv/","github_url":"https://github.com/sharu725/online-cv","author":"GitHub Community","github_author_name":"Sharath Kumar","github_author_url":"https://github.com/sharu725","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-15","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":2200,"forks":3800,"features":["Dark profile sidebar","Skills with progress bars","Experience timeline","Education section","Languages and interests","Print-friendly"],"slug":"online-cv","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Mundana is a modern, publication-style Jekyll theme from WowThemes.net. The homepage features a large hero post followed by a clean card grid — giving it the feel of a professional editorial site.\n\nCategory pages, author profiles, and newsletter signup sections are all built in, making it one of the most complete free blogging themes for Jekyll.\n\n**Who is it for?** Bloggers and content creators who want a professional editorial look without the complexity of a premium theme.\n","url":"/themes/mundana/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mundana Jekyll Theme","description":"A modern Jekyll theme for bloggers built with Bootstrap 4. Features featured posts, category pages, newsletter signup, and clean card layouts.","key_features":["Newsletter Signup","Featured Posts","Category Pages","GitHub Pages"],"card_description":"Modern Bootstrap 4 blog with featured posts and newsletter signup.","category":"Blog","card_image":"/assets/images/themes/mundana-card.webp","theme_screenshots":["/assets/images/themes/mundana-screenshot.webp","/assets/images/themes/mundana-screenshot-2.webp","/assets/images/themes/mundana-screenshot-3.webp"],"demo_url":"https://mundana.amitmerchant.com/","github_url":"https://github.com/wowthemesnet/mundana-theme-jekyll","author":"GitHub Community","github_author_name":"wowthemesnet","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-03-24","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":784,"forks":398,"features":["Bootstrap 4 powered","Featured hero post","Card-based post grid","Category archive pages","Newsletter signup section","Author profile pages","Related posts","Social sharing","Google Analytics","GitHub Pages compatible"],"slug":"mundana","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Moonwalk is a dark, minimal Jekyll blog theme that puts your words first. No sidebars, no carousels, no social widgets cluttering the margins — just clean typography on a deep background that makes reading a pleasure at any hour.\n\n**Who is it for?** Writers, thinkers, and bloggers who want a dark, distraction-free writing environment that readers will appreciate.\n","url":"/themes/moonwalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Moonwalk Jekyll Theme","description":"A dark, minimal Jekyll blog theme with a focus on typography and whitespace. Elegant simplicity for serious writers.","key_features":["Dark Mode","Typography Focus","Minimal Design","GitHub Pages"],"card_description":"Dark, minimal blog focused on typography and generous whitespace.","category":"Blog","card_image":"/assets/images/themes/moonwalk-card.webp","theme_screenshots":["/assets/images/themes/moonwalk-screenshot.webp","/assets/images/themes/moonwalk-screenshot-2.webp","/assets/images/themes/moonwalk-screenshot-3.webp"],"demo_url":"https://abhinavs.github.io/moonwalk/","github_url":"https://github.com/abhinavs/moonwalk","author":"GitHub Community","github_author_name":"Abhinav Saxena","github_author_url":"https://github.com/abhinavs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2023-07-01","added_at":"2026-03-12","popular":false,"trending":true,"bestseller":false,"version":"0.5.0","license":"MIT","stars":1500,"forks":280,"features":["Dark minimal design","Typography-focused","Fast loading","soopr social sharing","Clean post layout"],"slug":"moonwalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/mundana.md","relative_path":"_themes/mundana.md","excerpt":"<p>Mundana is a modern, publication-style Jekyll theme from WowThemes.net. The homepage features a large hero post followed by a clean card grid — giving it the feel of a professional editorial site.</p>\n\n","previous":{"path":"_themes/moonwalk.md","relative_path":"_themes/moonwalk.md","excerpt":"<p>Moonwalk is a dark, minimal Jekyll blog theme that puts your words first. No sidebars, no carousels, no social widgets cluttering the margins — just clean typography on a deep background that makes reading a pleasure at any hour.</p>\n\n","previous":{"path":"_themes/modern-resume-theme.md","relative_path":"_themes/modern-resume-theme.md","id":"/themes/modern-resume-theme","collection":"themes","url":"/themes/modern-resume-theme/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":true,"dark_mode":false,"responsive":true,"title":"Modern Resume Theme Jekyll Theme","description":"A sleek, single-page resume/CV theme for Jekyll. Dark header, clean timeline layout, and sections for experience, education, skills, and projects.","key_features":["Single-Page CV","Timeline Layout","GitHub Pages","Dark Header"],"card_description":"Sleek single-page resume/CV with timeline and skills sections.","category":"Resume / CV","card_image":"/assets/images/themes/modern-resume-theme-card.webp","theme_screenshots":["/assets/images/themes/modern-resume-theme-screenshot.webp","/assets/images/themes/modern-resume-theme-screenshot-2.webp","/assets/images/themes/modern-resume-theme-screenshot-3.webp"],"demo_url":"https://sproogen.github.io/modern-resume-theme/","github_url":"https://github.com/sproogen/modern-resume-theme","author":"GitHub Community","github_author_name":"James Grant","github_author_url":"https://github.com/sproogen","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-seo-tag"],"updated_at":"2024-01-01","added_at":"2026-02-28","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":4400,"forks":4700,"features":["YAML-driven content","Timeline for experience and education","Skills section","Projects section","Dark profile header","Print-friendly"],"slug":"modern-resume-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/moonwalk","collection":"themes","next":{"path":"_themes/mundana.md","relative_path":"_themes/mundana.md","id":"/themes/mundana","collection":"themes","url":"/themes/mundana/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mundana Jekyll Theme","description":"A modern Jekyll theme for bloggers built with Bootstrap 4. Features featured posts, category pages, newsletter signup, and clean card layouts.","key_features":["Newsletter Signup","Featured Posts","Category Pages","GitHub Pages"],"card_description":"Modern Bootstrap 4 blog with featured posts and newsletter signup.","category":"Blog","card_image":"/assets/images/themes/mundana-card.webp","theme_screenshots":["/assets/images/themes/mundana-screenshot.webp","/assets/images/themes/mundana-screenshot-2.webp","/assets/images/themes/mundana-screenshot-3.webp"],"demo_url":"https://mundana.amitmerchant.com/","github_url":"https://github.com/wowthemesnet/mundana-theme-jekyll","author":"GitHub Community","github_author_name":"wowthemesnet","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-03-24","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":784,"forks":398,"features":["Bootstrap 4 powered","Featured hero post","Card-based post grid","Category archive pages","Newsletter signup section","Author profile pages","Related posts","Social sharing","Google Analytics","GitHub Pages compatible"],"slug":"mundana","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Moonwalk is a dark, minimal Jekyll blog theme that puts your words first. No sidebars, no carousels, no social widgets cluttering the margins — just clean typography on a deep background that makes reading a pleasure at any hour.\n\n**Who is it for?** Writers, thinkers, and bloggers who want a dark, distraction-free writing environment that readers will appreciate.\n","url":"/themes/moonwalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Moonwalk Jekyll Theme","description":"A dark, minimal Jekyll blog theme with a focus on typography and whitespace. Elegant simplicity for serious writers.","key_features":["Dark Mode","Typography Focus","Minimal Design","GitHub Pages"],"card_description":"Dark, minimal blog focused on typography and generous whitespace.","category":"Blog","card_image":"/assets/images/themes/moonwalk-card.webp","theme_screenshots":["/assets/images/themes/moonwalk-screenshot.webp","/assets/images/themes/moonwalk-screenshot-2.webp","/assets/images/themes/moonwalk-screenshot-3.webp"],"demo_url":"https://abhinavs.github.io/moonwalk/","github_url":"https://github.com/abhinavs/moonwalk","author":"GitHub Community","github_author_name":"Abhinav Saxena","github_author_url":"https://github.com/abhinavs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2023-07-01","added_at":"2026-03-12","popular":false,"trending":true,"bestseller":false,"version":"0.5.0","license":"MIT","stars":1500,"forks":280,"features":["Dark minimal design","Typography-focused","Fast loading","soopr social sharing","Clean post layout"],"slug":"moonwalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/mundana","collection":"themes","next":{"path":"_themes/online-cv.md","relative_path":"_themes/online-cv.md","excerpt":"<p>Online CV is a clean two-column resume theme with a dark sidebar for your profile photo and contact details, and a light content area for your experience, education, and skills.</p>\n\n","previous":{"path":"_themes/mundana.md","relative_path":"_themes/mundana.md","id":"/themes/mundana","collection":"themes","url":"/themes/mundana/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mundana Jekyll Theme","description":"A modern Jekyll theme for bloggers built with Bootstrap 4. Features featured posts, category pages, newsletter signup, and clean card layouts.","key_features":["Newsletter Signup","Featured Posts","Category Pages","GitHub Pages"],"card_description":"Modern Bootstrap 4 blog with featured posts and newsletter signup.","category":"Blog","card_image":"/assets/images/themes/mundana-card.webp","theme_screenshots":["/assets/images/themes/mundana-screenshot.webp","/assets/images/themes/mundana-screenshot-2.webp","/assets/images/themes/mundana-screenshot-3.webp"],"demo_url":"https://mundana.amitmerchant.com/","github_url":"https://github.com/wowthemesnet/mundana-theme-jekyll","author":"GitHub Community","github_author_name":"wowthemesnet","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-03-24","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":784,"forks":398,"features":["Bootstrap 4 powered","Featured hero post","Card-based post grid","Category archive pages","Newsletter signup section","Author profile pages","Related posts","Social sharing","Google Analytics","GitHub Pages compatible"],"slug":"mundana","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/online-cv","collection":"themes","next":{"path":"_themes/origin.md","relative_path":"_themes/origin.md","id":"/themes/origin","collection":"themes","url":"/themes/origin/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Origin Jekyll Theme","rating":4.8,"rating_count":42,"description":"A fully featured and highly configurable modern blog theme for Jekyll. Includes categories, authors, comments, pagination, dark mode, and a perfect 100/100 Google Lighthouse score.","card_description":"Modern blog theme with dark mode, authors, categories, and 100/100 Lighthouse.","price":49,"category":"Blog","card_image":"/assets/images/themes/origin-card.webp","theme_screenshots":["/assets/images/themes/origin-screenshot.webp","/assets/images/themes/origin-screenshot-2.webp","/assets/images/themes/origin-screenshot-3.webp"],"key_features":["Dark Mode","100 Lighthouse","Categories","Authors"],"demo_url":"https://jekyll-origin.netlify.app/","buy_url":"https://www.zerostatic.io/theme/jekyll-origin/","author":"Zerostatic","author_url":"https://www.zerostatic.io/","github_author_name":"Zerostatic","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.2","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2025-04-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Jekyll 4.2+ support","100% responsive design with crisp imagery and beautiful typography","Fully featured Blog with categories, authors, comments, and pagination","Dark mode with automatic and manual switching","100/100 Google Lighthouse speed and SEO scores","All content editable via markdown, front-matter, or YAML — nothing hardcoded","Configure logo, colours, fonts, menus, header, and footer in _config.yml","SCSS + Bootstrap 5.2, no jQuery, minimal vanilla JS","Auto-generated SEO meta tags with per-page overrides","Open Graph / Twitter card meta data included","Google Analytics support and social media links","Nested dropdown menus and responsive mobile hamburger menu","Contact page with Netlify Forms and Formspree support","Disqus comments integration","Mailchimp newsletter subscribe form","Google Fonts and Font Awesome 6 icons","Works with GitHub Pages and Netlify (includes netlify.toml)","All photos, illustrations, and icons included are royalty free","Full documentation with setup and customisation guide"],"slug":"origin","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Online CV is a clean two-column resume theme with a dark sidebar for your profile photo and contact details, and a light content area for your experience, education, and skills.\n\nAll content is configured through `data/data.yml` — no HTML editing required.\n\n**Who is it for?** Job seekers and professionals who want a clean, printable online resume hosted on GitHub Pages.\n","url":"/themes/online-cv/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Online CV Jekyll Theme","description":"A one-page Jekyll CV and resume theme for creating a beautiful online portfolio. Minimal, readable design perfect for job seekers and freelancers.","key_features":["One-Page CV","GitHub Pages","Skills Section","Minimal Design"],"card_description":"One-page CV/resume theme for a beautiful online portfolio.","category":"Resume / CV","card_image":"/assets/images/themes/online-cv-card.webp","theme_screenshots":["/assets/images/themes/online-cv-screenshot.webp","/assets/images/themes/online-cv-screenshot-2.webp","/assets/images/themes/online-cv-screenshot-3.webp"],"demo_url":"https://sharu725.github.io/online-cv/","github_url":"https://github.com/sharu725/online-cv","author":"GitHub Community","github_author_name":"Sharath Kumar","github_author_url":"https://github.com/sharu725","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-15","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":2200,"forks":3800,"features":["Dark profile sidebar","Skills with progress bars","Experience timeline","Education section","Languages and interests","Print-friendly"],"slug":"online-cv","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Mundana is a modern, publication-style Jekyll theme from WowThemes.net. The homepage features a large hero post followed by a clean card grid — giving it the feel of a professional editorial site.\n\nCategory pages, author profiles, and newsletter signup sections are all built in, making it one of the most complete free blogging themes for Jekyll.\n\n**Who is it for?** Bloggers and content creators who want a professional editorial look without the complexity of a premium theme.\n","url":"/themes/mundana/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mundana Jekyll Theme","description":"A modern Jekyll theme for bloggers built with Bootstrap 4. Features featured posts, category pages, newsletter signup, and clean card layouts.","key_features":["Newsletter Signup","Featured Posts","Category Pages","GitHub Pages"],"card_description":"Modern Bootstrap 4 blog with featured posts and newsletter signup.","category":"Blog","card_image":"/assets/images/themes/mundana-card.webp","theme_screenshots":["/assets/images/themes/mundana-screenshot.webp","/assets/images/themes/mundana-screenshot-2.webp","/assets/images/themes/mundana-screenshot-3.webp"],"demo_url":"https://mundana.amitmerchant.com/","github_url":"https://github.com/wowthemesnet/mundana-theme-jekyll","author":"GitHub Community","github_author_name":"wowthemesnet","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-03-24","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":784,"forks":398,"features":["Bootstrap 4 powered","Featured hero post","Card-based post grid","Category archive pages","Newsletter signup section","Author profile pages","Related posts","Social sharing","Google Analytics","GitHub Pages compatible"],"slug":"mundana","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/online-cv.md","relative_path":"_themes/online-cv.md","excerpt":"<p>Online CV is a clean two-column resume theme with a dark sidebar for your profile photo and contact details, and a light content area for your experience, education, and skills.</p>\n\n","previous":{"path":"_themes/mundana.md","relative_path":"_themes/mundana.md","excerpt":"<p>Mundana is a modern, publication-style Jekyll theme from WowThemes.net. The homepage features a large hero post followed by a clean card grid — giving it the feel of a professional editorial site.</p>\n\n","previous":{"path":"_themes/moonwalk.md","relative_path":"_themes/moonwalk.md","id":"/themes/moonwalk","collection":"themes","url":"/themes/moonwalk/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"Moonwalk Jekyll Theme","description":"A dark, minimal Jekyll blog theme with a focus on typography and whitespace. Elegant simplicity for serious writers.","key_features":["Dark Mode","Typography Focus","Minimal Design","GitHub Pages"],"card_description":"Dark, minimal blog focused on typography and generous whitespace.","category":"Blog","card_image":"/assets/images/themes/moonwalk-card.webp","theme_screenshots":["/assets/images/themes/moonwalk-screenshot.webp","/assets/images/themes/moonwalk-screenshot-2.webp","/assets/images/themes/moonwalk-screenshot-3.webp"],"demo_url":"https://abhinavs.github.io/moonwalk/","github_url":"https://github.com/abhinavs/moonwalk","author":"GitHub Community","github_author_name":"Abhinav Saxena","github_author_url":"https://github.com/abhinavs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2023-07-01","added_at":"2026-03-12","popular":false,"trending":true,"bestseller":false,"version":"0.5.0","license":"MIT","stars":1500,"forks":280,"features":["Dark minimal design","Typography-focused","Fast loading","soopr social sharing","Clean post layout"],"slug":"moonwalk","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/mundana","collection":"themes","next":{"path":"_themes/online-cv.md","relative_path":"_themes/online-cv.md","id":"/themes/online-cv","collection":"themes","url":"/themes/online-cv/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Online CV Jekyll Theme","description":"A one-page Jekyll CV and resume theme for creating a beautiful online portfolio. Minimal, readable design perfect for job seekers and freelancers.","key_features":["One-Page CV","GitHub Pages","Skills Section","Minimal Design"],"card_description":"One-page CV/resume theme for a beautiful online portfolio.","category":"Resume / CV","card_image":"/assets/images/themes/online-cv-card.webp","theme_screenshots":["/assets/images/themes/online-cv-screenshot.webp","/assets/images/themes/online-cv-screenshot-2.webp","/assets/images/themes/online-cv-screenshot-3.webp"],"demo_url":"https://sharu725.github.io/online-cv/","github_url":"https://github.com/sharu725/online-cv","author":"GitHub Community","github_author_name":"Sharath Kumar","github_author_url":"https://github.com/sharu725","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-15","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":2200,"forks":3800,"features":["Dark profile sidebar","Skills with progress bars","Experience timeline","Education section","Languages and interests","Print-friendly"],"slug":"online-cv","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Mundana is a modern, publication-style Jekyll theme from WowThemes.net. The homepage features a large hero post followed by a clean card grid — giving it the feel of a professional editorial site.\n\nCategory pages, author profiles, and newsletter signup sections are all built in, making it one of the most complete free blogging themes for Jekyll.\n\n**Who is it for?** Bloggers and content creators who want a professional editorial look without the complexity of a premium theme.\n","url":"/themes/mundana/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mundana Jekyll Theme","description":"A modern Jekyll theme for bloggers built with Bootstrap 4. Features featured posts, category pages, newsletter signup, and clean card layouts.","key_features":["Newsletter Signup","Featured Posts","Category Pages","GitHub Pages"],"card_description":"Modern Bootstrap 4 blog with featured posts and newsletter signup.","category":"Blog","card_image":"/assets/images/themes/mundana-card.webp","theme_screenshots":["/assets/images/themes/mundana-screenshot.webp","/assets/images/themes/mundana-screenshot-2.webp","/assets/images/themes/mundana-screenshot-3.webp"],"demo_url":"https://mundana.amitmerchant.com/","github_url":"https://github.com/wowthemesnet/mundana-theme-jekyll","author":"GitHub Community","github_author_name":"wowthemesnet","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-03-24","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":784,"forks":398,"features":["Bootstrap 4 powered","Featured hero post","Card-based post grid","Category archive pages","Newsletter signup section","Author profile pages","Related posts","Social sharing","Google Analytics","GitHub Pages compatible"],"slug":"mundana","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/online-cv","collection":"themes","next":{"path":"_themes/origin.md","relative_path":"_themes/origin.md","excerpt":"<p>Origin is a modern, fully featured Jekyll blog theme built for writers, developers, and content creators who want a polished, high-performance site without trade-offs.</p>\n\n","previous":{"path":"_themes/online-cv.md","relative_path":"_themes/online-cv.md","id":"/themes/online-cv","collection":"themes","url":"/themes/online-cv/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Online CV Jekyll Theme","description":"A one-page Jekyll CV and resume theme for creating a beautiful online portfolio. Minimal, readable design perfect for job seekers and freelancers.","key_features":["One-Page CV","GitHub Pages","Skills Section","Minimal Design"],"card_description":"One-page CV/resume theme for a beautiful online portfolio.","category":"Resume / CV","card_image":"/assets/images/themes/online-cv-card.webp","theme_screenshots":["/assets/images/themes/online-cv-screenshot.webp","/assets/images/themes/online-cv-screenshot-2.webp","/assets/images/themes/online-cv-screenshot-3.webp"],"demo_url":"https://sharu725.github.io/online-cv/","github_url":"https://github.com/sharu725/online-cv","author":"GitHub Community","github_author_name":"Sharath Kumar","github_author_url":"https://github.com/sharu725","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-15","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":2200,"forks":3800,"features":["Dark profile sidebar","Skills with progress bars","Experience timeline","Education section","Languages and interests","Print-friendly"],"slug":"online-cv","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/origin","collection":"themes","next":{"path":"_themes/phantom.md","relative_path":"_themes/phantom.md","id":"/themes/phantom","collection":"themes","url":"/themes/phantom/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Phantom Jekyll Theme","description":"A minimalist, responsive portfolio Jekyll theme with a project grid, modal image viewer, and subtle hover animations.","key_features":["Project Grid","Modal Viewer","Hover Animations","GitHub Pages"],"card_description":"Minimalist portfolio with project grid and modal image viewer.","category":"Portfolio","card_image":"/assets/images/themes/phantom-card.webp","theme_screenshots":["/assets/images/themes/phantom-screenshot.webp","/assets/images/themes/phantom-screenshot-2.webp","/assets/images/themes/phantom-screenshot-3.webp"],"demo_url":"https://jamigibbs.github.io/phantom/","github_url":"https://github.com/jamigibbs/phantom","author":"GitHub Community","github_author_name":"jamigibbs","github_author_url":"https://github.com/jamigibbs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-23","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":353,"forks":196,"features":["Project portfolio grid","Modal image lightbox","Hover animations","About page layout","Skills section","Contact form ready","Clean minimal design","GitHub Pages compatible","Mobile responsive","Custom colour scheme"],"slug":"phantom","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Origin is a modern, fully featured Jekyll blog theme built for writers, developers, and content creators who want a polished, high-performance site without trade-offs.\n\n### Why Origin Stands Out\n\nThe headline achievement is a perfect 100/100 Google Lighthouse score for both speed and SEO — achieved through minimal JavaScript (no jQuery), tiny CSS/JS bundles, and semantic HTML with auto-generated meta tags. Visitors get fast page loads; you get better search rankings by default.\n\n### Content Management\n\nAll content is managed through markdown files and YAML configuration — no hardcoded HTML to hunt down. Configure your logo, colour scheme, fonts, navigation menus, header, and footer entirely from `_config.yml`. The fully featured blog supports categories, named authors, Disqus comments, and paginated archive pages, giving your site professional editorial structure from day one.\n\n### Design & Customisation\n\nOrigin ships with SCSS + Bootstrap 5.2 for a responsive, mobile-first layout that looks polished on every screen size. Dark mode is built in with both automatic (system preference) and manual toggle options. The navigation supports nested dropdown menus and a responsive mobile overlay with an animated hamburger icon — no third-party libraries required.\n\n### Integrations\n\nOut of the box: Google Analytics, Mailchimp newsletter signup, Formspree and Netlify Forms for contact, Disqus comments, Google Fonts, Font Awesome 6, and Open Graph / Twitter card metadata. Ready to deploy to GitHub Pages or Netlify with a `netlify.toml` already included.\n\n**Who is it for?** Writers and developers who want a beautiful, fast, SEO-ready blog — without spending time on configuration or performance tuning.\n","url":"/themes/origin/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Origin Jekyll Theme","rating":4.8,"rating_count":42,"description":"A fully featured and highly configurable modern blog theme for Jekyll. Includes categories, authors, comments, pagination, dark mode, and a perfect 100/100 Google Lighthouse score.","card_description":"Modern blog theme with dark mode, authors, categories, and 100/100 Lighthouse.","price":49,"category":"Blog","card_image":"/assets/images/themes/origin-card.webp","theme_screenshots":["/assets/images/themes/origin-screenshot.webp","/assets/images/themes/origin-screenshot-2.webp","/assets/images/themes/origin-screenshot-3.webp"],"key_features":["Dark Mode","100 Lighthouse","Categories","Authors"],"demo_url":"https://jekyll-origin.netlify.app/","buy_url":"https://www.zerostatic.io/theme/jekyll-origin/","author":"Zerostatic","author_url":"https://www.zerostatic.io/","github_author_name":"Zerostatic","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.2","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2025-04-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Jekyll 4.2+ support","100% responsive design with crisp imagery and beautiful typography","Fully featured Blog with categories, authors, comments, and pagination","Dark mode with automatic and manual switching","100/100 Google Lighthouse speed and SEO scores","All content editable via markdown, front-matter, or YAML — nothing hardcoded","Configure logo, colours, fonts, menus, header, and footer in _config.yml","SCSS + Bootstrap 5.2, no jQuery, minimal vanilla JS","Auto-generated SEO meta tags with per-page overrides","Open Graph / Twitter card meta data included","Google Analytics support and social media links","Nested dropdown menus and responsive mobile hamburger menu","Contact page with Netlify Forms and Formspree support","Disqus comments integration","Mailchimp newsletter subscribe form","Google Fonts and Font Awesome 6 icons","Works with GitHub Pages and Netlify (includes netlify.toml)","All photos, illustrations, and icons included are royalty free","Full documentation with setup and customisation guide"],"slug":"origin","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Online CV is a clean two-column resume theme with a dark sidebar for your profile photo and contact details, and a light content area for your experience, education, and skills.\n\nAll content is configured through `data/data.yml` — no HTML editing required.\n\n**Who is it for?** Job seekers and professionals who want a clean, printable online resume hosted on GitHub Pages.\n","url":"/themes/online-cv/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Online CV Jekyll Theme","description":"A one-page Jekyll CV and resume theme for creating a beautiful online portfolio. Minimal, readable design perfect for job seekers and freelancers.","key_features":["One-Page CV","GitHub Pages","Skills Section","Minimal Design"],"card_description":"One-page CV/resume theme for a beautiful online portfolio.","category":"Resume / CV","card_image":"/assets/images/themes/online-cv-card.webp","theme_screenshots":["/assets/images/themes/online-cv-screenshot.webp","/assets/images/themes/online-cv-screenshot-2.webp","/assets/images/themes/online-cv-screenshot-3.webp"],"demo_url":"https://sharu725.github.io/online-cv/","github_url":"https://github.com/sharu725/online-cv","author":"GitHub Community","github_author_name":"Sharath Kumar","github_author_url":"https://github.com/sharu725","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-15","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":2200,"forks":3800,"features":["Dark profile sidebar","Skills with progress bars","Experience timeline","Education section","Languages and interests","Print-friendly"],"slug":"online-cv","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/origin.md","relative_path":"_themes/origin.md","excerpt":"<p>Origin is a modern, fully featured Jekyll blog theme built for writers, developers, and content creators who want a polished, high-performance site without trade-offs.</p>\n\n","previous":{"path":"_themes/online-cv.md","relative_path":"_themes/online-cv.md","excerpt":"<p>Online CV is a clean two-column resume theme with a dark sidebar for your profile photo and contact details, and a light content area for your experience, education, and skills.</p>\n\n","previous":{"path":"_themes/mundana.md","relative_path":"_themes/mundana.md","id":"/themes/mundana","collection":"themes","url":"/themes/mundana/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Mundana Jekyll Theme","description":"A modern Jekyll theme for bloggers built with Bootstrap 4. Features featured posts, category pages, newsletter signup, and clean card layouts.","key_features":["Newsletter Signup","Featured Posts","Category Pages","GitHub Pages"],"card_description":"Modern Bootstrap 4 blog with featured posts and newsletter signup.","category":"Blog","card_image":"/assets/images/themes/mundana-card.webp","theme_screenshots":["/assets/images/themes/mundana-screenshot.webp","/assets/images/themes/mundana-screenshot-2.webp","/assets/images/themes/mundana-screenshot-3.webp"],"demo_url":"https://mundana.amitmerchant.com/","github_url":"https://github.com/wowthemesnet/mundana-theme-jekyll","author":"GitHub Community","github_author_name":"wowthemesnet","github_author_url":"https://github.com/wowthemesnet","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap"],"updated_at":"2024-03-24","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":784,"forks":398,"features":["Bootstrap 4 powered","Featured hero post","Card-based post grid","Category archive pages","Newsletter signup section","Author profile pages","Related posts","Social sharing","Google Analytics","GitHub Pages compatible"],"slug":"mundana","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/online-cv","collection":"themes","next":{"path":"_themes/origin.md","relative_path":"_themes/origin.md","id":"/themes/origin","collection":"themes","url":"/themes/origin/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Origin Jekyll Theme","rating":4.8,"rating_count":42,"description":"A fully featured and highly configurable modern blog theme for Jekyll. Includes categories, authors, comments, pagination, dark mode, and a perfect 100/100 Google Lighthouse score.","card_description":"Modern blog theme with dark mode, authors, categories, and 100/100 Lighthouse.","price":49,"category":"Blog","card_image":"/assets/images/themes/origin-card.webp","theme_screenshots":["/assets/images/themes/origin-screenshot.webp","/assets/images/themes/origin-screenshot-2.webp","/assets/images/themes/origin-screenshot-3.webp"],"key_features":["Dark Mode","100 Lighthouse","Categories","Authors"],"demo_url":"https://jekyll-origin.netlify.app/","buy_url":"https://www.zerostatic.io/theme/jekyll-origin/","author":"Zerostatic","author_url":"https://www.zerostatic.io/","github_author_name":"Zerostatic","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.2","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2025-04-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Jekyll 4.2+ support","100% responsive design with crisp imagery and beautiful typography","Fully featured Blog with categories, authors, comments, and pagination","Dark mode with automatic and manual switching","100/100 Google Lighthouse speed and SEO scores","All content editable via markdown, front-matter, or YAML — nothing hardcoded","Configure logo, colours, fonts, menus, header, and footer in _config.yml","SCSS + Bootstrap 5.2, no jQuery, minimal vanilla JS","Auto-generated SEO meta tags with per-page overrides","Open Graph / Twitter card meta data included","Google Analytics support and social media links","Nested dropdown menus and responsive mobile hamburger menu","Contact page with Netlify Forms and Formspree support","Disqus comments integration","Mailchimp newsletter subscribe form","Google Fonts and Font Awesome 6 icons","Works with GitHub Pages and Netlify (includes netlify.toml)","All photos, illustrations, and icons included are royalty free","Full documentation with setup and customisation guide"],"slug":"origin","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Online CV is a clean two-column resume theme with a dark sidebar for your profile photo and contact details, and a light content area for your experience, education, and skills.\n\nAll content is configured through `data/data.yml` — no HTML editing required.\n\n**Who is it for?** Job seekers and professionals who want a clean, printable online resume hosted on GitHub Pages.\n","url":"/themes/online-cv/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Online CV Jekyll Theme","description":"A one-page Jekyll CV and resume theme for creating a beautiful online portfolio. Minimal, readable design perfect for job seekers and freelancers.","key_features":["One-Page CV","GitHub Pages","Skills Section","Minimal Design"],"card_description":"One-page CV/resume theme for a beautiful online portfolio.","category":"Resume / CV","card_image":"/assets/images/themes/online-cv-card.webp","theme_screenshots":["/assets/images/themes/online-cv-screenshot.webp","/assets/images/themes/online-cv-screenshot-2.webp","/assets/images/themes/online-cv-screenshot-3.webp"],"demo_url":"https://sharu725.github.io/online-cv/","github_url":"https://github.com/sharu725/online-cv","author":"GitHub Community","github_author_name":"Sharath Kumar","github_author_url":"https://github.com/sharu725","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-15","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":2200,"forks":3800,"features":["Dark profile sidebar","Skills with progress bars","Experience timeline","Education section","Languages and interests","Print-friendly"],"slug":"online-cv","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/origin","collection":"themes","next":{"path":"_themes/phantom.md","relative_path":"_themes/phantom.md","excerpt":"<p>Phantom is a clean, minimal portfolio theme built for designers and developers who want to present their work with style. Projects are displayed in a responsive grid, with each item opening in a full modal lightbox on click.</p>\n\n","previous":{"path":"_themes/origin.md","relative_path":"_themes/origin.md","id":"/themes/origin","collection":"themes","url":"/themes/origin/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Origin Jekyll Theme","rating":4.8,"rating_count":42,"description":"A fully featured and highly configurable modern blog theme for Jekyll. Includes categories, authors, comments, pagination, dark mode, and a perfect 100/100 Google Lighthouse score.","card_description":"Modern blog theme with dark mode, authors, categories, and 100/100 Lighthouse.","price":49,"category":"Blog","card_image":"/assets/images/themes/origin-card.webp","theme_screenshots":["/assets/images/themes/origin-screenshot.webp","/assets/images/themes/origin-screenshot-2.webp","/assets/images/themes/origin-screenshot-3.webp"],"key_features":["Dark Mode","100 Lighthouse","Categories","Authors"],"demo_url":"https://jekyll-origin.netlify.app/","buy_url":"https://www.zerostatic.io/theme/jekyll-origin/","author":"Zerostatic","author_url":"https://www.zerostatic.io/","github_author_name":"Zerostatic","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.2","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2025-04-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Jekyll 4.2+ support","100% responsive design with crisp imagery and beautiful typography","Fully featured Blog with categories, authors, comments, and pagination","Dark mode with automatic and manual switching","100/100 Google Lighthouse speed and SEO scores","All content editable via markdown, front-matter, or YAML — nothing hardcoded","Configure logo, colours, fonts, menus, header, and footer in _config.yml","SCSS + Bootstrap 5.2, no jQuery, minimal vanilla JS","Auto-generated SEO meta tags with per-page overrides","Open Graph / Twitter card meta data included","Google Analytics support and social media links","Nested dropdown menus and responsive mobile hamburger menu","Contact page with Netlify Forms and Formspree support","Disqus comments integration","Mailchimp newsletter subscribe form","Google Fonts and Font Awesome 6 icons","Works with GitHub Pages and Netlify (includes netlify.toml)","All photos, illustrations, and icons included are royalty free","Full documentation with setup and customisation guide"],"slug":"origin","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/phantom","collection":"themes","next":{"path":"_themes/pixyll.md","relative_path":"_themes/pixyll.md","id":"/themes/pixyll","collection":"themes","url":"/themes/pixyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Pixyll Jekyll Theme","description":"A simple, beautiful Jekyll theme that puts your content first. Mobile-first, fluidly responsive, and delightfully lightweight — built around great typography and generous whitespace.","key_features":["Mobile First","Clean Typography","GitHub Pages","Lightweight"],"card_description":"Simple, beautiful theme that puts content first with generous whitespace.","category":"Blog","card_image":"/assets/images/themes/pixyll-card.webp","theme_screenshots":["/assets/images/themes/pixyll-screenshot.webp","/assets/images/themes/pixyll-screenshot-2.webp","/assets/images/themes/pixyll-screenshot-3.webp"],"demo_url":"https://pixyll.com/","github_url":"https://github.com/johno/pixyll","author":"GitHub Community","github_author_name":"johno","github_author_url":"https://github.com/johno","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"3.0.0","license":"MIT","stars":2000,"forks":700,"features":["Mobile-first responsive design","Beautiful typographic scale","Generous whitespace layout","Disqus comments","Google Analytics","Syntax highlighting","Paginated post listing","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"pixyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Phantom is a clean, minimal portfolio theme built for designers and developers who want to present their work with style. Projects are displayed in a responsive grid, with each item opening in a full modal lightbox on click.\n\nSubtle hover animations add polish without distracting from the work itself.\n\n**Who is it for?** Designers, illustrators, and developers who want a minimal portfolio with a lightbox-style project viewer.\n","url":"/themes/phantom/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Phantom Jekyll Theme","description":"A minimalist, responsive portfolio Jekyll theme with a project grid, modal image viewer, and subtle hover animations.","key_features":["Project Grid","Modal Viewer","Hover Animations","GitHub Pages"],"card_description":"Minimalist portfolio with project grid and modal image viewer.","category":"Portfolio","card_image":"/assets/images/themes/phantom-card.webp","theme_screenshots":["/assets/images/themes/phantom-screenshot.webp","/assets/images/themes/phantom-screenshot-2.webp","/assets/images/themes/phantom-screenshot-3.webp"],"demo_url":"https://jamigibbs.github.io/phantom/","github_url":"https://github.com/jamigibbs/phantom","author":"GitHub Community","github_author_name":"jamigibbs","github_author_url":"https://github.com/jamigibbs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-23","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":353,"forks":196,"features":["Project portfolio grid","Modal image lightbox","Hover animations","About page layout","Skills section","Contact form ready","Clean minimal design","GitHub Pages compatible","Mobile responsive","Custom colour scheme"],"slug":"phantom","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Origin is a modern, fully featured Jekyll blog theme built for writers, developers, and content creators who want a polished, high-performance site without trade-offs.\n\n### Why Origin Stands Out\n\nThe headline achievement is a perfect 100/100 Google Lighthouse score for both speed and SEO — achieved through minimal JavaScript (no jQuery), tiny CSS/JS bundles, and semantic HTML with auto-generated meta tags. Visitors get fast page loads; you get better search rankings by default.\n\n### Content Management\n\nAll content is managed through markdown files and YAML configuration — no hardcoded HTML to hunt down. Configure your logo, colour scheme, fonts, navigation menus, header, and footer entirely from `_config.yml`. The fully featured blog supports categories, named authors, Disqus comments, and paginated archive pages, giving your site professional editorial structure from day one.\n\n### Design & Customisation\n\nOrigin ships with SCSS + Bootstrap 5.2 for a responsive, mobile-first layout that looks polished on every screen size. Dark mode is built in with both automatic (system preference) and manual toggle options. The navigation supports nested dropdown menus and a responsive mobile overlay with an animated hamburger icon — no third-party libraries required.\n\n### Integrations\n\nOut of the box: Google Analytics, Mailchimp newsletter signup, Formspree and Netlify Forms for contact, Disqus comments, Google Fonts, Font Awesome 6, and Open Graph / Twitter card metadata. Ready to deploy to GitHub Pages or Netlify with a `netlify.toml` already included.\n\n**Who is it for?** Writers and developers who want a beautiful, fast, SEO-ready blog — without spending time on configuration or performance tuning.\n","url":"/themes/origin/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Origin Jekyll Theme","rating":4.8,"rating_count":42,"description":"A fully featured and highly configurable modern blog theme for Jekyll. Includes categories, authors, comments, pagination, dark mode, and a perfect 100/100 Google Lighthouse score.","card_description":"Modern blog theme with dark mode, authors, categories, and 100/100 Lighthouse.","price":49,"category":"Blog","card_image":"/assets/images/themes/origin-card.webp","theme_screenshots":["/assets/images/themes/origin-screenshot.webp","/assets/images/themes/origin-screenshot-2.webp","/assets/images/themes/origin-screenshot-3.webp"],"key_features":["Dark Mode","100 Lighthouse","Categories","Authors"],"demo_url":"https://jekyll-origin.netlify.app/","buy_url":"https://www.zerostatic.io/theme/jekyll-origin/","author":"Zerostatic","author_url":"https://www.zerostatic.io/","github_author_name":"Zerostatic","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.2","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2025-04-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Jekyll 4.2+ support","100% responsive design with crisp imagery and beautiful typography","Fully featured Blog with categories, authors, comments, and pagination","Dark mode with automatic and manual switching","100/100 Google Lighthouse speed and SEO scores","All content editable via markdown, front-matter, or YAML — nothing hardcoded","Configure logo, colours, fonts, menus, header, and footer in _config.yml","SCSS + Bootstrap 5.2, no jQuery, minimal vanilla JS","Auto-generated SEO meta tags with per-page overrides","Open Graph / Twitter card meta data included","Google Analytics support and social media links","Nested dropdown menus and responsive mobile hamburger menu","Contact page with Netlify Forms and Formspree support","Disqus comments integration","Mailchimp newsletter subscribe form","Google Fonts and Font Awesome 6 icons","Works with GitHub Pages and Netlify (includes netlify.toml)","All photos, illustrations, and icons included are royalty free","Full documentation with setup and customisation guide"],"slug":"origin","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/phantom.md","relative_path":"_themes/phantom.md","excerpt":"<p>Phantom is a clean, minimal portfolio theme built for designers and developers who want to present their work with style. Projects are displayed in a responsive grid, with each item opening in a full modal lightbox on click.</p>\n\n","previous":{"path":"_themes/origin.md","relative_path":"_themes/origin.md","excerpt":"<p>Origin is a modern, fully featured Jekyll blog theme built for writers, developers, and content creators who want a polished, high-performance site without trade-offs.</p>\n\n","previous":{"path":"_themes/online-cv.md","relative_path":"_themes/online-cv.md","id":"/themes/online-cv","collection":"themes","url":"/themes/online-cv/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Online CV Jekyll Theme","description":"A one-page Jekyll CV and resume theme for creating a beautiful online portfolio. Minimal, readable design perfect for job seekers and freelancers.","key_features":["One-Page CV","GitHub Pages","Skills Section","Minimal Design"],"card_description":"One-page CV/resume theme for a beautiful online portfolio.","category":"Resume / CV","card_image":"/assets/images/themes/online-cv-card.webp","theme_screenshots":["/assets/images/themes/online-cv-screenshot.webp","/assets/images/themes/online-cv-screenshot-2.webp","/assets/images/themes/online-cv-screenshot-3.webp"],"demo_url":"https://sharu725.github.io/online-cv/","github_url":"https://github.com/sharu725/online-cv","author":"GitHub Community","github_author_name":"Sharath Kumar","github_author_url":"https://github.com/sharu725","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-05-01","added_at":"2026-03-15","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":2200,"forks":3800,"features":["Dark profile sidebar","Skills with progress bars","Experience timeline","Education section","Languages and interests","Print-friendly"],"slug":"online-cv","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/origin","collection":"themes","next":{"path":"_themes/phantom.md","relative_path":"_themes/phantom.md","id":"/themes/phantom","collection":"themes","url":"/themes/phantom/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Phantom Jekyll Theme","description":"A minimalist, responsive portfolio Jekyll theme with a project grid, modal image viewer, and subtle hover animations.","key_features":["Project Grid","Modal Viewer","Hover Animations","GitHub Pages"],"card_description":"Minimalist portfolio with project grid and modal image viewer.","category":"Portfolio","card_image":"/assets/images/themes/phantom-card.webp","theme_screenshots":["/assets/images/themes/phantom-screenshot.webp","/assets/images/themes/phantom-screenshot-2.webp","/assets/images/themes/phantom-screenshot-3.webp"],"demo_url":"https://jamigibbs.github.io/phantom/","github_url":"https://github.com/jamigibbs/phantom","author":"GitHub Community","github_author_name":"jamigibbs","github_author_url":"https://github.com/jamigibbs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-23","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":353,"forks":196,"features":["Project portfolio grid","Modal image lightbox","Hover animations","About page layout","Skills section","Contact form ready","Clean minimal design","GitHub Pages compatible","Mobile responsive","Custom colour scheme"],"slug":"phantom","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Origin is a modern, fully featured Jekyll blog theme built for writers, developers, and content creators who want a polished, high-performance site without trade-offs.\n\n### Why Origin Stands Out\n\nThe headline achievement is a perfect 100/100 Google Lighthouse score for both speed and SEO — achieved through minimal JavaScript (no jQuery), tiny CSS/JS bundles, and semantic HTML with auto-generated meta tags. Visitors get fast page loads; you get better search rankings by default.\n\n### Content Management\n\nAll content is managed through markdown files and YAML configuration — no hardcoded HTML to hunt down. Configure your logo, colour scheme, fonts, navigation menus, header, and footer entirely from `_config.yml`. The fully featured blog supports categories, named authors, Disqus comments, and paginated archive pages, giving your site professional editorial structure from day one.\n\n### Design & Customisation\n\nOrigin ships with SCSS + Bootstrap 5.2 for a responsive, mobile-first layout that looks polished on every screen size. Dark mode is built in with both automatic (system preference) and manual toggle options. The navigation supports nested dropdown menus and a responsive mobile overlay with an animated hamburger icon — no third-party libraries required.\n\n### Integrations\n\nOut of the box: Google Analytics, Mailchimp newsletter signup, Formspree and Netlify Forms for contact, Disqus comments, Google Fonts, Font Awesome 6, and Open Graph / Twitter card metadata. Ready to deploy to GitHub Pages or Netlify with a `netlify.toml` already included.\n\n**Who is it for?** Writers and developers who want a beautiful, fast, SEO-ready blog — without spending time on configuration or performance tuning.\n","url":"/themes/origin/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Origin Jekyll Theme","rating":4.8,"rating_count":42,"description":"A fully featured and highly configurable modern blog theme for Jekyll. Includes categories, authors, comments, pagination, dark mode, and a perfect 100/100 Google Lighthouse score.","card_description":"Modern blog theme with dark mode, authors, categories, and 100/100 Lighthouse.","price":49,"category":"Blog","card_image":"/assets/images/themes/origin-card.webp","theme_screenshots":["/assets/images/themes/origin-screenshot.webp","/assets/images/themes/origin-screenshot-2.webp","/assets/images/themes/origin-screenshot-3.webp"],"key_features":["Dark Mode","100 Lighthouse","Categories","Authors"],"demo_url":"https://jekyll-origin.netlify.app/","buy_url":"https://www.zerostatic.io/theme/jekyll-origin/","author":"Zerostatic","author_url":"https://www.zerostatic.io/","github_author_name":"Zerostatic","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.2","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2025-04-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Jekyll 4.2+ support","100% responsive design with crisp imagery and beautiful typography","Fully featured Blog with categories, authors, comments, and pagination","Dark mode with automatic and manual switching","100/100 Google Lighthouse speed and SEO scores","All content editable via markdown, front-matter, or YAML — nothing hardcoded","Configure logo, colours, fonts, menus, header, and footer in _config.yml","SCSS + Bootstrap 5.2, no jQuery, minimal vanilla JS","Auto-generated SEO meta tags with per-page overrides","Open Graph / Twitter card meta data included","Google Analytics support and social media links","Nested dropdown menus and responsive mobile hamburger menu","Contact page with Netlify Forms and Formspree support","Disqus comments integration","Mailchimp newsletter subscribe form","Google Fonts and Font Awesome 6 icons","Works with GitHub Pages and Netlify (includes netlify.toml)","All photos, illustrations, and icons included are royalty free","Full documentation with setup and customisation guide"],"slug":"origin","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/phantom","collection":"themes","next":{"path":"_themes/pixyll.md","relative_path":"_themes/pixyll.md","excerpt":"<p>Pixyll is the minimalist’s Jekyll theme. Created by John Otander, it strips away every non-essential element and focuses entirely on making text beautiful. The result is a theme that feels effortless to read — wide margins, comfortable line height, and a typographic hierarchy that works at every screen size.</p>\n\n","previous":{"path":"_themes/phantom.md","relative_path":"_themes/phantom.md","id":"/themes/phantom","collection":"themes","url":"/themes/phantom/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Phantom Jekyll Theme","description":"A minimalist, responsive portfolio Jekyll theme with a project grid, modal image viewer, and subtle hover animations.","key_features":["Project Grid","Modal Viewer","Hover Animations","GitHub Pages"],"card_description":"Minimalist portfolio with project grid and modal image viewer.","category":"Portfolio","card_image":"/assets/images/themes/phantom-card.webp","theme_screenshots":["/assets/images/themes/phantom-screenshot.webp","/assets/images/themes/phantom-screenshot-2.webp","/assets/images/themes/phantom-screenshot-3.webp"],"demo_url":"https://jamigibbs.github.io/phantom/","github_url":"https://github.com/jamigibbs/phantom","author":"GitHub Community","github_author_name":"jamigibbs","github_author_url":"https://github.com/jamigibbs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-23","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":353,"forks":196,"features":["Project portfolio grid","Modal image lightbox","Hover animations","About page layout","Skills section","Contact form ready","Clean minimal design","GitHub Pages compatible","Mobile responsive","Custom colour scheme"],"slug":"phantom","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/pixyll","collection":"themes","next":{"path":"_themes/primer.md","relative_path":"_themes/primer.md","id":"/themes/primer","collection":"themes","url":"/themes/primer/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Primer Jekyll Theme","description":"The official GitHub Pages primer Jekyll theme. Clean, GitHub-style design with great readability — perfect for documentation and project pages.","key_features":["GitHub Style","GitHub Pages","Clean Readability","Project Docs"],"card_description":"Official GitHub Pages primer theme — clean GitHub-style for docs.","category":"Documentation","card_image":"/assets/images/themes/primer-card.webp","theme_screenshots":["/assets/images/themes/primer-screenshot.webp","/assets/images/themes/primer-screenshot-2.webp","/assets/images/themes/primer-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/primer/","github_url":"https://github.com/pages-themes/primer","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Built on GitHub Primer CSS design system","Clean neutral layout","Instantly readable typography","Single-line enable via _config.yml","Responsive layout","No local Jekyll install needed","Familiar GitHub aesthetic"],"slug":"primer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Pixyll is the minimalist's Jekyll theme. Created by John Otander, it strips away every non-essential element and focuses entirely on making text beautiful. The result is a theme that feels effortless to read — wide margins, comfortable line height, and a typographic hierarchy that works at every screen size.\n\nThe mobile-first approach means it looks just as good on a phone as a widescreen monitor. And because it carries so little visual weight, pages load instantly.\n\n**Who is it for?** Writers, essayists, and developers who believe design should get out of the way and let the words do the work.\n","url":"/themes/pixyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Pixyll Jekyll Theme","description":"A simple, beautiful Jekyll theme that puts your content first. Mobile-first, fluidly responsive, and delightfully lightweight — built around great typography and generous whitespace.","key_features":["Mobile First","Clean Typography","GitHub Pages","Lightweight"],"card_description":"Simple, beautiful theme that puts content first with generous whitespace.","category":"Blog","card_image":"/assets/images/themes/pixyll-card.webp","theme_screenshots":["/assets/images/themes/pixyll-screenshot.webp","/assets/images/themes/pixyll-screenshot-2.webp","/assets/images/themes/pixyll-screenshot-3.webp"],"demo_url":"https://pixyll.com/","github_url":"https://github.com/johno/pixyll","author":"GitHub Community","github_author_name":"johno","github_author_url":"https://github.com/johno","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"3.0.0","license":"MIT","stars":2000,"forks":700,"features":["Mobile-first responsive design","Beautiful typographic scale","Generous whitespace layout","Disqus comments","Google Analytics","Syntax highlighting","Paginated post listing","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"pixyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Phantom is a clean, minimal portfolio theme built for designers and developers who want to present their work with style. Projects are displayed in a responsive grid, with each item opening in a full modal lightbox on click.\n\nSubtle hover animations add polish without distracting from the work itself.\n\n**Who is it for?** Designers, illustrators, and developers who want a minimal portfolio with a lightbox-style project viewer.\n","url":"/themes/phantom/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Phantom Jekyll Theme","description":"A minimalist, responsive portfolio Jekyll theme with a project grid, modal image viewer, and subtle hover animations.","key_features":["Project Grid","Modal Viewer","Hover Animations","GitHub Pages"],"card_description":"Minimalist portfolio with project grid and modal image viewer.","category":"Portfolio","card_image":"/assets/images/themes/phantom-card.webp","theme_screenshots":["/assets/images/themes/phantom-screenshot.webp","/assets/images/themes/phantom-screenshot-2.webp","/assets/images/themes/phantom-screenshot-3.webp"],"demo_url":"https://jamigibbs.github.io/phantom/","github_url":"https://github.com/jamigibbs/phantom","author":"GitHub Community","github_author_name":"jamigibbs","github_author_url":"https://github.com/jamigibbs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-23","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":353,"forks":196,"features":["Project portfolio grid","Modal image lightbox","Hover animations","About page layout","Skills section","Contact form ready","Clean minimal design","GitHub Pages compatible","Mobile responsive","Custom colour scheme"],"slug":"phantom","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/pixyll.md","relative_path":"_themes/pixyll.md","excerpt":"<p>Pixyll is the minimalist’s Jekyll theme. Created by John Otander, it strips away every non-essential element and focuses entirely on making text beautiful. The result is a theme that feels effortless to read — wide margins, comfortable line height, and a typographic hierarchy that works at every screen size.</p>\n\n","previous":{"path":"_themes/phantom.md","relative_path":"_themes/phantom.md","excerpt":"<p>Phantom is a clean, minimal portfolio theme built for designers and developers who want to present their work with style. Projects are displayed in a responsive grid, with each item opening in a full modal lightbox on click.</p>\n\n","previous":{"path":"_themes/origin.md","relative_path":"_themes/origin.md","id":"/themes/origin","collection":"themes","url":"/themes/origin/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Origin Jekyll Theme","rating":4.8,"rating_count":42,"description":"A fully featured and highly configurable modern blog theme for Jekyll. Includes categories, authors, comments, pagination, dark mode, and a perfect 100/100 Google Lighthouse score.","card_description":"Modern blog theme with dark mode, authors, categories, and 100/100 Lighthouse.","price":49,"category":"Blog","card_image":"/assets/images/themes/origin-card.webp","theme_screenshots":["/assets/images/themes/origin-screenshot.webp","/assets/images/themes/origin-screenshot-2.webp","/assets/images/themes/origin-screenshot-3.webp"],"key_features":["Dark Mode","100 Lighthouse","Categories","Authors"],"demo_url":"https://jekyll-origin.netlify.app/","buy_url":"https://www.zerostatic.io/theme/jekyll-origin/","author":"Zerostatic","author_url":"https://www.zerostatic.io/","github_author_name":"Zerostatic","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.2","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2025-04-01","added_at":"2026-06-27","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"Commercial","features":["Jekyll 4.2+ support","100% responsive design with crisp imagery and beautiful typography","Fully featured Blog with categories, authors, comments, and pagination","Dark mode with automatic and manual switching","100/100 Google Lighthouse speed and SEO scores","All content editable via markdown, front-matter, or YAML — nothing hardcoded","Configure logo, colours, fonts, menus, header, and footer in _config.yml","SCSS + Bootstrap 5.2, no jQuery, minimal vanilla JS","Auto-generated SEO meta tags with per-page overrides","Open Graph / Twitter card meta data included","Google Analytics support and social media links","Nested dropdown menus and responsive mobile hamburger menu","Contact page with Netlify Forms and Formspree support","Disqus comments integration","Mailchimp newsletter subscribe form","Google Fonts and Font Awesome 6 icons","Works with GitHub Pages and Netlify (includes netlify.toml)","All photos, illustrations, and icons included are royalty free","Full documentation with setup and customisation guide"],"slug":"origin","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/phantom","collection":"themes","next":{"path":"_themes/pixyll.md","relative_path":"_themes/pixyll.md","id":"/themes/pixyll","collection":"themes","url":"/themes/pixyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Pixyll Jekyll Theme","description":"A simple, beautiful Jekyll theme that puts your content first. Mobile-first, fluidly responsive, and delightfully lightweight — built around great typography and generous whitespace.","key_features":["Mobile First","Clean Typography","GitHub Pages","Lightweight"],"card_description":"Simple, beautiful theme that puts content first with generous whitespace.","category":"Blog","card_image":"/assets/images/themes/pixyll-card.webp","theme_screenshots":["/assets/images/themes/pixyll-screenshot.webp","/assets/images/themes/pixyll-screenshot-2.webp","/assets/images/themes/pixyll-screenshot-3.webp"],"demo_url":"https://pixyll.com/","github_url":"https://github.com/johno/pixyll","author":"GitHub Community","github_author_name":"johno","github_author_url":"https://github.com/johno","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"3.0.0","license":"MIT","stars":2000,"forks":700,"features":["Mobile-first responsive design","Beautiful typographic scale","Generous whitespace layout","Disqus comments","Google Analytics","Syntax highlighting","Paginated post listing","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"pixyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Phantom is a clean, minimal portfolio theme built for designers and developers who want to present their work with style. Projects are displayed in a responsive grid, with each item opening in a full modal lightbox on click.\n\nSubtle hover animations add polish without distracting from the work itself.\n\n**Who is it for?** Designers, illustrators, and developers who want a minimal portfolio with a lightbox-style project viewer.\n","url":"/themes/phantom/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Phantom Jekyll Theme","description":"A minimalist, responsive portfolio Jekyll theme with a project grid, modal image viewer, and subtle hover animations.","key_features":["Project Grid","Modal Viewer","Hover Animations","GitHub Pages"],"card_description":"Minimalist portfolio with project grid and modal image viewer.","category":"Portfolio","card_image":"/assets/images/themes/phantom-card.webp","theme_screenshots":["/assets/images/themes/phantom-screenshot.webp","/assets/images/themes/phantom-screenshot-2.webp","/assets/images/themes/phantom-screenshot-3.webp"],"demo_url":"https://jamigibbs.github.io/phantom/","github_url":"https://github.com/jamigibbs/phantom","author":"GitHub Community","github_author_name":"jamigibbs","github_author_url":"https://github.com/jamigibbs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-23","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":353,"forks":196,"features":["Project portfolio grid","Modal image lightbox","Hover animations","About page layout","Skills section","Contact form ready","Clean minimal design","GitHub Pages compatible","Mobile responsive","Custom colour scheme"],"slug":"phantom","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/pixyll","collection":"themes","next":{"path":"_themes/primer.md","relative_path":"_themes/primer.md","excerpt":"<p>Primer is the official GitHub Pages theme built on GitHub’s own design system — the same CSS framework that powers GitHub.com. The result is a site that feels immediately familiar and credible to developers: clean, neutral, readable, and professional without being flashy.</p>\n\n","previous":{"path":"_themes/pixyll.md","relative_path":"_themes/pixyll.md","id":"/themes/pixyll","collection":"themes","url":"/themes/pixyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Pixyll Jekyll Theme","description":"A simple, beautiful Jekyll theme that puts your content first. Mobile-first, fluidly responsive, and delightfully lightweight — built around great typography and generous whitespace.","key_features":["Mobile First","Clean Typography","GitHub Pages","Lightweight"],"card_description":"Simple, beautiful theme that puts content first with generous whitespace.","category":"Blog","card_image":"/assets/images/themes/pixyll-card.webp","theme_screenshots":["/assets/images/themes/pixyll-screenshot.webp","/assets/images/themes/pixyll-screenshot-2.webp","/assets/images/themes/pixyll-screenshot-3.webp"],"demo_url":"https://pixyll.com/","github_url":"https://github.com/johno/pixyll","author":"GitHub Community","github_author_name":"johno","github_author_url":"https://github.com/johno","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"3.0.0","license":"MIT","stars":2000,"forks":700,"features":["Mobile-first responsive design","Beautiful typographic scale","Generous whitespace layout","Disqus comments","Google Analytics","Syntax highlighting","Paginated post listing","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"pixyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/primer","collection":"themes","next":{"path":"_themes/researcher.md","relative_path":"_themes/researcher.md","id":"/themes/researcher","collection":"themes","url":"/themes/researcher/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Researcher Jekyll Theme","description":"A minimal, clean Jekyll theme for a single-page academic CV. Presents your education, experience, publications, and skills in a clear, professional layout that loads instantly.","key_features":["Single-Page CV","Academic Layout","GitHub Pages","Fast Loading"],"card_description":"Minimal single-page academic CV with a clean, professional layout.","category":"Resume / CV","card_image":"/assets/images/themes/researcher-card.webp","theme_screenshots":["/assets/images/themes/researcher-screenshot.webp","/assets/images/themes/researcher-screenshot-2.webp","/assets/images/themes/researcher-screenshot-3.webp"],"demo_url":"https://ankitsultana.com/researcher/","github_url":"https://github.com/ankitsultana/researcher","author":"GitHub Community","github_author_name":"ankitsultana","github_author_url":"https://github.com/ankitsultana","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":500,"forks":400,"features":["Single-page CV layout","Education and experience sections","Publications listing","Skills and interests display","Clean monospace typography","Social and contact links","Minimal CSS footprint","Fast page load","GitHub Pages compatible","Easy YAML configuration"],"slug":"researcher","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Primer is the official GitHub Pages theme built on GitHub's own design system — the same CSS framework that powers GitHub.com. The result is a site that feels immediately familiar and credible to developers: clean, neutral, readable, and professional without being flashy.\n\nFor open-source projects that want their documentation site to feel like a natural extension of GitHub itself, Primer is the natural choice. Its single-line setup makes it one of the easiest ways to put a well-designed page on GitHub Pages.\n\n**Who is it for?** Open-source maintainers and developers who want documentation that looks authoritative and professional, with the familiar GitHub design language users already trust.\n","url":"/themes/primer/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Primer Jekyll Theme","description":"The official GitHub Pages primer Jekyll theme. Clean, GitHub-style design with great readability — perfect for documentation and project pages.","key_features":["GitHub Style","GitHub Pages","Clean Readability","Project Docs"],"card_description":"Official GitHub Pages primer theme — clean GitHub-style for docs.","category":"Documentation","card_image":"/assets/images/themes/primer-card.webp","theme_screenshots":["/assets/images/themes/primer-screenshot.webp","/assets/images/themes/primer-screenshot-2.webp","/assets/images/themes/primer-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/primer/","github_url":"https://github.com/pages-themes/primer","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Built on GitHub Primer CSS design system","Clean neutral layout","Instantly readable typography","Single-line enable via _config.yml","Responsive layout","No local Jekyll install needed","Familiar GitHub aesthetic"],"slug":"primer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Pixyll is the minimalist's Jekyll theme. Created by John Otander, it strips away every non-essential element and focuses entirely on making text beautiful. The result is a theme that feels effortless to read — wide margins, comfortable line height, and a typographic hierarchy that works at every screen size.\n\nThe mobile-first approach means it looks just as good on a phone as a widescreen monitor. And because it carries so little visual weight, pages load instantly.\n\n**Who is it for?** Writers, essayists, and developers who believe design should get out of the way and let the words do the work.\n","url":"/themes/pixyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Pixyll Jekyll Theme","description":"A simple, beautiful Jekyll theme that puts your content first. Mobile-first, fluidly responsive, and delightfully lightweight — built around great typography and generous whitespace.","key_features":["Mobile First","Clean Typography","GitHub Pages","Lightweight"],"card_description":"Simple, beautiful theme that puts content first with generous whitespace.","category":"Blog","card_image":"/assets/images/themes/pixyll-card.webp","theme_screenshots":["/assets/images/themes/pixyll-screenshot.webp","/assets/images/themes/pixyll-screenshot-2.webp","/assets/images/themes/pixyll-screenshot-3.webp"],"demo_url":"https://pixyll.com/","github_url":"https://github.com/johno/pixyll","author":"GitHub Community","github_author_name":"johno","github_author_url":"https://github.com/johno","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"3.0.0","license":"MIT","stars":2000,"forks":700,"features":["Mobile-first responsive design","Beautiful typographic scale","Generous whitespace layout","Disqus comments","Google Analytics","Syntax highlighting","Paginated post listing","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"pixyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/primer.md","relative_path":"_themes/primer.md","excerpt":"<p>Primer is the official GitHub Pages theme built on GitHub’s own design system — the same CSS framework that powers GitHub.com. The result is a site that feels immediately familiar and credible to developers: clean, neutral, readable, and professional without being flashy.</p>\n\n","previous":{"path":"_themes/pixyll.md","relative_path":"_themes/pixyll.md","excerpt":"<p>Pixyll is the minimalist’s Jekyll theme. Created by John Otander, it strips away every non-essential element and focuses entirely on making text beautiful. The result is a theme that feels effortless to read — wide margins, comfortable line height, and a typographic hierarchy that works at every screen size.</p>\n\n","previous":{"path":"_themes/phantom.md","relative_path":"_themes/phantom.md","id":"/themes/phantom","collection":"themes","url":"/themes/phantom/","draft":false,"categories":["Portfolio"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Phantom Jekyll Theme","description":"A minimalist, responsive portfolio Jekyll theme with a project grid, modal image viewer, and subtle hover animations.","key_features":["Project Grid","Modal Viewer","Hover Animations","GitHub Pages"],"card_description":"Minimalist portfolio with project grid and modal image viewer.","category":"Portfolio","card_image":"/assets/images/themes/phantom-card.webp","theme_screenshots":["/assets/images/themes/phantom-screenshot.webp","/assets/images/themes/phantom-screenshot-2.webp","/assets/images/themes/phantom-screenshot-3.webp"],"demo_url":"https://jamigibbs.github.io/phantom/","github_url":"https://github.com/jamigibbs/phantom","author":"GitHub Community","github_author_name":"jamigibbs","github_author_url":"https://github.com/jamigibbs","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed"],"updated_at":"2024-07-23","added_at":"2026-04-01","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":353,"forks":196,"features":["Project portfolio grid","Modal image lightbox","Hover animations","About page layout","Skills section","Contact form ready","Clean minimal design","GitHub Pages compatible","Mobile responsive","Custom colour scheme"],"slug":"phantom","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/pixyll","collection":"themes","next":{"path":"_themes/primer.md","relative_path":"_themes/primer.md","id":"/themes/primer","collection":"themes","url":"/themes/primer/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Primer Jekyll Theme","description":"The official GitHub Pages primer Jekyll theme. Clean, GitHub-style design with great readability — perfect for documentation and project pages.","key_features":["GitHub Style","GitHub Pages","Clean Readability","Project Docs"],"card_description":"Official GitHub Pages primer theme — clean GitHub-style for docs.","category":"Documentation","card_image":"/assets/images/themes/primer-card.webp","theme_screenshots":["/assets/images/themes/primer-screenshot.webp","/assets/images/themes/primer-screenshot-2.webp","/assets/images/themes/primer-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/primer/","github_url":"https://github.com/pages-themes/primer","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Built on GitHub Primer CSS design system","Clean neutral layout","Instantly readable typography","Single-line enable via _config.yml","Responsive layout","No local Jekyll install needed","Familiar GitHub aesthetic"],"slug":"primer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Pixyll is the minimalist's Jekyll theme. Created by John Otander, it strips away every non-essential element and focuses entirely on making text beautiful. The result is a theme that feels effortless to read — wide margins, comfortable line height, and a typographic hierarchy that works at every screen size.\n\nThe mobile-first approach means it looks just as good on a phone as a widescreen monitor. And because it carries so little visual weight, pages load instantly.\n\n**Who is it for?** Writers, essayists, and developers who believe design should get out of the way and let the words do the work.\n","url":"/themes/pixyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Pixyll Jekyll Theme","description":"A simple, beautiful Jekyll theme that puts your content first. Mobile-first, fluidly responsive, and delightfully lightweight — built around great typography and generous whitespace.","key_features":["Mobile First","Clean Typography","GitHub Pages","Lightweight"],"card_description":"Simple, beautiful theme that puts content first with generous whitespace.","category":"Blog","card_image":"/assets/images/themes/pixyll-card.webp","theme_screenshots":["/assets/images/themes/pixyll-screenshot.webp","/assets/images/themes/pixyll-screenshot-2.webp","/assets/images/themes/pixyll-screenshot-3.webp"],"demo_url":"https://pixyll.com/","github_url":"https://github.com/johno/pixyll","author":"GitHub Community","github_author_name":"johno","github_author_url":"https://github.com/johno","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"3.0.0","license":"MIT","stars":2000,"forks":700,"features":["Mobile-first responsive design","Beautiful typographic scale","Generous whitespace layout","Disqus comments","Google Analytics","Syntax highlighting","Paginated post listing","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"pixyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/primer","collection":"themes","next":{"path":"_themes/researcher.md","relative_path":"_themes/researcher.md","excerpt":"<p>Researcher is the no-nonsense option for academics who want a clean, single-page CV on the web. Where Academic Pages gives you an entire multi-page website, Researcher keeps everything on one page — education, experience, publications, skills, and contact — in a clean, minimal layout that loads instantly and looks professional everywhere.</p>\n\n","previous":{"path":"_themes/primer.md","relative_path":"_themes/primer.md","id":"/themes/primer","collection":"themes","url":"/themes/primer/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Primer Jekyll Theme","description":"The official GitHub Pages primer Jekyll theme. Clean, GitHub-style design with great readability — perfect for documentation and project pages.","key_features":["GitHub Style","GitHub Pages","Clean Readability","Project Docs"],"card_description":"Official GitHub Pages primer theme — clean GitHub-style for docs.","category":"Documentation","card_image":"/assets/images/themes/primer-card.webp","theme_screenshots":["/assets/images/themes/primer-screenshot.webp","/assets/images/themes/primer-screenshot-2.webp","/assets/images/themes/primer-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/primer/","github_url":"https://github.com/pages-themes/primer","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Built on GitHub Primer CSS design system","Clean neutral layout","Instantly readable typography","Single-line enable via _config.yml","Responsive layout","No local Jekyll install needed","Familiar GitHub aesthetic"],"slug":"primer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/researcher","collection":"themes","next":{"path":"_themes/reverie.md","relative_path":"_themes/reverie.md","id":"/themes/reverie","collection":"themes","url":"/themes/reverie/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Reverie Jekyll Theme","description":"A ridiculously elegant, fully responsive Jekyll blog theme based on Poole. Supports categories, tags, Disqus comments, and Google Analytics.","key_features":["Category Pages","Tag Support","GitHub Pages","Disqus Comments"],"card_description":"Elegantly responsive blog based on Poole with categories and tags.","category":"Blog","card_image":"/assets/images/themes/reverie-card.webp","theme_screenshots":["/assets/images/themes/reverie-screenshot.webp","/assets/images/themes/reverie-screenshot-2.webp","/assets/images/themes/reverie-screenshot-3.webp"],"demo_url":"https://reverie.amitmerchant.com/","github_url":"https://github.com/amitmerchant1990/reverie","author":"GitHub Community","github_author_name":"amitmerchant1990","github_author_url":"https://github.com/amitmerchant1990","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-03-23","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":842,"forks":418,"features":["Elegant minimal layout","Category and tag pages","Disqus comments","Google Analytics","GitHub Pages compatible","Paginated archive","Social sharing buttons","SEO optimised","RSS feed","Mobile friendly"],"slug":"reverie","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Researcher is the no-nonsense option for academics who want a clean, single-page CV on the web. Where Academic Pages gives you an entire multi-page website, Researcher keeps everything on one page — education, experience, publications, skills, and contact — in a clean, minimal layout that loads instantly and looks professional everywhere.\n\nThe monospace typography gives it a subtle technical identity without being gimmicky, and the straightforward YAML configuration means you can have it set up and deployed in under an hour.\n\n**Who is it for?** Academics, researchers, and PhD students who want a simple, fast, single-page CV site without the complexity of a full academic website.\n","url":"/themes/researcher/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Researcher Jekyll Theme","description":"A minimal, clean Jekyll theme for a single-page academic CV. Presents your education, experience, publications, and skills in a clear, professional layout that loads instantly.","key_features":["Single-Page CV","Academic Layout","GitHub Pages","Fast Loading"],"card_description":"Minimal single-page academic CV with a clean, professional layout.","category":"Resume / CV","card_image":"/assets/images/themes/researcher-card.webp","theme_screenshots":["/assets/images/themes/researcher-screenshot.webp","/assets/images/themes/researcher-screenshot-2.webp","/assets/images/themes/researcher-screenshot-3.webp"],"demo_url":"https://ankitsultana.com/researcher/","github_url":"https://github.com/ankitsultana/researcher","author":"GitHub Community","github_author_name":"ankitsultana","github_author_url":"https://github.com/ankitsultana","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":500,"forks":400,"features":["Single-page CV layout","Education and experience sections","Publications listing","Skills and interests display","Clean monospace typography","Social and contact links","Minimal CSS footprint","Fast page load","GitHub Pages compatible","Easy YAML configuration"],"slug":"researcher","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Primer is the official GitHub Pages theme built on GitHub's own design system — the same CSS framework that powers GitHub.com. The result is a site that feels immediately familiar and credible to developers: clean, neutral, readable, and professional without being flashy.\n\nFor open-source projects that want their documentation site to feel like a natural extension of GitHub itself, Primer is the natural choice. Its single-line setup makes it one of the easiest ways to put a well-designed page on GitHub Pages.\n\n**Who is it for?** Open-source maintainers and developers who want documentation that looks authoritative and professional, with the familiar GitHub design language users already trust.\n","url":"/themes/primer/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Primer Jekyll Theme","description":"The official GitHub Pages primer Jekyll theme. Clean, GitHub-style design with great readability — perfect for documentation and project pages.","key_features":["GitHub Style","GitHub Pages","Clean Readability","Project Docs"],"card_description":"Official GitHub Pages primer theme — clean GitHub-style for docs.","category":"Documentation","card_image":"/assets/images/themes/primer-card.webp","theme_screenshots":["/assets/images/themes/primer-screenshot.webp","/assets/images/themes/primer-screenshot-2.webp","/assets/images/themes/primer-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/primer/","github_url":"https://github.com/pages-themes/primer","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Built on GitHub Primer CSS design system","Clean neutral layout","Instantly readable typography","Single-line enable via _config.yml","Responsive layout","No local Jekyll install needed","Familiar GitHub aesthetic"],"slug":"primer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/researcher.md","relative_path":"_themes/researcher.md","excerpt":"<p>Researcher is the no-nonsense option for academics who want a clean, single-page CV on the web. Where Academic Pages gives you an entire multi-page website, Researcher keeps everything on one page — education, experience, publications, skills, and contact — in a clean, minimal layout that loads instantly and looks professional everywhere.</p>\n\n","previous":{"path":"_themes/primer.md","relative_path":"_themes/primer.md","excerpt":"<p>Primer is the official GitHub Pages theme built on GitHub’s own design system — the same CSS framework that powers GitHub.com. The result is a site that feels immediately familiar and credible to developers: clean, neutral, readable, and professional without being flashy.</p>\n\n","previous":{"path":"_themes/pixyll.md","relative_path":"_themes/pixyll.md","id":"/themes/pixyll","collection":"themes","url":"/themes/pixyll/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Pixyll Jekyll Theme","description":"A simple, beautiful Jekyll theme that puts your content first. Mobile-first, fluidly responsive, and delightfully lightweight — built around great typography and generous whitespace.","key_features":["Mobile First","Clean Typography","GitHub Pages","Lightweight"],"card_description":"Simple, beautiful theme that puts content first with generous whitespace.","category":"Blog","card_image":"/assets/images/themes/pixyll-card.webp","theme_screenshots":["/assets/images/themes/pixyll-screenshot.webp","/assets/images/themes/pixyll-screenshot-2.webp","/assets/images/themes/pixyll-screenshot-3.webp"],"demo_url":"https://pixyll.com/","github_url":"https://github.com/johno/pixyll","author":"GitHub Community","github_author_name":"johno","github_author_url":"https://github.com/johno","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"3.0.0","license":"MIT","stars":2000,"forks":700,"features":["Mobile-first responsive design","Beautiful typographic scale","Generous whitespace layout","Disqus comments","Google Analytics","Syntax highlighting","Paginated post listing","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"pixyll","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/primer","collection":"themes","next":{"path":"_themes/researcher.md","relative_path":"_themes/researcher.md","id":"/themes/researcher","collection":"themes","url":"/themes/researcher/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Researcher Jekyll Theme","description":"A minimal, clean Jekyll theme for a single-page academic CV. Presents your education, experience, publications, and skills in a clear, professional layout that loads instantly.","key_features":["Single-Page CV","Academic Layout","GitHub Pages","Fast Loading"],"card_description":"Minimal single-page academic CV with a clean, professional layout.","category":"Resume / CV","card_image":"/assets/images/themes/researcher-card.webp","theme_screenshots":["/assets/images/themes/researcher-screenshot.webp","/assets/images/themes/researcher-screenshot-2.webp","/assets/images/themes/researcher-screenshot-3.webp"],"demo_url":"https://ankitsultana.com/researcher/","github_url":"https://github.com/ankitsultana/researcher","author":"GitHub Community","github_author_name":"ankitsultana","github_author_url":"https://github.com/ankitsultana","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":500,"forks":400,"features":["Single-page CV layout","Education and experience sections","Publications listing","Skills and interests display","Clean monospace typography","Social and contact links","Minimal CSS footprint","Fast page load","GitHub Pages compatible","Easy YAML configuration"],"slug":"researcher","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Primer is the official GitHub Pages theme built on GitHub's own design system — the same CSS framework that powers GitHub.com. The result is a site that feels immediately familiar and credible to developers: clean, neutral, readable, and professional without being flashy.\n\nFor open-source projects that want their documentation site to feel like a natural extension of GitHub itself, Primer is the natural choice. Its single-line setup makes it one of the easiest ways to put a well-designed page on GitHub Pages.\n\n**Who is it for?** Open-source maintainers and developers who want documentation that looks authoritative and professional, with the familiar GitHub design language users already trust.\n","url":"/themes/primer/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Primer Jekyll Theme","description":"The official GitHub Pages primer Jekyll theme. Clean, GitHub-style design with great readability — perfect for documentation and project pages.","key_features":["GitHub Style","GitHub Pages","Clean Readability","Project Docs"],"card_description":"Official GitHub Pages primer theme — clean GitHub-style for docs.","category":"Documentation","card_image":"/assets/images/themes/primer-card.webp","theme_screenshots":["/assets/images/themes/primer-screenshot.webp","/assets/images/themes/primer-screenshot-2.webp","/assets/images/themes/primer-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/primer/","github_url":"https://github.com/pages-themes/primer","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Built on GitHub Primer CSS design system","Clean neutral layout","Instantly readable typography","Single-line enable via _config.yml","Responsive layout","No local Jekyll install needed","Familiar GitHub aesthetic"],"slug":"primer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/researcher","collection":"themes","next":{"path":"_themes/reverie.md","relative_path":"_themes/reverie.md","excerpt":"<p>Reverie is a fork of the classic Poole theme, polished into an elegant blogging experience by Amit Merchant. It retains Poole’s clean, spacious feel while adding practical features like category/tag pages, Disqus integration, and pagination.</p>\n\n","previous":{"path":"_themes/researcher.md","relative_path":"_themes/researcher.md","id":"/themes/researcher","collection":"themes","url":"/themes/researcher/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Researcher Jekyll Theme","description":"A minimal, clean Jekyll theme for a single-page academic CV. Presents your education, experience, publications, and skills in a clear, professional layout that loads instantly.","key_features":["Single-Page CV","Academic Layout","GitHub Pages","Fast Loading"],"card_description":"Minimal single-page academic CV with a clean, professional layout.","category":"Resume / CV","card_image":"/assets/images/themes/researcher-card.webp","theme_screenshots":["/assets/images/themes/researcher-screenshot.webp","/assets/images/themes/researcher-screenshot-2.webp","/assets/images/themes/researcher-screenshot-3.webp"],"demo_url":"https://ankitsultana.com/researcher/","github_url":"https://github.com/ankitsultana/researcher","author":"GitHub Community","github_author_name":"ankitsultana","github_author_url":"https://github.com/ankitsultana","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":500,"forks":400,"features":["Single-page CV layout","Education and experience sections","Publications listing","Skills and interests display","Clean monospace typography","Social and contact links","Minimal CSS footprint","Fast page load","GitHub Pages compatible","Easy YAML configuration"],"slug":"researcher","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/reverie","collection":"themes","next":{"path":"_themes/sandbox.md","relative_path":"_themes/sandbox.md","id":"/themes/sandbox","collection":"themes","url":"/themes/sandbox/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Sandbox Jekyll Theme","rating":4.8,"rating_count":56,"description":"A massive multipurpose Jekyll theme with 27 home pages, 130+ ready-to-use blocks, and 250+ UI elements. Built with Bootstrap 5 and zero jQuery — perfect for startups, SaaS, agencies, portfolios, and eCommerce sites.","card_description":"Multipurpose theme — 27 homepages, 130+ blocks, 250+ UI elements, Bootstrap 5.","price":99,"category":"Business","card_image":"/assets/images/themes/sandbox-card.webp","theme_screenshots":["/assets/images/themes/sandbox-screenshot.webp","/assets/images/themes/sandbox-screenshot-2.webp","/assets/images/themes/sandbox-screenshot-3.webp"],"key_features":["27 Home Pages","130+ Blocks","No jQuery","Video Backgrounds"],"demo_url":"https://sandbox.tortoizthemes.com/demo28/","buy_url":"https://tortoizthemes.com/theme/sandbox/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-06-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":true,"version":"2.0.0","license":"Commercial","features":["27 unique home pages and landing pages for every use case","130+ pre-made ready-to-use blocks — mix and match freely","250+ beautiful UI elements included","100+ neatly coded pages","Gulp, Bootstrap 5, and SASS — zero jQuery dependency","Valid HTML5 and CSS3 with thorough documentation","Fully responsive and retina-ready","Modern and eye-catching portfolio layouts with Isotope.js filtering","One-page layout option with smooth scroll","Various header and menu options including mega menu (light and dark)","Offcanvas mobile menu and info panel","Sticky header and footer","Notification bar and modal popup","Scroll animations with scrollCue.js","Swiper.js sliders with animated captions","Image and video background options (HTML5, YouTube, Vimeo via Plyr)","Lightbox for images and videos","Contact form without page refresh","Mailchimp newsletter integration","Duotone and font icon options with high-quality retina icon sets","Color and font options for brand customisation"],"slug":"sandbox","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Reverie is a fork of the classic Poole theme, polished into an elegant blogging experience by Amit Merchant. It retains Poole's clean, spacious feel while adding practical features like category/tag pages, Disqus integration, and pagination.\n\nThe setup is deliberately simple — fork the repo, update `_config.yml`, and you're live on GitHub Pages in minutes.\n\n**Who is it for?** Writers who want an elegant, low-maintenance blog that deploys straight to GitHub Pages.\n","url":"/themes/reverie/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Reverie Jekyll Theme","description":"A ridiculously elegant, fully responsive Jekyll blog theme based on Poole. Supports categories, tags, Disqus comments, and Google Analytics.","key_features":["Category Pages","Tag Support","GitHub Pages","Disqus Comments"],"card_description":"Elegantly responsive blog based on Poole with categories and tags.","category":"Blog","card_image":"/assets/images/themes/reverie-card.webp","theme_screenshots":["/assets/images/themes/reverie-screenshot.webp","/assets/images/themes/reverie-screenshot-2.webp","/assets/images/themes/reverie-screenshot-3.webp"],"demo_url":"https://reverie.amitmerchant.com/","github_url":"https://github.com/amitmerchant1990/reverie","author":"GitHub Community","github_author_name":"amitmerchant1990","github_author_url":"https://github.com/amitmerchant1990","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-03-23","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":842,"forks":418,"features":["Elegant minimal layout","Category and tag pages","Disqus comments","Google Analytics","GitHub Pages compatible","Paginated archive","Social sharing buttons","SEO optimised","RSS feed","Mobile friendly"],"slug":"reverie","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Researcher is the no-nonsense option for academics who want a clean, single-page CV on the web. Where Academic Pages gives you an entire multi-page website, Researcher keeps everything on one page — education, experience, publications, skills, and contact — in a clean, minimal layout that loads instantly and looks professional everywhere.\n\nThe monospace typography gives it a subtle technical identity without being gimmicky, and the straightforward YAML configuration means you can have it set up and deployed in under an hour.\n\n**Who is it for?** Academics, researchers, and PhD students who want a simple, fast, single-page CV site without the complexity of a full academic website.\n","url":"/themes/researcher/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Researcher Jekyll Theme","description":"A minimal, clean Jekyll theme for a single-page academic CV. Presents your education, experience, publications, and skills in a clear, professional layout that loads instantly.","key_features":["Single-Page CV","Academic Layout","GitHub Pages","Fast Loading"],"card_description":"Minimal single-page academic CV with a clean, professional layout.","category":"Resume / CV","card_image":"/assets/images/themes/researcher-card.webp","theme_screenshots":["/assets/images/themes/researcher-screenshot.webp","/assets/images/themes/researcher-screenshot-2.webp","/assets/images/themes/researcher-screenshot-3.webp"],"demo_url":"https://ankitsultana.com/researcher/","github_url":"https://github.com/ankitsultana/researcher","author":"GitHub Community","github_author_name":"ankitsultana","github_author_url":"https://github.com/ankitsultana","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":500,"forks":400,"features":["Single-page CV layout","Education and experience sections","Publications listing","Skills and interests display","Clean monospace typography","Social and contact links","Minimal CSS footprint","Fast page load","GitHub Pages compatible","Easy YAML configuration"],"slug":"researcher","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/reverie.md","relative_path":"_themes/reverie.md","excerpt":"<p>Reverie is a fork of the classic Poole theme, polished into an elegant blogging experience by Amit Merchant. It retains Poole’s clean, spacious feel while adding practical features like category/tag pages, Disqus integration, and pagination.</p>\n\n","previous":{"path":"_themes/researcher.md","relative_path":"_themes/researcher.md","excerpt":"<p>Researcher is the no-nonsense option for academics who want a clean, single-page CV on the web. Where Academic Pages gives you an entire multi-page website, Researcher keeps everything on one page — education, experience, publications, skills, and contact — in a clean, minimal layout that loads instantly and looks professional everywhere.</p>\n\n","previous":{"path":"_themes/primer.md","relative_path":"_themes/primer.md","id":"/themes/primer","collection":"themes","url":"/themes/primer/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Primer Jekyll Theme","description":"The official GitHub Pages primer Jekyll theme. Clean, GitHub-style design with great readability — perfect for documentation and project pages.","key_features":["GitHub Style","GitHub Pages","Clean Readability","Project Docs"],"card_description":"Official GitHub Pages primer theme — clean GitHub-style for docs.","category":"Documentation","card_image":"/assets/images/themes/primer-card.webp","theme_screenshots":["/assets/images/themes/primer-screenshot.webp","/assets/images/themes/primer-screenshot-2.webp","/assets/images/themes/primer-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/primer/","github_url":"https://github.com/pages-themes/primer","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":600,"forks":500,"features":["Official GitHub Pages supported theme","Built on GitHub Primer CSS design system","Clean neutral layout","Instantly readable typography","Single-line enable via _config.yml","Responsive layout","No local Jekyll install needed","Familiar GitHub aesthetic"],"slug":"primer","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/researcher","collection":"themes","next":{"path":"_themes/reverie.md","relative_path":"_themes/reverie.md","id":"/themes/reverie","collection":"themes","url":"/themes/reverie/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Reverie Jekyll Theme","description":"A ridiculously elegant, fully responsive Jekyll blog theme based on Poole. Supports categories, tags, Disqus comments, and Google Analytics.","key_features":["Category Pages","Tag Support","GitHub Pages","Disqus Comments"],"card_description":"Elegantly responsive blog based on Poole with categories and tags.","category":"Blog","card_image":"/assets/images/themes/reverie-card.webp","theme_screenshots":["/assets/images/themes/reverie-screenshot.webp","/assets/images/themes/reverie-screenshot-2.webp","/assets/images/themes/reverie-screenshot-3.webp"],"demo_url":"https://reverie.amitmerchant.com/","github_url":"https://github.com/amitmerchant1990/reverie","author":"GitHub Community","github_author_name":"amitmerchant1990","github_author_url":"https://github.com/amitmerchant1990","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-03-23","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":842,"forks":418,"features":["Elegant minimal layout","Category and tag pages","Disqus comments","Google Analytics","GitHub Pages compatible","Paginated archive","Social sharing buttons","SEO optimised","RSS feed","Mobile friendly"],"slug":"reverie","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Researcher is the no-nonsense option for academics who want a clean, single-page CV on the web. Where Academic Pages gives you an entire multi-page website, Researcher keeps everything on one page — education, experience, publications, skills, and contact — in a clean, minimal layout that loads instantly and looks professional everywhere.\n\nThe monospace typography gives it a subtle technical identity without being gimmicky, and the straightforward YAML configuration means you can have it set up and deployed in under an hour.\n\n**Who is it for?** Academics, researchers, and PhD students who want a simple, fast, single-page CV site without the complexity of a full academic website.\n","url":"/themes/researcher/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Researcher Jekyll Theme","description":"A minimal, clean Jekyll theme for a single-page academic CV. Presents your education, experience, publications, and skills in a clear, professional layout that loads instantly.","key_features":["Single-Page CV","Academic Layout","GitHub Pages","Fast Loading"],"card_description":"Minimal single-page academic CV with a clean, professional layout.","category":"Resume / CV","card_image":"/assets/images/themes/researcher-card.webp","theme_screenshots":["/assets/images/themes/researcher-screenshot.webp","/assets/images/themes/researcher-screenshot-2.webp","/assets/images/themes/researcher-screenshot-3.webp"],"demo_url":"https://ankitsultana.com/researcher/","github_url":"https://github.com/ankitsultana/researcher","author":"GitHub Community","github_author_name":"ankitsultana","github_author_url":"https://github.com/ankitsultana","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":500,"forks":400,"features":["Single-page CV layout","Education and experience sections","Publications listing","Skills and interests display","Clean monospace typography","Social and contact links","Minimal CSS footprint","Fast page load","GitHub Pages compatible","Easy YAML configuration"],"slug":"researcher","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/reverie","collection":"themes","next":{"path":"_themes/sandbox.md","relative_path":"_themes/sandbox.md","excerpt":"<p>Sandbox is the most comprehensive Jekyll theme in this collection. With 27 home pages, 130+ UI blocks, and 250+ individual elements, it is less a theme and more a complete design system — one that can produce any type of website from the same codebase.</p>\n\n","previous":{"path":"_themes/reverie.md","relative_path":"_themes/reverie.md","id":"/themes/reverie","collection":"themes","url":"/themes/reverie/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Reverie Jekyll Theme","description":"A ridiculously elegant, fully responsive Jekyll blog theme based on Poole. Supports categories, tags, Disqus comments, and Google Analytics.","key_features":["Category Pages","Tag Support","GitHub Pages","Disqus Comments"],"card_description":"Elegantly responsive blog based on Poole with categories and tags.","category":"Blog","card_image":"/assets/images/themes/reverie-card.webp","theme_screenshots":["/assets/images/themes/reverie-screenshot.webp","/assets/images/themes/reverie-screenshot-2.webp","/assets/images/themes/reverie-screenshot-3.webp"],"demo_url":"https://reverie.amitmerchant.com/","github_url":"https://github.com/amitmerchant1990/reverie","author":"GitHub Community","github_author_name":"amitmerchant1990","github_author_url":"https://github.com/amitmerchant1990","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-03-23","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":842,"forks":418,"features":["Elegant minimal layout","Category and tag pages","Disqus comments","Google Analytics","GitHub Pages compatible","Paginated archive","Social sharing buttons","SEO optimised","RSS feed","Mobile friendly"],"slug":"reverie","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/sandbox","collection":"themes","next":{"path":"_themes/scriptor.md","relative_path":"_themes/scriptor.md","id":"/themes/scriptor","collection":"themes","url":"/themes/scriptor/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Scriptor Jekyll Theme","description":"A minimal, clean, and modern Jekyll theme for writers and bloggers. Elegant typography, featured images, and a distraction-free reading layout built for long-form content.","key_features":["Writer Focused","Featured Images","Minimal Design","GitHub Pages"],"card_description":"Minimal, modern theme for writers with elegant typography.","category":"Blog","card_image":"/assets/images/themes/scriptor-card.webp","theme_screenshots":["/assets/images/themes/scriptor-screenshot.webp","/assets/images/themes/scriptor-screenshot-2.webp","/assets/images/themes/scriptor-screenshot-3.webp"],"demo_url":"https://scriptor-jekyll.netlify.app/","github_url":"https://github.com/JustGoodThemes/Scriptor-Jekyll-Theme","author":"GitHub Community","github_author_name":"JustGoodThemes","github_author_url":"https://github.com/JustGoodThemes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":183,"forks":120,"features":["Clean minimal blog layout","Featured images per post","Elegant typographic scale","Paginated post listing","Category and tag support","Disqus comments","Google Analytics","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"scriptor","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Sandbox is the most comprehensive Jekyll theme in this collection. With 27 home pages, 130+ UI blocks, and 250+ individual elements, it is less a theme and more a complete design system — one that can produce any type of website from the same codebase.\n\n### Built for Every Use Case\n\nThe 27 pre-built home pages cover the full spectrum of modern website types: SaaS platforms, startup landing pages, creative agency sites, personal portfolios, photography showcases, eCommerce storefronts, blog/journal sites, wedding pages, and travel sites. Each is production-ready and fully customisable through SCSS variables and config files.\n\n### Block-Based Building\n\nThe 130+ block library is where Sandbox earns its \"Sandbox\" name. Every block — hero, features, pricing, testimonials, portfolio grid, CTA, contact — is a standalone, droppable section. Combine them to create custom page layouts without writing HTML. The 250+ UI elements include buttons, cards, badges, tabs, accordions, progress bars, and more.\n\n### Modern Technical Foundation\n\nBuilt on Bootstrap 5 with Gulp and SASS, and containing zero jQuery, Sandbox loads fast and scores well on Core Web Vitals. Interactive features come from purpose-built libraries: Swiper.js for sliders, Isotope.js for filterable galleries, scrollCue.js for scroll animations, and Plyr for video backgrounds and embedded media (YouTube and Vimeo supported).\n\n**Who is it for?** Agencies or developers who need one theme that can build anything — and who want to stop buying a new theme for every new client project.\n","url":"/themes/sandbox/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Sandbox Jekyll Theme","rating":4.8,"rating_count":56,"description":"A massive multipurpose Jekyll theme with 27 home pages, 130+ ready-to-use blocks, and 250+ UI elements. Built with Bootstrap 5 and zero jQuery — perfect for startups, SaaS, agencies, portfolios, and eCommerce sites.","card_description":"Multipurpose theme — 27 homepages, 130+ blocks, 250+ UI elements, Bootstrap 5.","price":99,"category":"Business","card_image":"/assets/images/themes/sandbox-card.webp","theme_screenshots":["/assets/images/themes/sandbox-screenshot.webp","/assets/images/themes/sandbox-screenshot-2.webp","/assets/images/themes/sandbox-screenshot-3.webp"],"key_features":["27 Home Pages","130+ Blocks","No jQuery","Video Backgrounds"],"demo_url":"https://sandbox.tortoizthemes.com/demo28/","buy_url":"https://tortoizthemes.com/theme/sandbox/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-06-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":true,"version":"2.0.0","license":"Commercial","features":["27 unique home pages and landing pages for every use case","130+ pre-made ready-to-use blocks — mix and match freely","250+ beautiful UI elements included","100+ neatly coded pages","Gulp, Bootstrap 5, and SASS — zero jQuery dependency","Valid HTML5 and CSS3 with thorough documentation","Fully responsive and retina-ready","Modern and eye-catching portfolio layouts with Isotope.js filtering","One-page layout option with smooth scroll","Various header and menu options including mega menu (light and dark)","Offcanvas mobile menu and info panel","Sticky header and footer","Notification bar and modal popup","Scroll animations with scrollCue.js","Swiper.js sliders with animated captions","Image and video background options (HTML5, YouTube, Vimeo via Plyr)","Lightbox for images and videos","Contact form without page refresh","Mailchimp newsletter integration","Duotone and font icon options with high-quality retina icon sets","Color and font options for brand customisation"],"slug":"sandbox","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Reverie is a fork of the classic Poole theme, polished into an elegant blogging experience by Amit Merchant. It retains Poole's clean, spacious feel while adding practical features like category/tag pages, Disqus integration, and pagination.\n\nThe setup is deliberately simple — fork the repo, update `_config.yml`, and you're live on GitHub Pages in minutes.\n\n**Who is it for?** Writers who want an elegant, low-maintenance blog that deploys straight to GitHub Pages.\n","url":"/themes/reverie/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Reverie Jekyll Theme","description":"A ridiculously elegant, fully responsive Jekyll blog theme based on Poole. Supports categories, tags, Disqus comments, and Google Analytics.","key_features":["Category Pages","Tag Support","GitHub Pages","Disqus Comments"],"card_description":"Elegantly responsive blog based on Poole with categories and tags.","category":"Blog","card_image":"/assets/images/themes/reverie-card.webp","theme_screenshots":["/assets/images/themes/reverie-screenshot.webp","/assets/images/themes/reverie-screenshot-2.webp","/assets/images/themes/reverie-screenshot-3.webp"],"demo_url":"https://reverie.amitmerchant.com/","github_url":"https://github.com/amitmerchant1990/reverie","author":"GitHub Community","github_author_name":"amitmerchant1990","github_author_url":"https://github.com/amitmerchant1990","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-03-23","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":842,"forks":418,"features":["Elegant minimal layout","Category and tag pages","Disqus comments","Google Analytics","GitHub Pages compatible","Paginated archive","Social sharing buttons","SEO optimised","RSS feed","Mobile friendly"],"slug":"reverie","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/sandbox.md","relative_path":"_themes/sandbox.md","excerpt":"<p>Sandbox is the most comprehensive Jekyll theme in this collection. With 27 home pages, 130+ UI blocks, and 250+ individual elements, it is less a theme and more a complete design system — one that can produce any type of website from the same codebase.</p>\n\n","previous":{"path":"_themes/reverie.md","relative_path":"_themes/reverie.md","excerpt":"<p>Reverie is a fork of the classic Poole theme, polished into an elegant blogging experience by Amit Merchant. It retains Poole’s clean, spacious feel while adding practical features like category/tag pages, Disqus integration, and pagination.</p>\n\n","previous":{"path":"_themes/researcher.md","relative_path":"_themes/researcher.md","id":"/themes/researcher","collection":"themes","url":"/themes/researcher/","draft":false,"categories":["Resume / CV"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Researcher Jekyll Theme","description":"A minimal, clean Jekyll theme for a single-page academic CV. Presents your education, experience, publications, and skills in a clear, professional layout that loads instantly.","key_features":["Single-Page CV","Academic Layout","GitHub Pages","Fast Loading"],"card_description":"Minimal single-page academic CV with a clean, professional layout.","category":"Resume / CV","card_image":"/assets/images/themes/researcher-card.webp","theme_screenshots":["/assets/images/themes/researcher-screenshot.webp","/assets/images/themes/researcher-screenshot-2.webp","/assets/images/themes/researcher-screenshot-3.webp"],"demo_url":"https://ankitsultana.com/researcher/","github_url":"https://github.com/ankitsultana/researcher","author":"GitHub Community","github_author_name":"ankitsultana","github_author_url":"https://github.com/ankitsultana","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":500,"forks":400,"features":["Single-page CV layout","Education and experience sections","Publications listing","Skills and interests display","Clean monospace typography","Social and contact links","Minimal CSS footprint","Fast page load","GitHub Pages compatible","Easy YAML configuration"],"slug":"researcher","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/reverie","collection":"themes","next":{"path":"_themes/sandbox.md","relative_path":"_themes/sandbox.md","id":"/themes/sandbox","collection":"themes","url":"/themes/sandbox/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Sandbox Jekyll Theme","rating":4.8,"rating_count":56,"description":"A massive multipurpose Jekyll theme with 27 home pages, 130+ ready-to-use blocks, and 250+ UI elements. Built with Bootstrap 5 and zero jQuery — perfect for startups, SaaS, agencies, portfolios, and eCommerce sites.","card_description":"Multipurpose theme — 27 homepages, 130+ blocks, 250+ UI elements, Bootstrap 5.","price":99,"category":"Business","card_image":"/assets/images/themes/sandbox-card.webp","theme_screenshots":["/assets/images/themes/sandbox-screenshot.webp","/assets/images/themes/sandbox-screenshot-2.webp","/assets/images/themes/sandbox-screenshot-3.webp"],"key_features":["27 Home Pages","130+ Blocks","No jQuery","Video Backgrounds"],"demo_url":"https://sandbox.tortoizthemes.com/demo28/","buy_url":"https://tortoizthemes.com/theme/sandbox/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-06-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":true,"version":"2.0.0","license":"Commercial","features":["27 unique home pages and landing pages for every use case","130+ pre-made ready-to-use blocks — mix and match freely","250+ beautiful UI elements included","100+ neatly coded pages","Gulp, Bootstrap 5, and SASS — zero jQuery dependency","Valid HTML5 and CSS3 with thorough documentation","Fully responsive and retina-ready","Modern and eye-catching portfolio layouts with Isotope.js filtering","One-page layout option with smooth scroll","Various header and menu options including mega menu (light and dark)","Offcanvas mobile menu and info panel","Sticky header and footer","Notification bar and modal popup","Scroll animations with scrollCue.js","Swiper.js sliders with animated captions","Image and video background options (HTML5, YouTube, Vimeo via Plyr)","Lightbox for images and videos","Contact form without page refresh","Mailchimp newsletter integration","Duotone and font icon options with high-quality retina icon sets","Color and font options for brand customisation"],"slug":"sandbox","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Reverie is a fork of the classic Poole theme, polished into an elegant blogging experience by Amit Merchant. It retains Poole's clean, spacious feel while adding practical features like category/tag pages, Disqus integration, and pagination.\n\nThe setup is deliberately simple — fork the repo, update `_config.yml`, and you're live on GitHub Pages in minutes.\n\n**Who is it for?** Writers who want an elegant, low-maintenance blog that deploys straight to GitHub Pages.\n","url":"/themes/reverie/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Reverie Jekyll Theme","description":"A ridiculously elegant, fully responsive Jekyll blog theme based on Poole. Supports categories, tags, Disqus comments, and Google Analytics.","key_features":["Category Pages","Tag Support","GitHub Pages","Disqus Comments"],"card_description":"Elegantly responsive blog based on Poole with categories and tags.","category":"Blog","card_image":"/assets/images/themes/reverie-card.webp","theme_screenshots":["/assets/images/themes/reverie-screenshot.webp","/assets/images/themes/reverie-screenshot-2.webp","/assets/images/themes/reverie-screenshot-3.webp"],"demo_url":"https://reverie.amitmerchant.com/","github_url":"https://github.com/amitmerchant1990/reverie","author":"GitHub Community","github_author_name":"amitmerchant1990","github_author_url":"https://github.com/amitmerchant1990","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-03-23","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":842,"forks":418,"features":["Elegant minimal layout","Category and tag pages","Disqus comments","Google Analytics","GitHub Pages compatible","Paginated archive","Social sharing buttons","SEO optimised","RSS feed","Mobile friendly"],"slug":"reverie","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/sandbox","collection":"themes","next":{"path":"_themes/scriptor.md","relative_path":"_themes/scriptor.md","excerpt":"<p>Scriptor is a minimal Jekyll theme from JustGoodThemes built around clean typography and distraction-free reading. Its simple single-column layout keeps the focus entirely on the writing, while featured images give each post a visual anchor without overwhelming the content.</p>\n\n","previous":{"path":"_themes/sandbox.md","relative_path":"_themes/sandbox.md","id":"/themes/sandbox","collection":"themes","url":"/themes/sandbox/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Sandbox Jekyll Theme","rating":4.8,"rating_count":56,"description":"A massive multipurpose Jekyll theme with 27 home pages, 130+ ready-to-use blocks, and 250+ UI elements. Built with Bootstrap 5 and zero jQuery — perfect for startups, SaaS, agencies, portfolios, and eCommerce sites.","card_description":"Multipurpose theme — 27 homepages, 130+ blocks, 250+ UI elements, Bootstrap 5.","price":99,"category":"Business","card_image":"/assets/images/themes/sandbox-card.webp","theme_screenshots":["/assets/images/themes/sandbox-screenshot.webp","/assets/images/themes/sandbox-screenshot-2.webp","/assets/images/themes/sandbox-screenshot-3.webp"],"key_features":["27 Home Pages","130+ Blocks","No jQuery","Video Backgrounds"],"demo_url":"https://sandbox.tortoizthemes.com/demo28/","buy_url":"https://tortoizthemes.com/theme/sandbox/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-06-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":true,"version":"2.0.0","license":"Commercial","features":["27 unique home pages and landing pages for every use case","130+ pre-made ready-to-use blocks — mix and match freely","250+ beautiful UI elements included","100+ neatly coded pages","Gulp, Bootstrap 5, and SASS — zero jQuery dependency","Valid HTML5 and CSS3 with thorough documentation","Fully responsive and retina-ready","Modern and eye-catching portfolio layouts with Isotope.js filtering","One-page layout option with smooth scroll","Various header and menu options including mega menu (light and dark)","Offcanvas mobile menu and info panel","Sticky header and footer","Notification bar and modal popup","Scroll animations with scrollCue.js","Swiper.js sliders with animated captions","Image and video background options (HTML5, YouTube, Vimeo via Plyr)","Lightbox for images and videos","Contact form without page refresh","Mailchimp newsletter integration","Duotone and font icon options with high-quality retina icon sets","Color and font options for brand customisation"],"slug":"sandbox","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/scriptor","collection":"themes","next":{"path":"_themes/serif.md","relative_path":"_themes/serif.md","id":"/themes/serif","collection":"themes","url":"/themes/serif/","draft":false,"categories":["Business"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Serif Jekyll Theme","description":"A beautiful small business Jekyll theme by CloudCannon. Elegant serif typography, warm tones, and sections for services, team members, and contact.","key_features":["Services Section","Team Pages","Contact Form","GitHub Pages"],"card_description":"Beautiful small business theme with serif typography and service sections.","category":"Business","card_image":"/assets/images/themes/serif-card.webp","theme_screenshots":["/assets/images/themes/serif-screenshot.webp","/assets/images/themes/serif-screenshot-2.webp","/assets/images/themes/serif-screenshot-3.webp"],"demo_url":"https://serif.cloudcannon.com/","github_url":"https://github.com/CloudCannon/serif-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-01-01","added_at":"2026-02-08","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":520,"forks":360,"features":["Services section","Team member pages","Contact page with form","Warm serif typography","Blog included","CloudCannon CMS compatible"],"slug":"serif","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Scriptor is a minimal Jekyll theme from JustGoodThemes built around clean typography and distraction-free reading. Its simple single-column layout keeps the focus entirely on the writing, while featured images give each post a visual anchor without overwhelming the content.\n\nThe theme is lightweight, fast, and easy to customise — a solid starting point for writers who want something polished without the complexity of heavier themes.\n\n**Who is it for?** Writers, bloggers, and journalists who want a clean, typographically focused blog that's easy to set up and fast to load.\n","url":"/themes/scriptor/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Scriptor Jekyll Theme","description":"A minimal, clean, and modern Jekyll theme for writers and bloggers. Elegant typography, featured images, and a distraction-free reading layout built for long-form content.","key_features":["Writer Focused","Featured Images","Minimal Design","GitHub Pages"],"card_description":"Minimal, modern theme for writers with elegant typography.","category":"Blog","card_image":"/assets/images/themes/scriptor-card.webp","theme_screenshots":["/assets/images/themes/scriptor-screenshot.webp","/assets/images/themes/scriptor-screenshot-2.webp","/assets/images/themes/scriptor-screenshot-3.webp"],"demo_url":"https://scriptor-jekyll.netlify.app/","github_url":"https://github.com/JustGoodThemes/Scriptor-Jekyll-Theme","author":"GitHub Community","github_author_name":"JustGoodThemes","github_author_url":"https://github.com/JustGoodThemes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":183,"forks":120,"features":["Clean minimal blog layout","Featured images per post","Elegant typographic scale","Paginated post listing","Category and tag support","Disqus comments","Google Analytics","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"scriptor","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Sandbox is the most comprehensive Jekyll theme in this collection. With 27 home pages, 130+ UI blocks, and 250+ individual elements, it is less a theme and more a complete design system — one that can produce any type of website from the same codebase.\n\n### Built for Every Use Case\n\nThe 27 pre-built home pages cover the full spectrum of modern website types: SaaS platforms, startup landing pages, creative agency sites, personal portfolios, photography showcases, eCommerce storefronts, blog/journal sites, wedding pages, and travel sites. Each is production-ready and fully customisable through SCSS variables and config files.\n\n### Block-Based Building\n\nThe 130+ block library is where Sandbox earns its \"Sandbox\" name. Every block — hero, features, pricing, testimonials, portfolio grid, CTA, contact — is a standalone, droppable section. Combine them to create custom page layouts without writing HTML. The 250+ UI elements include buttons, cards, badges, tabs, accordions, progress bars, and more.\n\n### Modern Technical Foundation\n\nBuilt on Bootstrap 5 with Gulp and SASS, and containing zero jQuery, Sandbox loads fast and scores well on Core Web Vitals. Interactive features come from purpose-built libraries: Swiper.js for sliders, Isotope.js for filterable galleries, scrollCue.js for scroll animations, and Plyr for video backgrounds and embedded media (YouTube and Vimeo supported).\n\n**Who is it for?** Agencies or developers who need one theme that can build anything — and who want to stop buying a new theme for every new client project.\n","url":"/themes/sandbox/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Sandbox Jekyll Theme","rating":4.8,"rating_count":56,"description":"A massive multipurpose Jekyll theme with 27 home pages, 130+ ready-to-use blocks, and 250+ UI elements. Built with Bootstrap 5 and zero jQuery — perfect for startups, SaaS, agencies, portfolios, and eCommerce sites.","card_description":"Multipurpose theme — 27 homepages, 130+ blocks, 250+ UI elements, Bootstrap 5.","price":99,"category":"Business","card_image":"/assets/images/themes/sandbox-card.webp","theme_screenshots":["/assets/images/themes/sandbox-screenshot.webp","/assets/images/themes/sandbox-screenshot-2.webp","/assets/images/themes/sandbox-screenshot-3.webp"],"key_features":["27 Home Pages","130+ Blocks","No jQuery","Video Backgrounds"],"demo_url":"https://sandbox.tortoizthemes.com/demo28/","buy_url":"https://tortoizthemes.com/theme/sandbox/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-06-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":true,"version":"2.0.0","license":"Commercial","features":["27 unique home pages and landing pages for every use case","130+ pre-made ready-to-use blocks — mix and match freely","250+ beautiful UI elements included","100+ neatly coded pages","Gulp, Bootstrap 5, and SASS — zero jQuery dependency","Valid HTML5 and CSS3 with thorough documentation","Fully responsive and retina-ready","Modern and eye-catching portfolio layouts with Isotope.js filtering","One-page layout option with smooth scroll","Various header and menu options including mega menu (light and dark)","Offcanvas mobile menu and info panel","Sticky header and footer","Notification bar and modal popup","Scroll animations with scrollCue.js","Swiper.js sliders with animated captions","Image and video background options (HTML5, YouTube, Vimeo via Plyr)","Lightbox for images and videos","Contact form without page refresh","Mailchimp newsletter integration","Duotone and font icon options with high-quality retina icon sets","Color and font options for brand customisation"],"slug":"sandbox","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/scriptor.md","relative_path":"_themes/scriptor.md","excerpt":"<p>Scriptor is a minimal Jekyll theme from JustGoodThemes built around clean typography and distraction-free reading. Its simple single-column layout keeps the focus entirely on the writing, while featured images give each post a visual anchor without overwhelming the content.</p>\n\n","previous":{"path":"_themes/sandbox.md","relative_path":"_themes/sandbox.md","excerpt":"<p>Sandbox is the most comprehensive Jekyll theme in this collection. With 27 home pages, 130+ UI blocks, and 250+ individual elements, it is less a theme and more a complete design system — one that can produce any type of website from the same codebase.</p>\n\n","previous":{"path":"_themes/reverie.md","relative_path":"_themes/reverie.md","id":"/themes/reverie","collection":"themes","url":"/themes/reverie/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Reverie Jekyll Theme","description":"A ridiculously elegant, fully responsive Jekyll blog theme based on Poole. Supports categories, tags, Disqus comments, and Google Analytics.","key_features":["Category Pages","Tag Support","GitHub Pages","Disqus Comments"],"card_description":"Elegantly responsive blog based on Poole with categories and tags.","category":"Blog","card_image":"/assets/images/themes/reverie-card.webp","theme_screenshots":["/assets/images/themes/reverie-screenshot.webp","/assets/images/themes/reverie-screenshot-2.webp","/assets/images/themes/reverie-screenshot-3.webp"],"demo_url":"https://reverie.amitmerchant.com/","github_url":"https://github.com/amitmerchant1990/reverie","author":"GitHub Community","github_author_name":"amitmerchant1990","github_author_url":"https://github.com/amitmerchant1990","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2025-03-23","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":842,"forks":418,"features":["Elegant minimal layout","Category and tag pages","Disqus comments","Google Analytics","GitHub Pages compatible","Paginated archive","Social sharing buttons","SEO optimised","RSS feed","Mobile friendly"],"slug":"reverie","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/sandbox","collection":"themes","next":{"path":"_themes/scriptor.md","relative_path":"_themes/scriptor.md","id":"/themes/scriptor","collection":"themes","url":"/themes/scriptor/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Scriptor Jekyll Theme","description":"A minimal, clean, and modern Jekyll theme for writers and bloggers. Elegant typography, featured images, and a distraction-free reading layout built for long-form content.","key_features":["Writer Focused","Featured Images","Minimal Design","GitHub Pages"],"card_description":"Minimal, modern theme for writers with elegant typography.","category":"Blog","card_image":"/assets/images/themes/scriptor-card.webp","theme_screenshots":["/assets/images/themes/scriptor-screenshot.webp","/assets/images/themes/scriptor-screenshot-2.webp","/assets/images/themes/scriptor-screenshot-3.webp"],"demo_url":"https://scriptor-jekyll.netlify.app/","github_url":"https://github.com/JustGoodThemes/Scriptor-Jekyll-Theme","author":"GitHub Community","github_author_name":"JustGoodThemes","github_author_url":"https://github.com/JustGoodThemes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":183,"forks":120,"features":["Clean minimal blog layout","Featured images per post","Elegant typographic scale","Paginated post listing","Category and tag support","Disqus comments","Google Analytics","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"scriptor","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Sandbox is the most comprehensive Jekyll theme in this collection. With 27 home pages, 130+ UI blocks, and 250+ individual elements, it is less a theme and more a complete design system — one that can produce any type of website from the same codebase.\n\n### Built for Every Use Case\n\nThe 27 pre-built home pages cover the full spectrum of modern website types: SaaS platforms, startup landing pages, creative agency sites, personal portfolios, photography showcases, eCommerce storefronts, blog/journal sites, wedding pages, and travel sites. Each is production-ready and fully customisable through SCSS variables and config files.\n\n### Block-Based Building\n\nThe 130+ block library is where Sandbox earns its \"Sandbox\" name. Every block — hero, features, pricing, testimonials, portfolio grid, CTA, contact — is a standalone, droppable section. Combine them to create custom page layouts without writing HTML. The 250+ UI elements include buttons, cards, badges, tabs, accordions, progress bars, and more.\n\n### Modern Technical Foundation\n\nBuilt on Bootstrap 5 with Gulp and SASS, and containing zero jQuery, Sandbox loads fast and scores well on Core Web Vitals. Interactive features come from purpose-built libraries: Swiper.js for sliders, Isotope.js for filterable galleries, scrollCue.js for scroll animations, and Plyr for video backgrounds and embedded media (YouTube and Vimeo supported).\n\n**Who is it for?** Agencies or developers who need one theme that can build anything — and who want to stop buying a new theme for every new client project.\n","url":"/themes/sandbox/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Sandbox Jekyll Theme","rating":4.8,"rating_count":56,"description":"A massive multipurpose Jekyll theme with 27 home pages, 130+ ready-to-use blocks, and 250+ UI elements. Built with Bootstrap 5 and zero jQuery — perfect for startups, SaaS, agencies, portfolios, and eCommerce sites.","card_description":"Multipurpose theme — 27 homepages, 130+ blocks, 250+ UI elements, Bootstrap 5.","price":99,"category":"Business","card_image":"/assets/images/themes/sandbox-card.webp","theme_screenshots":["/assets/images/themes/sandbox-screenshot.webp","/assets/images/themes/sandbox-screenshot-2.webp","/assets/images/themes/sandbox-screenshot-3.webp"],"key_features":["27 Home Pages","130+ Blocks","No jQuery","Video Backgrounds"],"demo_url":"https://sandbox.tortoizthemes.com/demo28/","buy_url":"https://tortoizthemes.com/theme/sandbox/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-06-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":true,"version":"2.0.0","license":"Commercial","features":["27 unique home pages and landing pages for every use case","130+ pre-made ready-to-use blocks — mix and match freely","250+ beautiful UI elements included","100+ neatly coded pages","Gulp, Bootstrap 5, and SASS — zero jQuery dependency","Valid HTML5 and CSS3 with thorough documentation","Fully responsive and retina-ready","Modern and eye-catching portfolio layouts with Isotope.js filtering","One-page layout option with smooth scroll","Various header and menu options including mega menu (light and dark)","Offcanvas mobile menu and info panel","Sticky header and footer","Notification bar and modal popup","Scroll animations with scrollCue.js","Swiper.js sliders with animated captions","Image and video background options (HTML5, YouTube, Vimeo via Plyr)","Lightbox for images and videos","Contact form without page refresh","Mailchimp newsletter integration","Duotone and font icon options with high-quality retina icon sets","Color and font options for brand customisation"],"slug":"sandbox","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/scriptor","collection":"themes","next":{"path":"_themes/serif.md","relative_path":"_themes/serif.md","excerpt":"<p>Serif is a polished small business theme from CloudCannon that pairs warm tones with elegant serif typography to create a trustworthy, professional presence. It ships with everything a small business site needs — services pages, team bios, a blog, and a contact form.</p>\n\n","previous":{"path":"_themes/scriptor.md","relative_path":"_themes/scriptor.md","id":"/themes/scriptor","collection":"themes","url":"/themes/scriptor/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Scriptor Jekyll Theme","description":"A minimal, clean, and modern Jekyll theme for writers and bloggers. Elegant typography, featured images, and a distraction-free reading layout built for long-form content.","key_features":["Writer Focused","Featured Images","Minimal Design","GitHub Pages"],"card_description":"Minimal, modern theme for writers with elegant typography.","category":"Blog","card_image":"/assets/images/themes/scriptor-card.webp","theme_screenshots":["/assets/images/themes/scriptor-screenshot.webp","/assets/images/themes/scriptor-screenshot-2.webp","/assets/images/themes/scriptor-screenshot-3.webp"],"demo_url":"https://scriptor-jekyll.netlify.app/","github_url":"https://github.com/JustGoodThemes/Scriptor-Jekyll-Theme","author":"GitHub Community","github_author_name":"JustGoodThemes","github_author_url":"https://github.com/JustGoodThemes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":183,"forks":120,"features":["Clean minimal blog layout","Featured images per post","Elegant typographic scale","Paginated post listing","Category and tag support","Disqus comments","Google Analytics","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"scriptor","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/serif","collection":"themes","next":{"path":"_themes/slate.md","relative_path":"_themes/slate.md","id":"/themes/slate","collection":"themes","url":"/themes/slate/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Slate Jekyll Theme","description":"A bold, dark GitHub Pages Jekyll theme with prominent sidebar navigation and strong code styling. Official GitHub Pages theme for developer docs.","key_features":["GitHub Pages","Dark Sidebar","Code Styling","Developer Docs"],"card_description":"Bold, dark GitHub Pages theme for developer docs with sidebar nav.","category":"Documentation","card_image":"/assets/images/themes/slate-card.webp","theme_screenshots":["/assets/images/themes/slate-screenshot.webp","/assets/images/themes/slate-screenshot-2.webp","/assets/images/themes/slate-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/slate/","github_url":"https://github.com/pages-themes/slate","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":700,"features":["Official GitHub Pages supported theme","Dark sidebar navigation","Code-optimised typography","Responsive layout","Single-click enable via _config.yml","No local Jekyll install required","Google Analytics ready","Clean, professional aesthetic"],"slug":"slate","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Serif is a polished small business theme from CloudCannon that pairs warm tones with elegant serif typography to create a trustworthy, professional presence. It ships with everything a small business site needs — services pages, team bios, a blog, and a contact form.\n\nThe CloudCannon compatibility means non-technical users can edit content through a visual CMS without touching any code.\n\n**Who is it for?** Small businesses, consultants, agencies, and professional services firms who want a warm, professional web presence.\n","url":"/themes/serif/","draft":false,"categories":["Business"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Serif Jekyll Theme","description":"A beautiful small business Jekyll theme by CloudCannon. Elegant serif typography, warm tones, and sections for services, team members, and contact.","key_features":["Services Section","Team Pages","Contact Form","GitHub Pages"],"card_description":"Beautiful small business theme with serif typography and service sections.","category":"Business","card_image":"/assets/images/themes/serif-card.webp","theme_screenshots":["/assets/images/themes/serif-screenshot.webp","/assets/images/themes/serif-screenshot-2.webp","/assets/images/themes/serif-screenshot-3.webp"],"demo_url":"https://serif.cloudcannon.com/","github_url":"https://github.com/CloudCannon/serif-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-01-01","added_at":"2026-02-08","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":520,"forks":360,"features":["Services section","Team member pages","Contact page with form","Warm serif typography","Blog included","CloudCannon CMS compatible"],"slug":"serif","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Scriptor is a minimal Jekyll theme from JustGoodThemes built around clean typography and distraction-free reading. Its simple single-column layout keeps the focus entirely on the writing, while featured images give each post a visual anchor without overwhelming the content.\n\nThe theme is lightweight, fast, and easy to customise — a solid starting point for writers who want something polished without the complexity of heavier themes.\n\n**Who is it for?** Writers, bloggers, and journalists who want a clean, typographically focused blog that's easy to set up and fast to load.\n","url":"/themes/scriptor/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Scriptor Jekyll Theme","description":"A minimal, clean, and modern Jekyll theme for writers and bloggers. Elegant typography, featured images, and a distraction-free reading layout built for long-form content.","key_features":["Writer Focused","Featured Images","Minimal Design","GitHub Pages"],"card_description":"Minimal, modern theme for writers with elegant typography.","category":"Blog","card_image":"/assets/images/themes/scriptor-card.webp","theme_screenshots":["/assets/images/themes/scriptor-screenshot.webp","/assets/images/themes/scriptor-screenshot-2.webp","/assets/images/themes/scriptor-screenshot-3.webp"],"demo_url":"https://scriptor-jekyll.netlify.app/","github_url":"https://github.com/JustGoodThemes/Scriptor-Jekyll-Theme","author":"GitHub Community","github_author_name":"JustGoodThemes","github_author_url":"https://github.com/JustGoodThemes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":183,"forks":120,"features":["Clean minimal blog layout","Featured images per post","Elegant typographic scale","Paginated post listing","Category and tag support","Disqus comments","Google Analytics","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"scriptor","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/serif.md","relative_path":"_themes/serif.md","excerpt":"<p>Serif is a polished small business theme from CloudCannon that pairs warm tones with elegant serif typography to create a trustworthy, professional presence. It ships with everything a small business site needs — services pages, team bios, a blog, and a contact form.</p>\n\n","previous":{"path":"_themes/scriptor.md","relative_path":"_themes/scriptor.md","excerpt":"<p>Scriptor is a minimal Jekyll theme from JustGoodThemes built around clean typography and distraction-free reading. Its simple single-column layout keeps the focus entirely on the writing, while featured images give each post a visual anchor without overwhelming the content.</p>\n\n","previous":{"path":"_themes/sandbox.md","relative_path":"_themes/sandbox.md","id":"/themes/sandbox","collection":"themes","url":"/themes/sandbox/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Sandbox Jekyll Theme","rating":4.8,"rating_count":56,"description":"A massive multipurpose Jekyll theme with 27 home pages, 130+ ready-to-use blocks, and 250+ UI elements. Built with Bootstrap 5 and zero jQuery — perfect for startups, SaaS, agencies, portfolios, and eCommerce sites.","card_description":"Multipurpose theme — 27 homepages, 130+ blocks, 250+ UI elements, Bootstrap 5.","price":99,"category":"Business","card_image":"/assets/images/themes/sandbox-card.webp","theme_screenshots":["/assets/images/themes/sandbox-screenshot.webp","/assets/images/themes/sandbox-screenshot-2.webp","/assets/images/themes/sandbox-screenshot-3.webp"],"key_features":["27 Home Pages","130+ Blocks","No jQuery","Video Backgrounds"],"demo_url":"https://sandbox.tortoizthemes.com/demo28/","buy_url":"https://tortoizthemes.com/theme/sandbox/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.0","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-06-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":true,"version":"2.0.0","license":"Commercial","features":["27 unique home pages and landing pages for every use case","130+ pre-made ready-to-use blocks — mix and match freely","250+ beautiful UI elements included","100+ neatly coded pages","Gulp, Bootstrap 5, and SASS — zero jQuery dependency","Valid HTML5 and CSS3 with thorough documentation","Fully responsive and retina-ready","Modern and eye-catching portfolio layouts with Isotope.js filtering","One-page layout option with smooth scroll","Various header and menu options including mega menu (light and dark)","Offcanvas mobile menu and info panel","Sticky header and footer","Notification bar and modal popup","Scroll animations with scrollCue.js","Swiper.js sliders with animated captions","Image and video background options (HTML5, YouTube, Vimeo via Plyr)","Lightbox for images and videos","Contact form without page refresh","Mailchimp newsletter integration","Duotone and font icon options with high-quality retina icon sets","Color and font options for brand customisation"],"slug":"sandbox","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/scriptor","collection":"themes","next":{"path":"_themes/serif.md","relative_path":"_themes/serif.md","id":"/themes/serif","collection":"themes","url":"/themes/serif/","draft":false,"categories":["Business"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Serif Jekyll Theme","description":"A beautiful small business Jekyll theme by CloudCannon. Elegant serif typography, warm tones, and sections for services, team members, and contact.","key_features":["Services Section","Team Pages","Contact Form","GitHub Pages"],"card_description":"Beautiful small business theme with serif typography and service sections.","category":"Business","card_image":"/assets/images/themes/serif-card.webp","theme_screenshots":["/assets/images/themes/serif-screenshot.webp","/assets/images/themes/serif-screenshot-2.webp","/assets/images/themes/serif-screenshot-3.webp"],"demo_url":"https://serif.cloudcannon.com/","github_url":"https://github.com/CloudCannon/serif-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-01-01","added_at":"2026-02-08","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":520,"forks":360,"features":["Services section","Team member pages","Contact page with form","Warm serif typography","Blog included","CloudCannon CMS compatible"],"slug":"serif","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Scriptor is a minimal Jekyll theme from JustGoodThemes built around clean typography and distraction-free reading. Its simple single-column layout keeps the focus entirely on the writing, while featured images give each post a visual anchor without overwhelming the content.\n\nThe theme is lightweight, fast, and easy to customise — a solid starting point for writers who want something polished without the complexity of heavier themes.\n\n**Who is it for?** Writers, bloggers, and journalists who want a clean, typographically focused blog that's easy to set up and fast to load.\n","url":"/themes/scriptor/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Scriptor Jekyll Theme","description":"A minimal, clean, and modern Jekyll theme for writers and bloggers. Elegant typography, featured images, and a distraction-free reading layout built for long-form content.","key_features":["Writer Focused","Featured Images","Minimal Design","GitHub Pages"],"card_description":"Minimal, modern theme for writers with elegant typography.","category":"Blog","card_image":"/assets/images/themes/scriptor-card.webp","theme_screenshots":["/assets/images/themes/scriptor-screenshot.webp","/assets/images/themes/scriptor-screenshot-2.webp","/assets/images/themes/scriptor-screenshot-3.webp"],"demo_url":"https://scriptor-jekyll.netlify.app/","github_url":"https://github.com/JustGoodThemes/Scriptor-Jekyll-Theme","author":"GitHub Community","github_author_name":"JustGoodThemes","github_author_url":"https://github.com/JustGoodThemes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":183,"forks":120,"features":["Clean minimal blog layout","Featured images per post","Elegant typographic scale","Paginated post listing","Category and tag support","Disqus comments","Google Analytics","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"scriptor","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/serif","collection":"themes","next":{"path":"_themes/slate.md","relative_path":"_themes/slate.md","excerpt":"<p>Slate is one of the twelve official themes supported natively by GitHub Pages, meaning you can enable it with a single line in your <code class=\"language-plaintext highlighter-rouge\">_config.yml</code> — no gem installs, no local setup. Its dark slate sidebar paired with a white content area creates an immediately recognisable, professional look suited to open-source project documentation.</p>\n\n","previous":{"path":"_themes/serif.md","relative_path":"_themes/serif.md","id":"/themes/serif","collection":"themes","url":"/themes/serif/","draft":false,"categories":["Business"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Serif Jekyll Theme","description":"A beautiful small business Jekyll theme by CloudCannon. Elegant serif typography, warm tones, and sections for services, team members, and contact.","key_features":["Services Section","Team Pages","Contact Form","GitHub Pages"],"card_description":"Beautiful small business theme with serif typography and service sections.","category":"Business","card_image":"/assets/images/themes/serif-card.webp","theme_screenshots":["/assets/images/themes/serif-screenshot.webp","/assets/images/themes/serif-screenshot-2.webp","/assets/images/themes/serif-screenshot-3.webp"],"demo_url":"https://serif.cloudcannon.com/","github_url":"https://github.com/CloudCannon/serif-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-01-01","added_at":"2026-02-08","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":520,"forks":360,"features":["Services section","Team member pages","Contact page with form","Warm serif typography","Blog included","CloudCannon CMS compatible"],"slug":"serif","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/slate","collection":"themes","next":{"path":"_themes/snowlake.md","relative_path":"_themes/snowlake.md","id":"/themes/snowlake","collection":"themes","url":"/themes/snowlake/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Snowlake Jekyll Theme","rating":4.8,"rating_count":47,"description":"A versatile multipurpose Jekyll theme with 27 unique demos, 17 color schemes, 5 font options, Slider Revolution, and 4 icon sets with 2300+ icons. Built on Jekyll 4.3+ and Bootstrap 5 — ideal for businesses, agencies, SaaS, and creatives.","card_description":"Multipurpose theme — 27 demos, 17 color schemes, Slider Revolution, Bootstrap 5.","price":79,"category":"Business","card_image":"/assets/images/themes/snowlake-card.webp","theme_screenshots":["/assets/images/themes/snowlake-screenshot.webp","/assets/images/themes/snowlake-screenshot-2.webp","/assets/images/themes/snowlake-screenshot-3.webp"],"key_features":["27 Demos","17 Color Schemes","Slider Revolution","2300+ Icons"],"demo_url":"https://snowlake.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/snowlake-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.3","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-05-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":false,"version":"2.0.0","license":"Commercial","features":["27 unique demo layouts for business, agency, SaaS, portfolio, blog, and more","17 color schemes — choose your brand palette or create your own","5 font options chosen to match the template's design style","Slider Revolution included free (normally $16) — animated banners and sliders","4 icon sets with 2300+ high-quality retina-ready icons","Jekyll 4.3+ and Bootstrap 5 — modern, fast, standards-compliant","Parallax sections with image and video background support","Multiple and single-page layout options with smooth scroll","Various header, menu, and slider configurations","Well-written, SEO-optimised HTML5 with commented code","Responsive design compatible with all devices and screen sizes","Various blog and portfolio layout options to mix and match","Clean and professional design suitable for any industry","Retina-ready graphics — crisp on all high-density displays","Free updates and top-notch support within 24 hours on weekdays"],"slug":"snowlake","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Slate is one of the twelve official themes supported natively by GitHub Pages, meaning you can enable it with a single line in your `_config.yml` — no gem installs, no local setup. Its dark slate sidebar paired with a white content area creates an immediately recognisable, professional look suited to open-source project documentation.\n\nThe code-friendly typography and syntax highlighting make it a natural fit for developer tools and API documentation pages.\n\n**Who is it for?** Developers who want a fast, reliable documentation theme they can enable on any GitHub Pages project in seconds.\n","url":"/themes/slate/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Slate Jekyll Theme","description":"A bold, dark GitHub Pages Jekyll theme with prominent sidebar navigation and strong code styling. Official GitHub Pages theme for developer docs.","key_features":["GitHub Pages","Dark Sidebar","Code Styling","Developer Docs"],"card_description":"Bold, dark GitHub Pages theme for developer docs with sidebar nav.","category":"Documentation","card_image":"/assets/images/themes/slate-card.webp","theme_screenshots":["/assets/images/themes/slate-screenshot.webp","/assets/images/themes/slate-screenshot-2.webp","/assets/images/themes/slate-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/slate/","github_url":"https://github.com/pages-themes/slate","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":700,"features":["Official GitHub Pages supported theme","Dark sidebar navigation","Code-optimised typography","Responsive layout","Single-click enable via _config.yml","No local Jekyll install required","Google Analytics ready","Clean, professional aesthetic"],"slug":"slate","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Serif is a polished small business theme from CloudCannon that pairs warm tones with elegant serif typography to create a trustworthy, professional presence. It ships with everything a small business site needs — services pages, team bios, a blog, and a contact form.\n\nThe CloudCannon compatibility means non-technical users can edit content through a visual CMS without touching any code.\n\n**Who is it for?** Small businesses, consultants, agencies, and professional services firms who want a warm, professional web presence.\n","url":"/themes/serif/","draft":false,"categories":["Business"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Serif Jekyll Theme","description":"A beautiful small business Jekyll theme by CloudCannon. Elegant serif typography, warm tones, and sections for services, team members, and contact.","key_features":["Services Section","Team Pages","Contact Form","GitHub Pages"],"card_description":"Beautiful small business theme with serif typography and service sections.","category":"Business","card_image":"/assets/images/themes/serif-card.webp","theme_screenshots":["/assets/images/themes/serif-screenshot.webp","/assets/images/themes/serif-screenshot-2.webp","/assets/images/themes/serif-screenshot-3.webp"],"demo_url":"https://serif.cloudcannon.com/","github_url":"https://github.com/CloudCannon/serif-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-01-01","added_at":"2026-02-08","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":520,"forks":360,"features":["Services section","Team member pages","Contact page with form","Warm serif typography","Blog included","CloudCannon CMS compatible"],"slug":"serif","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/slate.md","relative_path":"_themes/slate.md","excerpt":"<p>Slate is one of the twelve official themes supported natively by GitHub Pages, meaning you can enable it with a single line in your <code class=\"language-plaintext highlighter-rouge\">_config.yml</code> — no gem installs, no local setup. Its dark slate sidebar paired with a white content area creates an immediately recognisable, professional look suited to open-source project documentation.</p>\n\n","previous":{"path":"_themes/serif.md","relative_path":"_themes/serif.md","excerpt":"<p>Serif is a polished small business theme from CloudCannon that pairs warm tones with elegant serif typography to create a trustworthy, professional presence. It ships with everything a small business site needs — services pages, team bios, a blog, and a contact form.</p>\n\n","previous":{"path":"_themes/scriptor.md","relative_path":"_themes/scriptor.md","id":"/themes/scriptor","collection":"themes","url":"/themes/scriptor/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Scriptor Jekyll Theme","description":"A minimal, clean, and modern Jekyll theme for writers and bloggers. Elegant typography, featured images, and a distraction-free reading layout built for long-form content.","key_features":["Writer Focused","Featured Images","Minimal Design","GitHub Pages"],"card_description":"Minimal, modern theme for writers with elegant typography.","category":"Blog","card_image":"/assets/images/themes/scriptor-card.webp","theme_screenshots":["/assets/images/themes/scriptor-screenshot.webp","/assets/images/themes/scriptor-screenshot-2.webp","/assets/images/themes/scriptor-screenshot-3.webp"],"demo_url":"https://scriptor-jekyll.netlify.app/","github_url":"https://github.com/JustGoodThemes/Scriptor-Jekyll-Theme","author":"GitHub Community","github_author_name":"JustGoodThemes","github_author_url":"https://github.com/JustGoodThemes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":183,"forks":120,"features":["Clean minimal blog layout","Featured images per post","Elegant typographic scale","Paginated post listing","Category and tag support","Disqus comments","Google Analytics","Social sharing links","RSS feed","GitHub Pages compatible"],"slug":"scriptor","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/serif","collection":"themes","next":{"path":"_themes/slate.md","relative_path":"_themes/slate.md","id":"/themes/slate","collection":"themes","url":"/themes/slate/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Slate Jekyll Theme","description":"A bold, dark GitHub Pages Jekyll theme with prominent sidebar navigation and strong code styling. Official GitHub Pages theme for developer docs.","key_features":["GitHub Pages","Dark Sidebar","Code Styling","Developer Docs"],"card_description":"Bold, dark GitHub Pages theme for developer docs with sidebar nav.","category":"Documentation","card_image":"/assets/images/themes/slate-card.webp","theme_screenshots":["/assets/images/themes/slate-screenshot.webp","/assets/images/themes/slate-screenshot-2.webp","/assets/images/themes/slate-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/slate/","github_url":"https://github.com/pages-themes/slate","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":700,"features":["Official GitHub Pages supported theme","Dark sidebar navigation","Code-optimised typography","Responsive layout","Single-click enable via _config.yml","No local Jekyll install required","Google Analytics ready","Clean, professional aesthetic"],"slug":"slate","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Serif is a polished small business theme from CloudCannon that pairs warm tones with elegant serif typography to create a trustworthy, professional presence. It ships with everything a small business site needs — services pages, team bios, a blog, and a contact form.\n\nThe CloudCannon compatibility means non-technical users can edit content through a visual CMS without touching any code.\n\n**Who is it for?** Small businesses, consultants, agencies, and professional services firms who want a warm, professional web presence.\n","url":"/themes/serif/","draft":false,"categories":["Business"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Serif Jekyll Theme","description":"A beautiful small business Jekyll theme by CloudCannon. Elegant serif typography, warm tones, and sections for services, team members, and contact.","key_features":["Services Section","Team Pages","Contact Form","GitHub Pages"],"card_description":"Beautiful small business theme with serif typography and service sections.","category":"Business","card_image":"/assets/images/themes/serif-card.webp","theme_screenshots":["/assets/images/themes/serif-screenshot.webp","/assets/images/themes/serif-screenshot-2.webp","/assets/images/themes/serif-screenshot-3.webp"],"demo_url":"https://serif.cloudcannon.com/","github_url":"https://github.com/CloudCannon/serif-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-01-01","added_at":"2026-02-08","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":520,"forks":360,"features":["Services section","Team member pages","Contact page with form","Warm serif typography","Blog included","CloudCannon CMS compatible"],"slug":"serif","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/slate","collection":"themes","next":{"path":"_themes/snowlake.md","relative_path":"_themes/snowlake.md","excerpt":"<p>Snowlake is a fully-featured Jekyll multipurpose theme that covers the full range of modern website types in a single purchase. The headline numbers — 27 demos, 17 color schemes, 4 icon sets — give you the raw material to build a polished, differentiated site for almost any brief.</p>\n\n","previous":{"path":"_themes/slate.md","relative_path":"_themes/slate.md","id":"/themes/slate","collection":"themes","url":"/themes/slate/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Slate Jekyll Theme","description":"A bold, dark GitHub Pages Jekyll theme with prominent sidebar navigation and strong code styling. Official GitHub Pages theme for developer docs.","key_features":["GitHub Pages","Dark Sidebar","Code Styling","Developer Docs"],"card_description":"Bold, dark GitHub Pages theme for developer docs with sidebar nav.","category":"Documentation","card_image":"/assets/images/themes/slate-card.webp","theme_screenshots":["/assets/images/themes/slate-screenshot.webp","/assets/images/themes/slate-screenshot-2.webp","/assets/images/themes/slate-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/slate/","github_url":"https://github.com/pages-themes/slate","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":700,"features":["Official GitHub Pages supported theme","Dark sidebar navigation","Code-optimised typography","Responsive layout","Single-click enable via _config.yml","No local Jekyll install required","Google Analytics ready","Clean, professional aesthetic"],"slug":"slate","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/snowlake","collection":"themes","next":{"path":"_themes/so-simple.md","relative_path":"_themes/so-simple.md","id":"/themes/so-simple","collection":"themes","url":"/themes/so-simple/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"So Simple Jekyll Theme","description":"A simple Jekyll theme for words and pictures. Clean reading layout with support for author profiles, social links, and Google Analytics.","key_features":["Author Profiles","Social Links","GitHub Pages","Clean Reading"],"card_description":"Simple theme for words and pictures with author profile support.","category":"Blog","card_image":"/assets/images/themes/so-simple-card.webp","theme_screenshots":["/assets/images/themes/so-simple-screenshot.webp","/assets/images/themes/so-simple-screenshot-2.webp","/assets/images/themes/so-simple-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/so-simple-theme/","github_url":"https://github.com/mmistakes/so-simple-theme","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-13","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"3.2.0","license":"MIT","stars":2109,"forks":612,"features":["Clean minimal layout","Author profile with avatar","Social media links","Post categories and tags","Google Analytics support","Disqus comments","GitHub Pages compatible","Responsive images","Related posts section","Customisable colour palette"],"slug":"so-simple","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Snowlake is a fully-featured Jekyll multipurpose theme that covers the full range of modern website types in a single purchase. The headline numbers — 27 demos, 17 color schemes, 4 icon sets — give you the raw material to build a polished, differentiated site for almost any brief.\n\n### The Slider Revolution Advantage\n\nOne of Snowlake's standout inclusions is Slider Revolution, a premium animated slider plugin that normally costs $16 separately. With it you get animated hero banners, parallax scrolling effects, and full video background support (HTML5, image, and video backgrounds) without any extra purchase or setup. Combined with the parallax sections and smooth-scroll single-page option, the theme handles the kind of rich visual storytelling that premium agency and SaaS landing pages need.\n\n### Branding Flexibility at Scale\n\nSeventeen color schemes means you are not locked into the theme's out-of-the-box appearance. Swap the palette to match your brand in minutes via CSS variables, then choose one of five font options to tune the typography. The result is a site that looks custom-designed rather than theme-purchased. Each of the 27 demos is fully production-ready, covering business, startup, agency, portfolio, photographer, SaaS, digital studio, and creative industry use cases.\n\n### Technical Foundation\n\nBuilt on Jekyll 4.3+ with Bootstrap 5, the codebase is modern and maintainable. The four icon sets totalling 2300+ icons cover every UI need without reaching for external libraries. Retina-ready throughout, with responsive layouts that adapt across mobile, tablet, and desktop.\n\n**Who is it for?** Business owners, creative agencies, digital studios, SaaS founders, and freelancers who need a complete, high-quality website with visual flexibility — and who want it running quickly rather than designed from scratch.\n","url":"/themes/snowlake/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Snowlake Jekyll Theme","rating":4.8,"rating_count":47,"description":"A versatile multipurpose Jekyll theme with 27 unique demos, 17 color schemes, 5 font options, Slider Revolution, and 4 icon sets with 2300+ icons. Built on Jekyll 4.3+ and Bootstrap 5 — ideal for businesses, agencies, SaaS, and creatives.","card_description":"Multipurpose theme — 27 demos, 17 color schemes, Slider Revolution, Bootstrap 5.","price":79,"category":"Business","card_image":"/assets/images/themes/snowlake-card.webp","theme_screenshots":["/assets/images/themes/snowlake-screenshot.webp","/assets/images/themes/snowlake-screenshot-2.webp","/assets/images/themes/snowlake-screenshot-3.webp"],"key_features":["27 Demos","17 Color Schemes","Slider Revolution","2300+ Icons"],"demo_url":"https://snowlake.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/snowlake-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.3","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-05-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":false,"version":"2.0.0","license":"Commercial","features":["27 unique demo layouts for business, agency, SaaS, portfolio, blog, and more","17 color schemes — choose your brand palette or create your own","5 font options chosen to match the template's design style","Slider Revolution included free (normally $16) — animated banners and sliders","4 icon sets with 2300+ high-quality retina-ready icons","Jekyll 4.3+ and Bootstrap 5 — modern, fast, standards-compliant","Parallax sections with image and video background support","Multiple and single-page layout options with smooth scroll","Various header, menu, and slider configurations","Well-written, SEO-optimised HTML5 with commented code","Responsive design compatible with all devices and screen sizes","Various blog and portfolio layout options to mix and match","Clean and professional design suitable for any industry","Retina-ready graphics — crisp on all high-density displays","Free updates and top-notch support within 24 hours on weekdays"],"slug":"snowlake","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Slate is one of the twelve official themes supported natively by GitHub Pages, meaning you can enable it with a single line in your `_config.yml` — no gem installs, no local setup. Its dark slate sidebar paired with a white content area creates an immediately recognisable, professional look suited to open-source project documentation.\n\nThe code-friendly typography and syntax highlighting make it a natural fit for developer tools and API documentation pages.\n\n**Who is it for?** Developers who want a fast, reliable documentation theme they can enable on any GitHub Pages project in seconds.\n","url":"/themes/slate/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Slate Jekyll Theme","description":"A bold, dark GitHub Pages Jekyll theme with prominent sidebar navigation and strong code styling. Official GitHub Pages theme for developer docs.","key_features":["GitHub Pages","Dark Sidebar","Code Styling","Developer Docs"],"card_description":"Bold, dark GitHub Pages theme for developer docs with sidebar nav.","category":"Documentation","card_image":"/assets/images/themes/slate-card.webp","theme_screenshots":["/assets/images/themes/slate-screenshot.webp","/assets/images/themes/slate-screenshot-2.webp","/assets/images/themes/slate-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/slate/","github_url":"https://github.com/pages-themes/slate","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":700,"features":["Official GitHub Pages supported theme","Dark sidebar navigation","Code-optimised typography","Responsive layout","Single-click enable via _config.yml","No local Jekyll install required","Google Analytics ready","Clean, professional aesthetic"],"slug":"slate","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/snowlake.md","relative_path":"_themes/snowlake.md","excerpt":"<p>Snowlake is a fully-featured Jekyll multipurpose theme that covers the full range of modern website types in a single purchase. The headline numbers — 27 demos, 17 color schemes, 4 icon sets — give you the raw material to build a polished, differentiated site for almost any brief.</p>\n\n","previous":{"path":"_themes/slate.md","relative_path":"_themes/slate.md","excerpt":"<p>Slate is one of the twelve official themes supported natively by GitHub Pages, meaning you can enable it with a single line in your <code class=\"language-plaintext highlighter-rouge\">_config.yml</code> — no gem installs, no local setup. Its dark slate sidebar paired with a white content area creates an immediately recognisable, professional look suited to open-source project documentation.</p>\n\n","previous":{"path":"_themes/serif.md","relative_path":"_themes/serif.md","id":"/themes/serif","collection":"themes","url":"/themes/serif/","draft":false,"categories":["Business"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Serif Jekyll Theme","description":"A beautiful small business Jekyll theme by CloudCannon. Elegant serif typography, warm tones, and sections for services, team members, and contact.","key_features":["Services Section","Team Pages","Contact Form","GitHub Pages"],"card_description":"Beautiful small business theme with serif typography and service sections.","category":"Business","card_image":"/assets/images/themes/serif-card.webp","theme_screenshots":["/assets/images/themes/serif-screenshot.webp","/assets/images/themes/serif-screenshot-2.webp","/assets/images/themes/serif-screenshot-3.webp"],"demo_url":"https://serif.cloudcannon.com/","github_url":"https://github.com/CloudCannon/serif-theme","author":"GitHub Community","github_author_name":"CloudCannon","github_author_url":"https://github.com/CloudCannon","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.6","plugins":["jekyll-feed","jekyll-seo-tag","jekyll-sitemap"],"updated_at":"2024-01-01","added_at":"2026-02-08","popular":false,"trending":false,"bestseller":false,"version":"2.0.0","license":"MIT","stars":520,"forks":360,"features":["Services section","Team member pages","Contact page with form","Warm serif typography","Blog included","CloudCannon CMS compatible"],"slug":"serif","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/slate","collection":"themes","next":{"path":"_themes/snowlake.md","relative_path":"_themes/snowlake.md","id":"/themes/snowlake","collection":"themes","url":"/themes/snowlake/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Snowlake Jekyll Theme","rating":4.8,"rating_count":47,"description":"A versatile multipurpose Jekyll theme with 27 unique demos, 17 color schemes, 5 font options, Slider Revolution, and 4 icon sets with 2300+ icons. Built on Jekyll 4.3+ and Bootstrap 5 — ideal for businesses, agencies, SaaS, and creatives.","card_description":"Multipurpose theme — 27 demos, 17 color schemes, Slider Revolution, Bootstrap 5.","price":79,"category":"Business","card_image":"/assets/images/themes/snowlake-card.webp","theme_screenshots":["/assets/images/themes/snowlake-screenshot.webp","/assets/images/themes/snowlake-screenshot-2.webp","/assets/images/themes/snowlake-screenshot-3.webp"],"key_features":["27 Demos","17 Color Schemes","Slider Revolution","2300+ Icons"],"demo_url":"https://snowlake.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/snowlake-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.3","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-05-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":false,"version":"2.0.0","license":"Commercial","features":["27 unique demo layouts for business, agency, SaaS, portfolio, blog, and more","17 color schemes — choose your brand palette or create your own","5 font options chosen to match the template's design style","Slider Revolution included free (normally $16) — animated banners and sliders","4 icon sets with 2300+ high-quality retina-ready icons","Jekyll 4.3+ and Bootstrap 5 — modern, fast, standards-compliant","Parallax sections with image and video background support","Multiple and single-page layout options with smooth scroll","Various header, menu, and slider configurations","Well-written, SEO-optimised HTML5 with commented code","Responsive design compatible with all devices and screen sizes","Various blog and portfolio layout options to mix and match","Clean and professional design suitable for any industry","Retina-ready graphics — crisp on all high-density displays","Free updates and top-notch support within 24 hours on weekdays"],"slug":"snowlake","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Slate is one of the twelve official themes supported natively by GitHub Pages, meaning you can enable it with a single line in your `_config.yml` — no gem installs, no local setup. Its dark slate sidebar paired with a white content area creates an immediately recognisable, professional look suited to open-source project documentation.\n\nThe code-friendly typography and syntax highlighting make it a natural fit for developer tools and API documentation pages.\n\n**Who is it for?** Developers who want a fast, reliable documentation theme they can enable on any GitHub Pages project in seconds.\n","url":"/themes/slate/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Slate Jekyll Theme","description":"A bold, dark GitHub Pages Jekyll theme with prominent sidebar navigation and strong code styling. Official GitHub Pages theme for developer docs.","key_features":["GitHub Pages","Dark Sidebar","Code Styling","Developer Docs"],"card_description":"Bold, dark GitHub Pages theme for developer docs with sidebar nav.","category":"Documentation","card_image":"/assets/images/themes/slate-card.webp","theme_screenshots":["/assets/images/themes/slate-screenshot.webp","/assets/images/themes/slate-screenshot-2.webp","/assets/images/themes/slate-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/slate/","github_url":"https://github.com/pages-themes/slate","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":700,"features":["Official GitHub Pages supported theme","Dark sidebar navigation","Code-optimised typography","Responsive layout","Single-click enable via _config.yml","No local Jekyll install required","Google Analytics ready","Clean, professional aesthetic"],"slug":"slate","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/snowlake","collection":"themes","next":{"path":"_themes/so-simple.md","relative_path":"_themes/so-simple.md","excerpt":"<p>So Simple is a clean, minimal Jekyll theme from Michael Rose — the same creator behind Minimal Mistakes. True to its name, it strips away everything non-essential and focuses on typography and readability.</p>\n\n","previous":{"path":"_themes/snowlake.md","relative_path":"_themes/snowlake.md","id":"/themes/snowlake","collection":"themes","url":"/themes/snowlake/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Snowlake Jekyll Theme","rating":4.8,"rating_count":47,"description":"A versatile multipurpose Jekyll theme with 27 unique demos, 17 color schemes, 5 font options, Slider Revolution, and 4 icon sets with 2300+ icons. Built on Jekyll 4.3+ and Bootstrap 5 — ideal for businesses, agencies, SaaS, and creatives.","card_description":"Multipurpose theme — 27 demos, 17 color schemes, Slider Revolution, Bootstrap 5.","price":79,"category":"Business","card_image":"/assets/images/themes/snowlake-card.webp","theme_screenshots":["/assets/images/themes/snowlake-screenshot.webp","/assets/images/themes/snowlake-screenshot-2.webp","/assets/images/themes/snowlake-screenshot-3.webp"],"key_features":["27 Demos","17 Color Schemes","Slider Revolution","2300+ Icons"],"demo_url":"https://snowlake.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/snowlake-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.3","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-05-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":false,"version":"2.0.0","license":"Commercial","features":["27 unique demo layouts for business, agency, SaaS, portfolio, blog, and more","17 color schemes — choose your brand palette or create your own","5 font options chosen to match the template's design style","Slider Revolution included free (normally $16) — animated banners and sliders","4 icon sets with 2300+ high-quality retina-ready icons","Jekyll 4.3+ and Bootstrap 5 — modern, fast, standards-compliant","Parallax sections with image and video background support","Multiple and single-page layout options with smooth scroll","Various header, menu, and slider configurations","Well-written, SEO-optimised HTML5 with commented code","Responsive design compatible with all devices and screen sizes","Various blog and portfolio layout options to mix and match","Clean and professional design suitable for any industry","Retina-ready graphics — crisp on all high-density displays","Free updates and top-notch support within 24 hours on weekdays"],"slug":"snowlake","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/so-simple","collection":"themes","next":{"path":"_themes/swiss.md","relative_path":"_themes/swiss.md","id":"/themes/swiss","collection":"themes","url":"/themes/swiss/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Swiss Jekyll Theme","description":"A bold, typographic Jekyll theme inspired by International Swiss Style design. Strong grid, oversized headings, and a clean black-and-white palette that puts typography first.","key_features":["Swiss Design","Bold Typography","Grid Layout","GitHub Pages"],"card_description":"Bold, typographic theme inspired by Swiss International Style design.","category":"Blog","card_image":"/assets/images/themes/swiss-card.webp","theme_screenshots":["/assets/images/themes/swiss-screenshot.webp","/assets/images/themes/swiss-screenshot-2.webp","/assets/images/themes/swiss-screenshot-3.webp"],"demo_url":"https://broccolini.net/swiss/","github_url":"https://github.com/broccolini/swiss","author":"GitHub Community","github_author_name":"broccolini","github_author_url":"https://github.com/broccolini","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag","jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":400,"forks":200,"features":["Swiss International Style design aesthetic","Bold typographic headings","Clean grid layout","Black and white colour palette","Responsive design","GitHub Pages compatible","Fast and lightweight","Focus on editorial typography"],"slug":"swiss","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"So Simple is a clean, minimal Jekyll theme from Michael Rose — the same creator behind Minimal Mistakes. True to its name, it strips away everything non-essential and focuses on typography and readability.\n\nThe theme supports author profiles with avatars and social links, making it ideal for personal blogs where the writer's identity is front and centre.\n\n**Who is it for?** Writers and bloggers who want a clean, no-fuss reading experience without sacrificing flexibility.\n","url":"/themes/so-simple/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"So Simple Jekyll Theme","description":"A simple Jekyll theme for words and pictures. Clean reading layout with support for author profiles, social links, and Google Analytics.","key_features":["Author Profiles","Social Links","GitHub Pages","Clean Reading"],"card_description":"Simple theme for words and pictures with author profile support.","category":"Blog","card_image":"/assets/images/themes/so-simple-card.webp","theme_screenshots":["/assets/images/themes/so-simple-screenshot.webp","/assets/images/themes/so-simple-screenshot-2.webp","/assets/images/themes/so-simple-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/so-simple-theme/","github_url":"https://github.com/mmistakes/so-simple-theme","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-13","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"3.2.0","license":"MIT","stars":2109,"forks":612,"features":["Clean minimal layout","Author profile with avatar","Social media links","Post categories and tags","Google Analytics support","Disqus comments","GitHub Pages compatible","Responsive images","Related posts section","Customisable colour palette"],"slug":"so-simple","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Snowlake is a fully-featured Jekyll multipurpose theme that covers the full range of modern website types in a single purchase. The headline numbers — 27 demos, 17 color schemes, 4 icon sets — give you the raw material to build a polished, differentiated site for almost any brief.\n\n### The Slider Revolution Advantage\n\nOne of Snowlake's standout inclusions is Slider Revolution, a premium animated slider plugin that normally costs $16 separately. With it you get animated hero banners, parallax scrolling effects, and full video background support (HTML5, image, and video backgrounds) without any extra purchase or setup. Combined with the parallax sections and smooth-scroll single-page option, the theme handles the kind of rich visual storytelling that premium agency and SaaS landing pages need.\n\n### Branding Flexibility at Scale\n\nSeventeen color schemes means you are not locked into the theme's out-of-the-box appearance. Swap the palette to match your brand in minutes via CSS variables, then choose one of five font options to tune the typography. The result is a site that looks custom-designed rather than theme-purchased. Each of the 27 demos is fully production-ready, covering business, startup, agency, portfolio, photographer, SaaS, digital studio, and creative industry use cases.\n\n### Technical Foundation\n\nBuilt on Jekyll 4.3+ with Bootstrap 5, the codebase is modern and maintainable. The four icon sets totalling 2300+ icons cover every UI need without reaching for external libraries. Retina-ready throughout, with responsive layouts that adapt across mobile, tablet, and desktop.\n\n**Who is it for?** Business owners, creative agencies, digital studios, SaaS founders, and freelancers who need a complete, high-quality website with visual flexibility — and who want it running quickly rather than designed from scratch.\n","url":"/themes/snowlake/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Snowlake Jekyll Theme","rating":4.8,"rating_count":47,"description":"A versatile multipurpose Jekyll theme with 27 unique demos, 17 color schemes, 5 font options, Slider Revolution, and 4 icon sets with 2300+ icons. Built on Jekyll 4.3+ and Bootstrap 5 — ideal for businesses, agencies, SaaS, and creatives.","card_description":"Multipurpose theme — 27 demos, 17 color schemes, Slider Revolution, Bootstrap 5.","price":79,"category":"Business","card_image":"/assets/images/themes/snowlake-card.webp","theme_screenshots":["/assets/images/themes/snowlake-screenshot.webp","/assets/images/themes/snowlake-screenshot-2.webp","/assets/images/themes/snowlake-screenshot-3.webp"],"key_features":["27 Demos","17 Color Schemes","Slider Revolution","2300+ Icons"],"demo_url":"https://snowlake.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/snowlake-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.3","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-05-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":false,"version":"2.0.0","license":"Commercial","features":["27 unique demo layouts for business, agency, SaaS, portfolio, blog, and more","17 color schemes — choose your brand palette or create your own","5 font options chosen to match the template's design style","Slider Revolution included free (normally $16) — animated banners and sliders","4 icon sets with 2300+ high-quality retina-ready icons","Jekyll 4.3+ and Bootstrap 5 — modern, fast, standards-compliant","Parallax sections with image and video background support","Multiple and single-page layout options with smooth scroll","Various header, menu, and slider configurations","Well-written, SEO-optimised HTML5 with commented code","Responsive design compatible with all devices and screen sizes","Various blog and portfolio layout options to mix and match","Clean and professional design suitable for any industry","Retina-ready graphics — crisp on all high-density displays","Free updates and top-notch support within 24 hours on weekdays"],"slug":"snowlake","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/so-simple.md","relative_path":"_themes/so-simple.md","excerpt":"<p>So Simple is a clean, minimal Jekyll theme from Michael Rose — the same creator behind Minimal Mistakes. True to its name, it strips away everything non-essential and focuses on typography and readability.</p>\n\n","previous":{"path":"_themes/snowlake.md","relative_path":"_themes/snowlake.md","excerpt":"<p>Snowlake is a fully-featured Jekyll multipurpose theme that covers the full range of modern website types in a single purchase. The headline numbers — 27 demos, 17 color schemes, 4 icon sets — give you the raw material to build a polished, differentiated site for almost any brief.</p>\n\n","previous":{"path":"_themes/slate.md","relative_path":"_themes/slate.md","id":"/themes/slate","collection":"themes","url":"/themes/slate/","draft":false,"categories":["Documentation"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Slate Jekyll Theme","description":"A bold, dark GitHub Pages Jekyll theme with prominent sidebar navigation and strong code styling. Official GitHub Pages theme for developer docs.","key_features":["GitHub Pages","Dark Sidebar","Code Styling","Developer Docs"],"card_description":"Bold, dark GitHub Pages theme for developer docs with sidebar nav.","category":"Documentation","card_image":"/assets/images/themes/slate-card.webp","theme_screenshots":["/assets/images/themes/slate-screenshot.webp","/assets/images/themes/slate-screenshot-2.webp","/assets/images/themes/slate-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/slate/","github_url":"https://github.com/pages-themes/slate","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":700,"forks":700,"features":["Official GitHub Pages supported theme","Dark sidebar navigation","Code-optimised typography","Responsive layout","Single-click enable via _config.yml","No local Jekyll install required","Google Analytics ready","Clean, professional aesthetic"],"slug":"slate","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/snowlake","collection":"themes","next":{"path":"_themes/so-simple.md","relative_path":"_themes/so-simple.md","id":"/themes/so-simple","collection":"themes","url":"/themes/so-simple/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"So Simple Jekyll Theme","description":"A simple Jekyll theme for words and pictures. Clean reading layout with support for author profiles, social links, and Google Analytics.","key_features":["Author Profiles","Social Links","GitHub Pages","Clean Reading"],"card_description":"Simple theme for words and pictures with author profile support.","category":"Blog","card_image":"/assets/images/themes/so-simple-card.webp","theme_screenshots":["/assets/images/themes/so-simple-screenshot.webp","/assets/images/themes/so-simple-screenshot-2.webp","/assets/images/themes/so-simple-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/so-simple-theme/","github_url":"https://github.com/mmistakes/so-simple-theme","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-13","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"3.2.0","license":"MIT","stars":2109,"forks":612,"features":["Clean minimal layout","Author profile with avatar","Social media links","Post categories and tags","Google Analytics support","Disqus comments","GitHub Pages compatible","Responsive images","Related posts section","Customisable colour palette"],"slug":"so-simple","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Snowlake is a fully-featured Jekyll multipurpose theme that covers the full range of modern website types in a single purchase. The headline numbers — 27 demos, 17 color schemes, 4 icon sets — give you the raw material to build a polished, differentiated site for almost any brief.\n\n### The Slider Revolution Advantage\n\nOne of Snowlake's standout inclusions is Slider Revolution, a premium animated slider plugin that normally costs $16 separately. With it you get animated hero banners, parallax scrolling effects, and full video background support (HTML5, image, and video backgrounds) without any extra purchase or setup. Combined with the parallax sections and smooth-scroll single-page option, the theme handles the kind of rich visual storytelling that premium agency and SaaS landing pages need.\n\n### Branding Flexibility at Scale\n\nSeventeen color schemes means you are not locked into the theme's out-of-the-box appearance. Swap the palette to match your brand in minutes via CSS variables, then choose one of five font options to tune the typography. The result is a site that looks custom-designed rather than theme-purchased. Each of the 27 demos is fully production-ready, covering business, startup, agency, portfolio, photographer, SaaS, digital studio, and creative industry use cases.\n\n### Technical Foundation\n\nBuilt on Jekyll 4.3+ with Bootstrap 5, the codebase is modern and maintainable. The four icon sets totalling 2300+ icons cover every UI need without reaching for external libraries. Retina-ready throughout, with responsive layouts that adapt across mobile, tablet, and desktop.\n\n**Who is it for?** Business owners, creative agencies, digital studios, SaaS founders, and freelancers who need a complete, high-quality website with visual flexibility — and who want it running quickly rather than designed from scratch.\n","url":"/themes/snowlake/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Snowlake Jekyll Theme","rating":4.8,"rating_count":47,"description":"A versatile multipurpose Jekyll theme with 27 unique demos, 17 color schemes, 5 font options, Slider Revolution, and 4 icon sets with 2300+ icons. Built on Jekyll 4.3+ and Bootstrap 5 — ideal for businesses, agencies, SaaS, and creatives.","card_description":"Multipurpose theme — 27 demos, 17 color schemes, Slider Revolution, Bootstrap 5.","price":79,"category":"Business","card_image":"/assets/images/themes/snowlake-card.webp","theme_screenshots":["/assets/images/themes/snowlake-screenshot.webp","/assets/images/themes/snowlake-screenshot-2.webp","/assets/images/themes/snowlake-screenshot-3.webp"],"key_features":["27 Demos","17 Color Schemes","Slider Revolution","2300+ Icons"],"demo_url":"https://snowlake.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/snowlake-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.3","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-05-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":false,"version":"2.0.0","license":"Commercial","features":["27 unique demo layouts for business, agency, SaaS, portfolio, blog, and more","17 color schemes — choose your brand palette or create your own","5 font options chosen to match the template's design style","Slider Revolution included free (normally $16) — animated banners and sliders","4 icon sets with 2300+ high-quality retina-ready icons","Jekyll 4.3+ and Bootstrap 5 — modern, fast, standards-compliant","Parallax sections with image and video background support","Multiple and single-page layout options with smooth scroll","Various header, menu, and slider configurations","Well-written, SEO-optimised HTML5 with commented code","Responsive design compatible with all devices and screen sizes","Various blog and portfolio layout options to mix and match","Clean and professional design suitable for any industry","Retina-ready graphics — crisp on all high-density displays","Free updates and top-notch support within 24 hours on weekdays"],"slug":"snowlake","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/so-simple","collection":"themes","next":{"path":"_themes/swiss.md","relative_path":"_themes/swiss.md","excerpt":"<p>Swiss is a love letter to the International Typographic Style — the design movement behind some of the most influential graphic design of the 20th century. Diana Mounter (GitHub’s Head of Design at the time) brought that aesthetic to Jekyll: strong grid, oversized Helvetica-inspired headings, and a restrained black-and-white palette that lets typography do all the work.</p>\n\n","previous":{"path":"_themes/so-simple.md","relative_path":"_themes/so-simple.md","id":"/themes/so-simple","collection":"themes","url":"/themes/so-simple/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"So Simple Jekyll Theme","description":"A simple Jekyll theme for words and pictures. Clean reading layout with support for author profiles, social links, and Google Analytics.","key_features":["Author Profiles","Social Links","GitHub Pages","Clean Reading"],"card_description":"Simple theme for words and pictures with author profile support.","category":"Blog","card_image":"/assets/images/themes/so-simple-card.webp","theme_screenshots":["/assets/images/themes/so-simple-screenshot.webp","/assets/images/themes/so-simple-screenshot-2.webp","/assets/images/themes/so-simple-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/so-simple-theme/","github_url":"https://github.com/mmistakes/so-simple-theme","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-13","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"3.2.0","license":"MIT","stars":2109,"forks":612,"features":["Clean minimal layout","Author profile with avatar","Social media links","Post categories and tags","Google Analytics support","Disqus comments","GitHub Pages compatible","Responsive images","Related posts section","Customisable colour palette"],"slug":"so-simple","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/swiss","collection":"themes","next":{"path":"_themes/tactile.md","relative_path":"_themes/tactile.md","id":"/themes/tactile","collection":"themes","url":"/themes/tactile/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tactile Jekyll Theme","description":"A textured, warm GitHub Pages Jekyll theme with a hand-crafted sidebar style. Official GitHub Pages theme with classic personality and charm.","key_features":["GitHub Pages","Hand-Crafted Style","Warm Palette","Official GH Theme"],"card_description":"Textured, warm GitHub Pages theme with hand-crafted sidebar style.","category":"Personal","card_image":"/assets/images/themes/tactile-card.webp","theme_screenshots":["/assets/images/themes/tactile-screenshot.webp","/assets/images/themes/tactile-screenshot-2.webp","/assets/images/themes/tactile-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/tactile/","github_url":"https://github.com/pages-themes/tactile","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Textured sidebar with handcrafted aesthetic","Green accent colour scheme","Responsive sidebar layout","Single-line enable via _config.yml","No local setup required","Distinctive, warm personality"],"slug":"tactile","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Swiss is a love letter to the International Typographic Style — the design movement behind some of the most influential graphic design of the 20th century. Diana Mounter (GitHub's Head of Design at the time) brought that aesthetic to Jekyll: strong grid, oversized Helvetica-inspired headings, and a restrained black-and-white palette that lets typography do all the work.\n\nThe result is a theme that feels confidently editorial. Nothing is decorative; everything is intentional.\n\n**Who is it for?** Designers, writers, and developers who appreciate typographic rigour and want a site that looks like it was designed, not just assembled.\n","url":"/themes/swiss/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Swiss Jekyll Theme","description":"A bold, typographic Jekyll theme inspired by International Swiss Style design. Strong grid, oversized headings, and a clean black-and-white palette that puts typography first.","key_features":["Swiss Design","Bold Typography","Grid Layout","GitHub Pages"],"card_description":"Bold, typographic theme inspired by Swiss International Style design.","category":"Blog","card_image":"/assets/images/themes/swiss-card.webp","theme_screenshots":["/assets/images/themes/swiss-screenshot.webp","/assets/images/themes/swiss-screenshot-2.webp","/assets/images/themes/swiss-screenshot-3.webp"],"demo_url":"https://broccolini.net/swiss/","github_url":"https://github.com/broccolini/swiss","author":"GitHub Community","github_author_name":"broccolini","github_author_url":"https://github.com/broccolini","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag","jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":400,"forks":200,"features":["Swiss International Style design aesthetic","Bold typographic headings","Clean grid layout","Black and white colour palette","Responsive design","GitHub Pages compatible","Fast and lightweight","Focus on editorial typography"],"slug":"swiss","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"So Simple is a clean, minimal Jekyll theme from Michael Rose — the same creator behind Minimal Mistakes. True to its name, it strips away everything non-essential and focuses on typography and readability.\n\nThe theme supports author profiles with avatars and social links, making it ideal for personal blogs where the writer's identity is front and centre.\n\n**Who is it for?** Writers and bloggers who want a clean, no-fuss reading experience without sacrificing flexibility.\n","url":"/themes/so-simple/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"So Simple Jekyll Theme","description":"A simple Jekyll theme for words and pictures. Clean reading layout with support for author profiles, social links, and Google Analytics.","key_features":["Author Profiles","Social Links","GitHub Pages","Clean Reading"],"card_description":"Simple theme for words and pictures with author profile support.","category":"Blog","card_image":"/assets/images/themes/so-simple-card.webp","theme_screenshots":["/assets/images/themes/so-simple-screenshot.webp","/assets/images/themes/so-simple-screenshot-2.webp","/assets/images/themes/so-simple-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/so-simple-theme/","github_url":"https://github.com/mmistakes/so-simple-theme","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-13","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"3.2.0","license":"MIT","stars":2109,"forks":612,"features":["Clean minimal layout","Author profile with avatar","Social media links","Post categories and tags","Google Analytics support","Disqus comments","GitHub Pages compatible","Responsive images","Related posts section","Customisable colour palette"],"slug":"so-simple","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/swiss.md","relative_path":"_themes/swiss.md","excerpt":"<p>Swiss is a love letter to the International Typographic Style — the design movement behind some of the most influential graphic design of the 20th century. Diana Mounter (GitHub’s Head of Design at the time) brought that aesthetic to Jekyll: strong grid, oversized Helvetica-inspired headings, and a restrained black-and-white palette that lets typography do all the work.</p>\n\n","previous":{"path":"_themes/so-simple.md","relative_path":"_themes/so-simple.md","excerpt":"<p>So Simple is a clean, minimal Jekyll theme from Michael Rose — the same creator behind Minimal Mistakes. True to its name, it strips away everything non-essential and focuses on typography and readability.</p>\n\n","previous":{"path":"_themes/snowlake.md","relative_path":"_themes/snowlake.md","id":"/themes/snowlake","collection":"themes","url":"/themes/snowlake/","draft":false,"categories":["Business"],"layout":"theme","price_type":"premium","featured":true,"dark_mode":true,"responsive":true,"title":"Snowlake Jekyll Theme","rating":4.8,"rating_count":47,"description":"A versatile multipurpose Jekyll theme with 27 unique demos, 17 color schemes, 5 font options, Slider Revolution, and 4 icon sets with 2300+ icons. Built on Jekyll 4.3+ and Bootstrap 5 — ideal for businesses, agencies, SaaS, and creatives.","card_description":"Multipurpose theme — 27 demos, 17 color schemes, Slider Revolution, Bootstrap 5.","price":79,"category":"Business","card_image":"/assets/images/themes/snowlake-card.webp","theme_screenshots":["/assets/images/themes/snowlake-screenshot.webp","/assets/images/themes/snowlake-screenshot-2.webp","/assets/images/themes/snowlake-screenshot-3.webp"],"key_features":["27 Demos","17 Color Schemes","Slider Revolution","2300+ Icons"],"demo_url":"https://snowlake.tortoizthemes.com/","buy_url":"https://tortoizthemes.com/theme/snowlake-jekyll-theme/","author":"Tortoiz Themes","author_url":"https://tortoizthemes.com/","github_author_name":"tortoizthemes","support":"6 months","github_pages_compatible":true,"min_jekyll_version":"4.3","plugins":["jekyll-feed","jekyll-seo-tag"],"updated_at":"2025-05-01","added_at":"2026-06-27","popular":true,"trending":true,"bestseller":false,"version":"2.0.0","license":"Commercial","features":["27 unique demo layouts for business, agency, SaaS, portfolio, blog, and more","17 color schemes — choose your brand palette or create your own","5 font options chosen to match the template's design style","Slider Revolution included free (normally $16) — animated banners and sliders","4 icon sets with 2300+ high-quality retina-ready icons","Jekyll 4.3+ and Bootstrap 5 — modern, fast, standards-compliant","Parallax sections with image and video background support","Multiple and single-page layout options with smooth scroll","Various header, menu, and slider configurations","Well-written, SEO-optimised HTML5 with commented code","Responsive design compatible with all devices and screen sizes","Various blog and portfolio layout options to mix and match","Clean and professional design suitable for any industry","Retina-ready graphics — crisp on all high-density displays","Free updates and top-notch support within 24 hours on weekdays"],"slug":"snowlake","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/so-simple","collection":"themes","next":{"path":"_themes/swiss.md","relative_path":"_themes/swiss.md","id":"/themes/swiss","collection":"themes","url":"/themes/swiss/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Swiss Jekyll Theme","description":"A bold, typographic Jekyll theme inspired by International Swiss Style design. Strong grid, oversized headings, and a clean black-and-white palette that puts typography first.","key_features":["Swiss Design","Bold Typography","Grid Layout","GitHub Pages"],"card_description":"Bold, typographic theme inspired by Swiss International Style design.","category":"Blog","card_image":"/assets/images/themes/swiss-card.webp","theme_screenshots":["/assets/images/themes/swiss-screenshot.webp","/assets/images/themes/swiss-screenshot-2.webp","/assets/images/themes/swiss-screenshot-3.webp"],"demo_url":"https://broccolini.net/swiss/","github_url":"https://github.com/broccolini/swiss","author":"GitHub Community","github_author_name":"broccolini","github_author_url":"https://github.com/broccolini","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag","jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":400,"forks":200,"features":["Swiss International Style design aesthetic","Bold typographic headings","Clean grid layout","Black and white colour palette","Responsive design","GitHub Pages compatible","Fast and lightweight","Focus on editorial typography"],"slug":"swiss","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"So Simple is a clean, minimal Jekyll theme from Michael Rose — the same creator behind Minimal Mistakes. True to its name, it strips away everything non-essential and focuses on typography and readability.\n\nThe theme supports author profiles with avatars and social links, making it ideal for personal blogs where the writer's identity is front and centre.\n\n**Who is it for?** Writers and bloggers who want a clean, no-fuss reading experience without sacrificing flexibility.\n","url":"/themes/so-simple/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"So Simple Jekyll Theme","description":"A simple Jekyll theme for words and pictures. Clean reading layout with support for author profiles, social links, and Google Analytics.","key_features":["Author Profiles","Social Links","GitHub Pages","Clean Reading"],"card_description":"Simple theme for words and pictures with author profile support.","category":"Blog","card_image":"/assets/images/themes/so-simple-card.webp","theme_screenshots":["/assets/images/themes/so-simple-screenshot.webp","/assets/images/themes/so-simple-screenshot-2.webp","/assets/images/themes/so-simple-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/so-simple-theme/","github_url":"https://github.com/mmistakes/so-simple-theme","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-13","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"3.2.0","license":"MIT","stars":2109,"forks":612,"features":["Clean minimal layout","Author profile with avatar","Social media links","Post categories and tags","Google Analytics support","Disqus comments","GitHub Pages compatible","Responsive images","Related posts section","Customisable colour palette"],"slug":"so-simple","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/swiss","collection":"themes","next":{"path":"_themes/tactile.md","relative_path":"_themes/tactile.md","excerpt":"<p>Tactile is the most characterful of GitHub’s official themes. Its wood-grain-textured sidebar and green accent colour palette give it a warm, handcrafted feel that’s quite unlike the clean minimalism of the other official themes. The result is a site that feels personal and approachable — like something built with care.</p>\n\n","previous":{"path":"_themes/swiss.md","relative_path":"_themes/swiss.md","id":"/themes/swiss","collection":"themes","url":"/themes/swiss/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Swiss Jekyll Theme","description":"A bold, typographic Jekyll theme inspired by International Swiss Style design. Strong grid, oversized headings, and a clean black-and-white palette that puts typography first.","key_features":["Swiss Design","Bold Typography","Grid Layout","GitHub Pages"],"card_description":"Bold, typographic theme inspired by Swiss International Style design.","category":"Blog","card_image":"/assets/images/themes/swiss-card.webp","theme_screenshots":["/assets/images/themes/swiss-screenshot.webp","/assets/images/themes/swiss-screenshot-2.webp","/assets/images/themes/swiss-screenshot-3.webp"],"demo_url":"https://broccolini.net/swiss/","github_url":"https://github.com/broccolini/swiss","author":"GitHub Community","github_author_name":"broccolini","github_author_url":"https://github.com/broccolini","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag","jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":400,"forks":200,"features":["Swiss International Style design aesthetic","Bold typographic headings","Clean grid layout","Black and white colour palette","Responsive design","GitHub Pages compatible","Fast and lightweight","Focus on editorial typography"],"slug":"swiss","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/tactile","collection":"themes","next":{"path":"_themes/tale.md","relative_path":"_themes/tale.md","id":"/themes/tale","collection":"themes","url":"/themes/tale/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tale Jekyll Theme","description":"An minimal Jekyll theme focused on content. Elegant single-column layout with beautiful typography, clean post listings, and zero visual noise — perfect for long-form writing.","key_features":["Single Column","Clean Typography","Minimal Design","GitHub Pages"],"card_description":"Minimal, elegant single-column blog for long-form writing.","category":"Blog","card_image":"/assets/images/themes/tale-card.webp","theme_screenshots":["/assets/images/themes/tale-screenshot.webp","/assets/images/themes/tale-screenshot-2.webp","/assets/images/themes/tale-screenshot-3.webp"],"demo_url":"https://chesterhow.github.io/tale/","github_url":"https://github.com/chesterhow/tale","author":"GitHub Community","github_author_name":"chesterhow","github_author_url":"https://github.com/chesterhow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.1","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2022-06-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1400,"forks":500,"features":["Minimal single-column layout","Paginated post listing","Tag-based post organisation","Post estimated reading time","Syntax highlighting","Disqus comments support","Google Analytics","RSS feed","Responsive design","GitHub Pages compatible"],"slug":"tale","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Tactile is the most characterful of GitHub's official themes. Its wood-grain-textured sidebar and green accent colour palette give it a warm, handcrafted feel that's quite unlike the clean minimalism of the other official themes. The result is a site that feels personal and approachable — like something built with care.\n\nIt's particularly effective for open-source projects that want to stand out, personal portfolios with a creative bent, or any project that wants its page to have a real identity.\n\n**Who is it for?** Developers and creators who want a GitHub Pages site with distinct visual personality and warmth, as an alternative to the more minimal official themes.\n","url":"/themes/tactile/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tactile Jekyll Theme","description":"A textured, warm GitHub Pages Jekyll theme with a hand-crafted sidebar style. Official GitHub Pages theme with classic personality and charm.","key_features":["GitHub Pages","Hand-Crafted Style","Warm Palette","Official GH Theme"],"card_description":"Textured, warm GitHub Pages theme with hand-crafted sidebar style.","category":"Personal","card_image":"/assets/images/themes/tactile-card.webp","theme_screenshots":["/assets/images/themes/tactile-screenshot.webp","/assets/images/themes/tactile-screenshot-2.webp","/assets/images/themes/tactile-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/tactile/","github_url":"https://github.com/pages-themes/tactile","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Textured sidebar with handcrafted aesthetic","Green accent colour scheme","Responsive sidebar layout","Single-line enable via _config.yml","No local setup required","Distinctive, warm personality"],"slug":"tactile","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Swiss is a love letter to the International Typographic Style — the design movement behind some of the most influential graphic design of the 20th century. Diana Mounter (GitHub's Head of Design at the time) brought that aesthetic to Jekyll: strong grid, oversized Helvetica-inspired headings, and a restrained black-and-white palette that lets typography do all the work.\n\nThe result is a theme that feels confidently editorial. Nothing is decorative; everything is intentional.\n\n**Who is it for?** Designers, writers, and developers who appreciate typographic rigour and want a site that looks like it was designed, not just assembled.\n","url":"/themes/swiss/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Swiss Jekyll Theme","description":"A bold, typographic Jekyll theme inspired by International Swiss Style design. Strong grid, oversized headings, and a clean black-and-white palette that puts typography first.","key_features":["Swiss Design","Bold Typography","Grid Layout","GitHub Pages"],"card_description":"Bold, typographic theme inspired by Swiss International Style design.","category":"Blog","card_image":"/assets/images/themes/swiss-card.webp","theme_screenshots":["/assets/images/themes/swiss-screenshot.webp","/assets/images/themes/swiss-screenshot-2.webp","/assets/images/themes/swiss-screenshot-3.webp"],"demo_url":"https://broccolini.net/swiss/","github_url":"https://github.com/broccolini/swiss","author":"GitHub Community","github_author_name":"broccolini","github_author_url":"https://github.com/broccolini","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag","jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":400,"forks":200,"features":["Swiss International Style design aesthetic","Bold typographic headings","Clean grid layout","Black and white colour palette","Responsive design","GitHub Pages compatible","Fast and lightweight","Focus on editorial typography"],"slug":"swiss","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/tactile.md","relative_path":"_themes/tactile.md","excerpt":"<p>Tactile is the most characterful of GitHub’s official themes. Its wood-grain-textured sidebar and green accent colour palette give it a warm, handcrafted feel that’s quite unlike the clean minimalism of the other official themes. The result is a site that feels personal and approachable — like something built with care.</p>\n\n","previous":{"path":"_themes/swiss.md","relative_path":"_themes/swiss.md","excerpt":"<p>Swiss is a love letter to the International Typographic Style — the design movement behind some of the most influential graphic design of the 20th century. Diana Mounter (GitHub’s Head of Design at the time) brought that aesthetic to Jekyll: strong grid, oversized Helvetica-inspired headings, and a restrained black-and-white palette that lets typography do all the work.</p>\n\n","previous":{"path":"_themes/so-simple.md","relative_path":"_themes/so-simple.md","id":"/themes/so-simple","collection":"themes","url":"/themes/so-simple/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"So Simple Jekyll Theme","description":"A simple Jekyll theme for words and pictures. Clean reading layout with support for author profiles, social links, and Google Analytics.","key_features":["Author Profiles","Social Links","GitHub Pages","Clean Reading"],"card_description":"Simple theme for words and pictures with author profile support.","category":"Blog","card_image":"/assets/images/themes/so-simple-card.webp","theme_screenshots":["/assets/images/themes/so-simple-screenshot.webp","/assets/images/themes/so-simple-screenshot-2.webp","/assets/images/themes/so-simple-screenshot-3.webp"],"demo_url":"https://mmistakes.github.io/so-simple-theme/","github_url":"https://github.com/mmistakes/so-simple-theme","author":"GitHub Community","github_author_name":"Michael Rose","github_author_url":"https://github.com/mmistakes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.7","plugins":["jekyll-feed","jekyll-sitemap","jekyll-paginate"],"updated_at":"2024-08-13","added_at":"2026-04-01","popular":true,"trending":false,"bestseller":false,"version":"3.2.0","license":"MIT","stars":2109,"forks":612,"features":["Clean minimal layout","Author profile with avatar","Social media links","Post categories and tags","Google Analytics support","Disqus comments","GitHub Pages compatible","Responsive images","Related posts section","Customisable colour palette"],"slug":"so-simple","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/swiss","collection":"themes","next":{"path":"_themes/tactile.md","relative_path":"_themes/tactile.md","id":"/themes/tactile","collection":"themes","url":"/themes/tactile/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tactile Jekyll Theme","description":"A textured, warm GitHub Pages Jekyll theme with a hand-crafted sidebar style. Official GitHub Pages theme with classic personality and charm.","key_features":["GitHub Pages","Hand-Crafted Style","Warm Palette","Official GH Theme"],"card_description":"Textured, warm GitHub Pages theme with hand-crafted sidebar style.","category":"Personal","card_image":"/assets/images/themes/tactile-card.webp","theme_screenshots":["/assets/images/themes/tactile-screenshot.webp","/assets/images/themes/tactile-screenshot-2.webp","/assets/images/themes/tactile-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/tactile/","github_url":"https://github.com/pages-themes/tactile","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Textured sidebar with handcrafted aesthetic","Green accent colour scheme","Responsive sidebar layout","Single-line enable via _config.yml","No local setup required","Distinctive, warm personality"],"slug":"tactile","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Swiss is a love letter to the International Typographic Style — the design movement behind some of the most influential graphic design of the 20th century. Diana Mounter (GitHub's Head of Design at the time) brought that aesthetic to Jekyll: strong grid, oversized Helvetica-inspired headings, and a restrained black-and-white palette that lets typography do all the work.\n\nThe result is a theme that feels confidently editorial. Nothing is decorative; everything is intentional.\n\n**Who is it for?** Designers, writers, and developers who appreciate typographic rigour and want a site that looks like it was designed, not just assembled.\n","url":"/themes/swiss/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Swiss Jekyll Theme","description":"A bold, typographic Jekyll theme inspired by International Swiss Style design. Strong grid, oversized headings, and a clean black-and-white palette that puts typography first.","key_features":["Swiss Design","Bold Typography","Grid Layout","GitHub Pages"],"card_description":"Bold, typographic theme inspired by Swiss International Style design.","category":"Blog","card_image":"/assets/images/themes/swiss-card.webp","theme_screenshots":["/assets/images/themes/swiss-screenshot.webp","/assets/images/themes/swiss-screenshot-2.webp","/assets/images/themes/swiss-screenshot-3.webp"],"demo_url":"https://broccolini.net/swiss/","github_url":"https://github.com/broccolini/swiss","author":"GitHub Community","github_author_name":"broccolini","github_author_url":"https://github.com/broccolini","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag","jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":400,"forks":200,"features":["Swiss International Style design aesthetic","Bold typographic headings","Clean grid layout","Black and white colour palette","Responsive design","GitHub Pages compatible","Fast and lightweight","Focus on editorial typography"],"slug":"swiss","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/tactile","collection":"themes","next":{"path":"_themes/tale.md","relative_path":"_themes/tale.md","excerpt":"<p>Tale is a minimal Jekyll theme built around the idea that nothing should compete with your writing. Its single-column layout, careful typographic choices, and complete absence of visual clutter create a reading experience that feels calm and focused.</p>\n\n","previous":{"path":"_themes/tactile.md","relative_path":"_themes/tactile.md","id":"/themes/tactile","collection":"themes","url":"/themes/tactile/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tactile Jekyll Theme","description":"A textured, warm GitHub Pages Jekyll theme with a hand-crafted sidebar style. Official GitHub Pages theme with classic personality and charm.","key_features":["GitHub Pages","Hand-Crafted Style","Warm Palette","Official GH Theme"],"card_description":"Textured, warm GitHub Pages theme with hand-crafted sidebar style.","category":"Personal","card_image":"/assets/images/themes/tactile-card.webp","theme_screenshots":["/assets/images/themes/tactile-screenshot.webp","/assets/images/themes/tactile-screenshot-2.webp","/assets/images/themes/tactile-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/tactile/","github_url":"https://github.com/pages-themes/tactile","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Textured sidebar with handcrafted aesthetic","Green accent colour scheme","Responsive sidebar layout","Single-line enable via _config.yml","No local setup required","Distinctive, warm personality"],"slug":"tactile","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/tale","collection":"themes","next":{"path":"_themes/type-theme.md","relative_path":"_themes/type-theme.md","id":"/themes/type-theme","collection":"themes","url":"/themes/type-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Type Theme Jekyll Theme","description":"A free, open-source theme for Jekyll focused purely on typography and reading. Minimal design, fast load times, and a beautifully simple blog layout for writers who mean business.","key_features":["Typography Focus","Minimal Design","GitHub Pages","Fast Loading"],"card_description":"Typography-focused minimal theme for writers who value clean reading.","category":"Blog","card_image":"/assets/images/themes/type-theme-card.webp","theme_screenshots":["/assets/images/themes/type-theme-screenshot.webp","/assets/images/themes/type-theme-screenshot-2.webp","/assets/images/themes/type-theme-screenshot-3.webp"],"demo_url":"https://rohanchandra.github.io/type-theme/","github_url":"https://github.com/rohanchandra/type-theme","author":"GitHub Community","github_author_name":"rohanchandra","github_author_url":"https://github.com/rohanchandra","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2021-06-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1000,"forks":600,"features":["Typography-first design","Google Fonts integration","Paginated post listing","Category and tag pages","Syntax highlighting","Disqus comments","Google Analytics","RSS feed","Social links in header","GitHub Pages compatible"],"slug":"type-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Tale is a minimal Jekyll theme built around the idea that nothing should compete with your writing. Its single-column layout, careful typographic choices, and complete absence of visual clutter create a reading experience that feels calm and focused.\n\nThe theme handles the basics well — pagination, tags, syntax highlighting, comments — without adding anything unnecessary. If you've ever felt that most blog themes have too much going on, Tale is the answer.\n\n**Who is it for?** Writers, journalists, and developers who want their words to be the centrepiece of every page with no distracting chrome around them.\n","url":"/themes/tale/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tale Jekyll Theme","description":"An minimal Jekyll theme focused on content. Elegant single-column layout with beautiful typography, clean post listings, and zero visual noise — perfect for long-form writing.","key_features":["Single Column","Clean Typography","Minimal Design","GitHub Pages"],"card_description":"Minimal, elegant single-column blog for long-form writing.","category":"Blog","card_image":"/assets/images/themes/tale-card.webp","theme_screenshots":["/assets/images/themes/tale-screenshot.webp","/assets/images/themes/tale-screenshot-2.webp","/assets/images/themes/tale-screenshot-3.webp"],"demo_url":"https://chesterhow.github.io/tale/","github_url":"https://github.com/chesterhow/tale","author":"GitHub Community","github_author_name":"chesterhow","github_author_url":"https://github.com/chesterhow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.1","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2022-06-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1400,"forks":500,"features":["Minimal single-column layout","Paginated post listing","Tag-based post organisation","Post estimated reading time","Syntax highlighting","Disqus comments support","Google Analytics","RSS feed","Responsive design","GitHub Pages compatible"],"slug":"tale","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Tactile is the most characterful of GitHub's official themes. Its wood-grain-textured sidebar and green accent colour palette give it a warm, handcrafted feel that's quite unlike the clean minimalism of the other official themes. The result is a site that feels personal and approachable — like something built with care.\n\nIt's particularly effective for open-source projects that want to stand out, personal portfolios with a creative bent, or any project that wants its page to have a real identity.\n\n**Who is it for?** Developers and creators who want a GitHub Pages site with distinct visual personality and warmth, as an alternative to the more minimal official themes.\n","url":"/themes/tactile/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tactile Jekyll Theme","description":"A textured, warm GitHub Pages Jekyll theme with a hand-crafted sidebar style. Official GitHub Pages theme with classic personality and charm.","key_features":["GitHub Pages","Hand-Crafted Style","Warm Palette","Official GH Theme"],"card_description":"Textured, warm GitHub Pages theme with hand-crafted sidebar style.","category":"Personal","card_image":"/assets/images/themes/tactile-card.webp","theme_screenshots":["/assets/images/themes/tactile-screenshot.webp","/assets/images/themes/tactile-screenshot-2.webp","/assets/images/themes/tactile-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/tactile/","github_url":"https://github.com/pages-themes/tactile","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Textured sidebar with handcrafted aesthetic","Green accent colour scheme","Responsive sidebar layout","Single-line enable via _config.yml","No local setup required","Distinctive, warm personality"],"slug":"tactile","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/tale.md","relative_path":"_themes/tale.md","excerpt":"<p>Tale is a minimal Jekyll theme built around the idea that nothing should compete with your writing. Its single-column layout, careful typographic choices, and complete absence of visual clutter create a reading experience that feels calm and focused.</p>\n\n","previous":{"path":"_themes/tactile.md","relative_path":"_themes/tactile.md","excerpt":"<p>Tactile is the most characterful of GitHub’s official themes. Its wood-grain-textured sidebar and green accent colour palette give it a warm, handcrafted feel that’s quite unlike the clean minimalism of the other official themes. The result is a site that feels personal and approachable — like something built with care.</p>\n\n","previous":{"path":"_themes/swiss.md","relative_path":"_themes/swiss.md","id":"/themes/swiss","collection":"themes","url":"/themes/swiss/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Swiss Jekyll Theme","description":"A bold, typographic Jekyll theme inspired by International Swiss Style design. Strong grid, oversized headings, and a clean black-and-white palette that puts typography first.","key_features":["Swiss Design","Bold Typography","Grid Layout","GitHub Pages"],"card_description":"Bold, typographic theme inspired by Swiss International Style design.","category":"Blog","card_image":"/assets/images/themes/swiss-card.webp","theme_screenshots":["/assets/images/themes/swiss-screenshot.webp","/assets/images/themes/swiss-screenshot-2.webp","/assets/images/themes/swiss-screenshot-3.webp"],"demo_url":"https://broccolini.net/swiss/","github_url":"https://github.com/broccolini/swiss","author":"GitHub Community","github_author_name":"broccolini","github_author_url":"https://github.com/broccolini","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag","jekyll-feed"],"updated_at":"2022-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":400,"forks":200,"features":["Swiss International Style design aesthetic","Bold typographic headings","Clean grid layout","Black and white colour palette","Responsive design","GitHub Pages compatible","Fast and lightweight","Focus on editorial typography"],"slug":"swiss","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/tactile","collection":"themes","next":{"path":"_themes/tale.md","relative_path":"_themes/tale.md","id":"/themes/tale","collection":"themes","url":"/themes/tale/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tale Jekyll Theme","description":"An minimal Jekyll theme focused on content. Elegant single-column layout with beautiful typography, clean post listings, and zero visual noise — perfect for long-form writing.","key_features":["Single Column","Clean Typography","Minimal Design","GitHub Pages"],"card_description":"Minimal, elegant single-column blog for long-form writing.","category":"Blog","card_image":"/assets/images/themes/tale-card.webp","theme_screenshots":["/assets/images/themes/tale-screenshot.webp","/assets/images/themes/tale-screenshot-2.webp","/assets/images/themes/tale-screenshot-3.webp"],"demo_url":"https://chesterhow.github.io/tale/","github_url":"https://github.com/chesterhow/tale","author":"GitHub Community","github_author_name":"chesterhow","github_author_url":"https://github.com/chesterhow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.1","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2022-06-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1400,"forks":500,"features":["Minimal single-column layout","Paginated post listing","Tag-based post organisation","Post estimated reading time","Syntax highlighting","Disqus comments support","Google Analytics","RSS feed","Responsive design","GitHub Pages compatible"],"slug":"tale","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Tactile is the most characterful of GitHub's official themes. Its wood-grain-textured sidebar and green accent colour palette give it a warm, handcrafted feel that's quite unlike the clean minimalism of the other official themes. The result is a site that feels personal and approachable — like something built with care.\n\nIt's particularly effective for open-source projects that want to stand out, personal portfolios with a creative bent, or any project that wants its page to have a real identity.\n\n**Who is it for?** Developers and creators who want a GitHub Pages site with distinct visual personality and warmth, as an alternative to the more minimal official themes.\n","url":"/themes/tactile/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tactile Jekyll Theme","description":"A textured, warm GitHub Pages Jekyll theme with a hand-crafted sidebar style. Official GitHub Pages theme with classic personality and charm.","key_features":["GitHub Pages","Hand-Crafted Style","Warm Palette","Official GH Theme"],"card_description":"Textured, warm GitHub Pages theme with hand-crafted sidebar style.","category":"Personal","card_image":"/assets/images/themes/tactile-card.webp","theme_screenshots":["/assets/images/themes/tactile-screenshot.webp","/assets/images/themes/tactile-screenshot-2.webp","/assets/images/themes/tactile-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/tactile/","github_url":"https://github.com/pages-themes/tactile","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Textured sidebar with handcrafted aesthetic","Green accent colour scheme","Responsive sidebar layout","Single-line enable via _config.yml","No local setup required","Distinctive, warm personality"],"slug":"tactile","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/tale","collection":"themes","next":{"path":"_themes/type-theme.md","relative_path":"_themes/type-theme.md","excerpt":"<p>Type Theme is built on a single conviction: typography is everything. Rohan Chandra stripped away everything that wasn’t essential to reading and writing, leaving a theme that loads fast, renders beautifully, and gets out of the author’s way.</p>\n\n","previous":{"path":"_themes/tale.md","relative_path":"_themes/tale.md","id":"/themes/tale","collection":"themes","url":"/themes/tale/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tale Jekyll Theme","description":"An minimal Jekyll theme focused on content. Elegant single-column layout with beautiful typography, clean post listings, and zero visual noise — perfect for long-form writing.","key_features":["Single Column","Clean Typography","Minimal Design","GitHub Pages"],"card_description":"Minimal, elegant single-column blog for long-form writing.","category":"Blog","card_image":"/assets/images/themes/tale-card.webp","theme_screenshots":["/assets/images/themes/tale-screenshot.webp","/assets/images/themes/tale-screenshot-2.webp","/assets/images/themes/tale-screenshot-3.webp"],"demo_url":"https://chesterhow.github.io/tale/","github_url":"https://github.com/chesterhow/tale","author":"GitHub Community","github_author_name":"chesterhow","github_author_url":"https://github.com/chesterhow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.1","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2022-06-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1400,"forks":500,"features":["Minimal single-column layout","Paginated post listing","Tag-based post organisation","Post estimated reading time","Syntax highlighting","Disqus comments support","Google Analytics","RSS feed","Responsive design","GitHub Pages compatible"],"slug":"tale","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/type-theme","collection":"themes","next":{"path":"_themes/yat.md","relative_path":"_themes/yat.md","id":"/themes/yat","collection":"themes","url":"/themes/yat/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"YAT Jekyll Theme","description":"Yet Another Theme — a modern, flat-design Jekyll blog theme with night mode, multi-language support, and beautiful typography. Clean, fast, and elegant for writers and developers alike.","key_features":["Night Mode","Multi-Language","Flat Design","GitHub Pages"],"card_description":"Modern flat-design blog with night mode and multi-language support.","category":"Blog","card_image":"/assets/images/themes/yat-card.webp","theme_screenshots":["/assets/images/themes/yat-screenshot.webp","/assets/images/themes/yat-screenshot-2.webp","/assets/images/themes/yat-screenshot-3.webp"],"demo_url":"https://jeffreytse.github.io/jekyll-theme-yat/","github_url":"https://github.com/jeffreytse/jekyll-theme-yat","author":"GitHub Community","github_author_name":"jeffreytse","github_author_url":"https://github.com/jeffreytse","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-03-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"1.9.0","license":"MIT","stars":1200,"forks":300,"features":["Night mode with smooth toggle","Multi-language (i18n) support","Post categories and tags","Full-width banner images per post","Disqus and Utterances comments","Google Analytics integration","Beautiful code syntax highlighting","Responsive image support","Reading time estimate","GitHub Pages compatible"],"slug":"yat","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Type Theme is built on a single conviction: typography is everything. Rohan Chandra stripped away everything that wasn't essential to reading and writing, leaving a theme that loads fast, renders beautifully, and gets out of the author's way.\n\nThe Google Fonts integration gives it more typographic flexibility than most minimal themes, and the clean header with social links strikes a good balance between personality and restraint. It's also the base for the popular Type on Strap fork, which extends it with additional features.\n\n**Who is it for?** Writers and bloggers who want a typography-focused, distraction-free reading experience and a theme that's fast, simple, and easy to customise.\n","url":"/themes/type-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Type Theme Jekyll Theme","description":"A free, open-source theme for Jekyll focused purely on typography and reading. Minimal design, fast load times, and a beautifully simple blog layout for writers who mean business.","key_features":["Typography Focus","Minimal Design","GitHub Pages","Fast Loading"],"card_description":"Typography-focused minimal theme for writers who value clean reading.","category":"Blog","card_image":"/assets/images/themes/type-theme-card.webp","theme_screenshots":["/assets/images/themes/type-theme-screenshot.webp","/assets/images/themes/type-theme-screenshot-2.webp","/assets/images/themes/type-theme-screenshot-3.webp"],"demo_url":"https://rohanchandra.github.io/type-theme/","github_url":"https://github.com/rohanchandra/type-theme","author":"GitHub Community","github_author_name":"rohanchandra","github_author_url":"https://github.com/rohanchandra","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2021-06-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1000,"forks":600,"features":["Typography-first design","Google Fonts integration","Paginated post listing","Category and tag pages","Syntax highlighting","Disqus comments","Google Analytics","RSS feed","Social links in header","GitHub Pages compatible"],"slug":"type-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Tale is a minimal Jekyll theme built around the idea that nothing should compete with your writing. Its single-column layout, careful typographic choices, and complete absence of visual clutter create a reading experience that feels calm and focused.\n\nThe theme handles the basics well — pagination, tags, syntax highlighting, comments — without adding anything unnecessary. If you've ever felt that most blog themes have too much going on, Tale is the answer.\n\n**Who is it for?** Writers, journalists, and developers who want their words to be the centrepiece of every page with no distracting chrome around them.\n","url":"/themes/tale/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tale Jekyll Theme","description":"An minimal Jekyll theme focused on content. Elegant single-column layout with beautiful typography, clean post listings, and zero visual noise — perfect for long-form writing.","key_features":["Single Column","Clean Typography","Minimal Design","GitHub Pages"],"card_description":"Minimal, elegant single-column blog for long-form writing.","category":"Blog","card_image":"/assets/images/themes/tale-card.webp","theme_screenshots":["/assets/images/themes/tale-screenshot.webp","/assets/images/themes/tale-screenshot-2.webp","/assets/images/themes/tale-screenshot-3.webp"],"demo_url":"https://chesterhow.github.io/tale/","github_url":"https://github.com/chesterhow/tale","author":"GitHub Community","github_author_name":"chesterhow","github_author_url":"https://github.com/chesterhow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.1","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2022-06-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1400,"forks":500,"features":["Minimal single-column layout","Paginated post listing","Tag-based post organisation","Post estimated reading time","Syntax highlighting","Disqus comments support","Google Analytics","RSS feed","Responsive design","GitHub Pages compatible"],"slug":"tale","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/type-theme.md","relative_path":"_themes/type-theme.md","excerpt":"<p>Type Theme is built on a single conviction: typography is everything. Rohan Chandra stripped away everything that wasn’t essential to reading and writing, leaving a theme that loads fast, renders beautifully, and gets out of the author’s way.</p>\n\n","previous":{"path":"_themes/tale.md","relative_path":"_themes/tale.md","excerpt":"<p>Tale is a minimal Jekyll theme built around the idea that nothing should compete with your writing. Its single-column layout, careful typographic choices, and complete absence of visual clutter create a reading experience that feels calm and focused.</p>\n\n","previous":{"path":"_themes/tactile.md","relative_path":"_themes/tactile.md","id":"/themes/tactile","collection":"themes","url":"/themes/tactile/","draft":false,"categories":["Personal"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tactile Jekyll Theme","description":"A textured, warm GitHub Pages Jekyll theme with a hand-crafted sidebar style. Official GitHub Pages theme with classic personality and charm.","key_features":["GitHub Pages","Hand-Crafted Style","Warm Palette","Official GH Theme"],"card_description":"Textured, warm GitHub Pages theme with hand-crafted sidebar style.","category":"Personal","card_image":"/assets/images/themes/tactile-card.webp","theme_screenshots":["/assets/images/themes/tactile-screenshot.webp","/assets/images/themes/tactile-screenshot-2.webp","/assets/images/themes/tactile-screenshot-3.webp"],"demo_url":"https://pages-themes.github.io/tactile/","github_url":"https://github.com/pages-themes/tactile","author":"GitHub Community","github_author_name":"GitHub","github_author_url":"https://github.com/pages-themes","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-seo-tag"],"updated_at":"2023-01-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"0.2.0","license":"CC0-1.0","stars":500,"forks":450,"features":["Official GitHub Pages supported theme","Textured sidebar with handcrafted aesthetic","Green accent colour scheme","Responsive sidebar layout","Single-line enable via _config.yml","No local setup required","Distinctive, warm personality"],"slug":"tactile","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/tale","collection":"themes","next":{"path":"_themes/type-theme.md","relative_path":"_themes/type-theme.md","id":"/themes/type-theme","collection":"themes","url":"/themes/type-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Type Theme Jekyll Theme","description":"A free, open-source theme for Jekyll focused purely on typography and reading. Minimal design, fast load times, and a beautifully simple blog layout for writers who mean business.","key_features":["Typography Focus","Minimal Design","GitHub Pages","Fast Loading"],"card_description":"Typography-focused minimal theme for writers who value clean reading.","category":"Blog","card_image":"/assets/images/themes/type-theme-card.webp","theme_screenshots":["/assets/images/themes/type-theme-screenshot.webp","/assets/images/themes/type-theme-screenshot-2.webp","/assets/images/themes/type-theme-screenshot-3.webp"],"demo_url":"https://rohanchandra.github.io/type-theme/","github_url":"https://github.com/rohanchandra/type-theme","author":"GitHub Community","github_author_name":"rohanchandra","github_author_url":"https://github.com/rohanchandra","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2021-06-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1000,"forks":600,"features":["Typography-first design","Google Fonts integration","Paginated post listing","Category and tag pages","Syntax highlighting","Disqus comments","Google Analytics","RSS feed","Social links in header","GitHub Pages compatible"],"slug":"type-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Tale is a minimal Jekyll theme built around the idea that nothing should compete with your writing. Its single-column layout, careful typographic choices, and complete absence of visual clutter create a reading experience that feels calm and focused.\n\nThe theme handles the basics well — pagination, tags, syntax highlighting, comments — without adding anything unnecessary. If you've ever felt that most blog themes have too much going on, Tale is the answer.\n\n**Who is it for?** Writers, journalists, and developers who want their words to be the centrepiece of every page with no distracting chrome around them.\n","url":"/themes/tale/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tale Jekyll Theme","description":"An minimal Jekyll theme focused on content. Elegant single-column layout with beautiful typography, clean post listings, and zero visual noise — perfect for long-form writing.","key_features":["Single Column","Clean Typography","Minimal Design","GitHub Pages"],"card_description":"Minimal, elegant single-column blog for long-form writing.","category":"Blog","card_image":"/assets/images/themes/tale-card.webp","theme_screenshots":["/assets/images/themes/tale-screenshot.webp","/assets/images/themes/tale-screenshot-2.webp","/assets/images/themes/tale-screenshot-3.webp"],"demo_url":"https://chesterhow.github.io/tale/","github_url":"https://github.com/chesterhow/tale","author":"GitHub Community","github_author_name":"chesterhow","github_author_url":"https://github.com/chesterhow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.1","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2022-06-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1400,"forks":500,"features":["Minimal single-column layout","Paginated post listing","Tag-based post organisation","Post estimated reading time","Syntax highlighting","Disqus comments support","Google Analytics","RSS feed","Responsive design","GitHub Pages compatible"],"slug":"tale","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/type-theme","collection":"themes","next":{"path":"_themes/yat.md","relative_path":"_themes/yat.md","excerpt":"<p>YAT (Yet Another Theme) lives up to its understated name by quietly being one of the best-looking modern Jekyll blog themes available. Its flat design aesthetic feels fresh without being trendy, and the night mode implementation — with a smooth toggle that remembers your preference — is genuinely pleasant to use.</p>\n\n","previous":{"path":"_themes/type-theme.md","relative_path":"_themes/type-theme.md","id":"/themes/type-theme","collection":"themes","url":"/themes/type-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Type Theme Jekyll Theme","description":"A free, open-source theme for Jekyll focused purely on typography and reading. Minimal design, fast load times, and a beautifully simple blog layout for writers who mean business.","key_features":["Typography Focus","Minimal Design","GitHub Pages","Fast Loading"],"card_description":"Typography-focused minimal theme for writers who value clean reading.","category":"Blog","card_image":"/assets/images/themes/type-theme-card.webp","theme_screenshots":["/assets/images/themes/type-theme-screenshot.webp","/assets/images/themes/type-theme-screenshot-2.webp","/assets/images/themes/type-theme-screenshot-3.webp"],"demo_url":"https://rohanchandra.github.io/type-theme/","github_url":"https://github.com/rohanchandra/type-theme","author":"GitHub Community","github_author_name":"rohanchandra","github_author_url":"https://github.com/rohanchandra","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2021-06-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1000,"forks":600,"features":["Typography-first design","Google Fonts integration","Paginated post listing","Category and tag pages","Syntax highlighting","Disqus comments","Google Analytics","RSS feed","Social links in header","GitHub Pages compatible"],"slug":"type-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/yat","collection":"themes","next":null,"output":null,"content":"YAT (Yet Another Theme) lives up to its understated name by quietly being one of the best-looking modern Jekyll blog themes available. Its flat design aesthetic feels fresh without being trendy, and the night mode implementation — with a smooth toggle that remembers your preference — is genuinely pleasant to use.\n\nWhat sets YAT apart is the attention to detail: per-post full-width banner images, careful typographic spacing, and a colour palette that works equally well in light and dark modes. The multi-language support makes it a strong choice for bloggers writing in more than one language.\n\n**Who is it for?** Writers and developers who want a modern-feeling blog with dark mode and polished visual design, without the complexity of heavier themes.\n","url":"/themes/yat/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"YAT Jekyll Theme","description":"Yet Another Theme — a modern, flat-design Jekyll blog theme with night mode, multi-language support, and beautiful typography. Clean, fast, and elegant for writers and developers alike.","key_features":["Night Mode","Multi-Language","Flat Design","GitHub Pages"],"card_description":"Modern flat-design blog with night mode and multi-language support.","category":"Blog","card_image":"/assets/images/themes/yat-card.webp","theme_screenshots":["/assets/images/themes/yat-screenshot.webp","/assets/images/themes/yat-screenshot-2.webp","/assets/images/themes/yat-screenshot-3.webp"],"demo_url":"https://jeffreytse.github.io/jekyll-theme-yat/","github_url":"https://github.com/jeffreytse/jekyll-theme-yat","author":"GitHub Community","github_author_name":"jeffreytse","github_author_url":"https://github.com/jeffreytse","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-03-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"1.9.0","license":"MIT","stars":1200,"forks":300,"features":["Night mode with smooth toggle","Multi-language (i18n) support","Post categories and tags","Full-width banner images per post","Disqus and Utterances comments","Google Analytics integration","Beautiful code syntax highlighting","Responsive image support","Reading time estimate","GitHub Pages compatible"],"slug":"yat","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Type Theme is built on a single conviction: typography is everything. Rohan Chandra stripped away everything that wasn't essential to reading and writing, leaving a theme that loads fast, renders beautifully, and gets out of the author's way.\n\nThe Google Fonts integration gives it more typographic flexibility than most minimal themes, and the clean header with social links strikes a good balance between personality and restraint. It's also the base for the popular Type on Strap fork, which extends it with additional features.\n\n**Who is it for?** Writers and bloggers who want a typography-focused, distraction-free reading experience and a theme that's fast, simple, and easy to customise.\n","url":"/themes/type-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Type Theme Jekyll Theme","description":"A free, open-source theme for Jekyll focused purely on typography and reading. Minimal design, fast load times, and a beautifully simple blog layout for writers who mean business.","key_features":["Typography Focus","Minimal Design","GitHub Pages","Fast Loading"],"card_description":"Typography-focused minimal theme for writers who value clean reading.","category":"Blog","card_image":"/assets/images/themes/type-theme-card.webp","theme_screenshots":["/assets/images/themes/type-theme-screenshot.webp","/assets/images/themes/type-theme-screenshot-2.webp","/assets/images/themes/type-theme-screenshot-3.webp"],"demo_url":"https://rohanchandra.github.io/type-theme/","github_url":"https://github.com/rohanchandra/type-theme","author":"GitHub Community","github_author_name":"rohanchandra","github_author_url":"https://github.com/rohanchandra","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2021-06-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1000,"forks":600,"features":["Typography-first design","Google Fonts integration","Paginated post listing","Category and tag pages","Syntax highlighting","Disqus comments","Google Analytics","RSS feed","Social links in header","GitHub Pages compatible"],"slug":"type-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},{"path":"_themes/yat.md","relative_path":"_themes/yat.md","excerpt":"<p>YAT (Yet Another Theme) lives up to its understated name by quietly being one of the best-looking modern Jekyll blog themes available. Its flat design aesthetic feels fresh without being trendy, and the night mode implementation — with a smooth toggle that remembers your preference — is genuinely pleasant to use.</p>\n\n","previous":{"path":"_themes/type-theme.md","relative_path":"_themes/type-theme.md","excerpt":"<p>Type Theme is built on a single conviction: typography is everything. Rohan Chandra stripped away everything that wasn’t essential to reading and writing, leaving a theme that loads fast, renders beautifully, and gets out of the author’s way.</p>\n\n","previous":{"path":"_themes/tale.md","relative_path":"_themes/tale.md","id":"/themes/tale","collection":"themes","url":"/themes/tale/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Tale Jekyll Theme","description":"An minimal Jekyll theme focused on content. Elegant single-column layout with beautiful typography, clean post listings, and zero visual noise — perfect for long-form writing.","key_features":["Single Column","Clean Typography","Minimal Design","GitHub Pages"],"card_description":"Minimal, elegant single-column blog for long-form writing.","category":"Blog","card_image":"/assets/images/themes/tale-card.webp","theme_screenshots":["/assets/images/themes/tale-screenshot.webp","/assets/images/themes/tale-screenshot-2.webp","/assets/images/themes/tale-screenshot-3.webp"],"demo_url":"https://chesterhow.github.io/tale/","github_url":"https://github.com/chesterhow/tale","author":"GitHub Community","github_author_name":"chesterhow","github_author_url":"https://github.com/chesterhow","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.1","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2022-06-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1400,"forks":500,"features":["Minimal single-column layout","Paginated post listing","Tag-based post organisation","Post estimated reading time","Syntax highlighting","Disqus comments support","Google Analytics","RSS feed","Responsive design","GitHub Pages compatible"],"slug":"tale","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/type-theme","collection":"themes","next":{"path":"_themes/yat.md","relative_path":"_themes/yat.md","id":"/themes/yat","collection":"themes","url":"/themes/yat/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"YAT Jekyll Theme","description":"Yet Another Theme — a modern, flat-design Jekyll blog theme with night mode, multi-language support, and beautiful typography. Clean, fast, and elegant for writers and developers alike.","key_features":["Night Mode","Multi-Language","Flat Design","GitHub Pages"],"card_description":"Modern flat-design blog with night mode and multi-language support.","category":"Blog","card_image":"/assets/images/themes/yat-card.webp","theme_screenshots":["/assets/images/themes/yat-screenshot.webp","/assets/images/themes/yat-screenshot-2.webp","/assets/images/themes/yat-screenshot-3.webp"],"demo_url":"https://jeffreytse.github.io/jekyll-theme-yat/","github_url":"https://github.com/jeffreytse/jekyll-theme-yat","author":"GitHub Community","github_author_name":"jeffreytse","github_author_url":"https://github.com/jeffreytse","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-03-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"1.9.0","license":"MIT","stars":1200,"forks":300,"features":["Night mode with smooth toggle","Multi-language (i18n) support","Post categories and tags","Full-width banner images per post","Disqus and Utterances comments","Google Analytics integration","Beautiful code syntax highlighting","Responsive image support","Reading time estimate","GitHub Pages compatible"],"slug":"yat","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"output":null,"content":"Type Theme is built on a single conviction: typography is everything. Rohan Chandra stripped away everything that wasn't essential to reading and writing, leaving a theme that loads fast, renders beautifully, and gets out of the author's way.\n\nThe Google Fonts integration gives it more typographic flexibility than most minimal themes, and the clean header with social links strikes a good balance between personality and restraint. It's also the base for the popular Type on Strap fork, which extends it with additional features.\n\n**Who is it for?** Writers and bloggers who want a typography-focused, distraction-free reading experience and a theme that's fast, simple, and easy to customise.\n","url":"/themes/type-theme/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":false,"responsive":true,"title":"Type Theme Jekyll Theme","description":"A free, open-source theme for Jekyll focused purely on typography and reading. Minimal design, fast load times, and a beautifully simple blog layout for writers who mean business.","key_features":["Typography Focus","Minimal Design","GitHub Pages","Fast Loading"],"card_description":"Typography-focused minimal theme for writers who value clean reading.","category":"Blog","card_image":"/assets/images/themes/type-theme-card.webp","theme_screenshots":["/assets/images/themes/type-theme-screenshot.webp","/assets/images/themes/type-theme-screenshot-2.webp","/assets/images/themes/type-theme-screenshot-3.webp"],"demo_url":"https://rohanchandra.github.io/type-theme/","github_url":"https://github.com/rohanchandra/type-theme","author":"GitHub Community","github_author_name":"rohanchandra","github_author_url":"https://github.com/rohanchandra","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.0","plugins":["jekyll-feed","jekyll-paginate","jekyll-sitemap","jekyll-seo-tag"],"updated_at":"2021-06-01","added_at":"2026-06-07","popular":false,"trending":false,"bestseller":false,"version":"1.0.0","license":"MIT","stars":1000,"forks":600,"features":["Typography-first design","Google Fonts integration","Paginated post listing","Category and tag pages","Syntax highlighting","Disqus comments","Google Analytics","RSS feed","Social links in header","GitHub Pages compatible"],"slug":"type-theme","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"},"id":"/themes/yat","collection":"themes","next":null,"output":null,"content":"YAT (Yet Another Theme) lives up to its understated name by quietly being one of the best-looking modern Jekyll blog themes available. Its flat design aesthetic feels fresh without being trendy, and the night mode implementation — with a smooth toggle that remembers your preference — is genuinely pleasant to use.\n\nWhat sets YAT apart is the attention to detail: per-post full-width banner images, careful typographic spacing, and a colour palette that works equally well in light and dark modes. The multi-language support makes it a strong choice for bloggers writing in more than one language.\n\n**Who is it for?** Writers and developers who want a modern-feeling blog with dark mode and polished visual design, without the complexity of heavier themes.\n","url":"/themes/yat/","draft":false,"categories":["Blog"],"layout":"theme","price_type":"free","featured":false,"dark_mode":true,"responsive":true,"title":"YAT Jekyll Theme","description":"Yet Another Theme — a modern, flat-design Jekyll blog theme with night mode, multi-language support, and beautiful typography. Clean, fast, and elegant for writers and developers alike.","key_features":["Night Mode","Multi-Language","Flat Design","GitHub Pages"],"card_description":"Modern flat-design blog with night mode and multi-language support.","category":"Blog","card_image":"/assets/images/themes/yat-card.webp","theme_screenshots":["/assets/images/themes/yat-screenshot.webp","/assets/images/themes/yat-screenshot-2.webp","/assets/images/themes/yat-screenshot-3.webp"],"demo_url":"https://jeffreytse.github.io/jekyll-theme-yat/","github_url":"https://github.com/jeffreytse/jekyll-theme-yat","author":"GitHub Community","github_author_name":"jeffreytse","github_author_url":"https://github.com/jeffreytse","author_url":"https://jekyllhub.com/authors/github-community/","github_pages_compatible":true,"min_jekyll_version":"3.9","plugins":["jekyll-feed","jekyll-sitemap","jekyll-seo-tag","jekyll-paginate"],"updated_at":"2024-03-01","added_at":"2026-06-07","popular":false,"trending":true,"bestseller":false,"version":"1.9.0","license":"MIT","stars":1200,"forks":300,"features":["Night mode with smooth toggle","Multi-language (i18n) support","Post categories and tags","Full-width banner images per post","Disqus and Utterances comments","Google Analytics integration","Beautiful code syntax highlighting","Responsive image support","Reading time estimate","GitHub Pages compatible"],"slug":"yat","ext":".md","tags":[],"date":"2026-07-04 00:10:24 +0000"}];
</script>

Number filters

plus, minus, times, divided_by, modulo

15       <!-- 15 -->
7      <!-- 7 -->
12       <!-- 12 -->
3 <!-- 3 (integer division) -->
1     <!-- 1 -->

ceil, floor, round, abs

5   <!-- 5 -->
4  <!-- 4 -->
4.57 <!-- 4.57 -->
5     <!-- 5 -->

Array filters

size

Works on strings and arrays.

74
6 <!-- 6 -->

first and last

Academic Pages is the most widely used academic personal website template on GitHub, with over 12,000 stars and hundreds of thousands of researchers using it worldwide. It's a fork of Minimal Mistakes, extended specifically for academic use cases: publications with BibTeX citations, conference talks with slides and video links, course teaching pages, a project portfolio, and a CV that generates itself from structured YAML files.

The fork-to-publish model is particularly popular in academia — researchers can have a live personal website on GitHub Pages within minutes, with no server, no CMS, and no ongoing cost.

**Who is it for?** Researchers, academics, PhD students, and scientists who want a professional web presence that highlights publications, talks, and research without complex web development.

YAT (Yet Another Theme) lives up to its understated name by quietly being one of the best-looking modern Jekyll blog themes available. Its flat design aesthetic feels fresh without being trendy, and the night mode implementation — with a smooth toggle that remembers your preference — is genuinely pleasant to use.

What sets YAT apart is the attention to detail: per-post full-width banner images, careful typographic spacing, and a colour palette that works equally well in light and dark modes. The multi-language support makes it a strong choice for bloggers writing in more than one language.

**Who is it for?** Writers and developers who want a modern-feeling blog with dark mode and polished visual design, without the complexity of heavier themes.

push and pop, shift and unshift

Add or remove items from an array.


{% assign updated = site.themes | push: new_theme %}

concat

Merges two arrays.


{% assign all_posts = site.posts | concat: site.pages %}

map

Extracts a single property from an array of objects.


{% assign titles = site.themes | map: "title" %}
{{ titles | join: ", " }}

where and where_exp

Filter an array by a property value.


{% assign premium = site.themes | where: "price_type", "premium" %}

{% assign recent = site.posts | where_exp: "post", "post.date > '2026-01-01'" %}

sort and sort_natural


{% assign sorted = site.themes | sort: "title" %}
{% assign sorted = site.themes | sort_natural: "title" %}

reverse


{% assign reversed = site.posts | reverse %}

uniq

Removes duplicate values from an array.


{% assign unique_cats = site.themes | map: "category" | uniq %}

group_by and group_by_exp

Groups an array of objects by a property.


{% assign by_category = site.themes | group_by: "category" %}
{% for group in by_category %}
  <h2>{{ group.name }}</h2>
  {% for theme in group.items %}
    <p>{{ theme.title }}</p>
  {% endfor %}
{% endfor %}

find and find_exp

Returns the first item matching a condition (Jekyll 4+).


{% assign featured = site.themes | find: "featured", true %}

sum

Adds up a numeric property across an array.

120008201120026003375000800620040721004441300980028004465454504001194945782110014881200700381110054009700900045058784003300780030057001400697300810190040060047431001330060044001500784220035320006005008421835207002109400500140010001200

compact

Removes nil values from an array.


{% assign clean = array | compact %}

flatten

Flattens a nested array.


{% assign flat = nested_array | flatten %}

Date filters

date

Formats a date using strftime syntax.

May 21, 2026
<!-- output: July 3, 2026 -->

2026-05-21
<!-- output: 2026-07-03 -->

21 May 2026
<!-- output: 03 Jul 2026 -->

Common format codes:

  • %Y — four-digit year
  • %m — zero-padded month (01–12)
  • %-m — month without padding (1–12)
  • %B — full month name
  • %b — abbreviated month name
  • %d — zero-padded day
  • %-d — day without padding
  • %A — full weekday name
  • %H:%M — 24-hour time

date_to_long_string and date_to_string

Jekyll shortcuts for common date formats.

21 May 2026
<!-- output: 03 July 2026 -->

21 May 2026
<!-- output: 03 Jul 2026 -->

date_to_xmlschema and date_to_rfc822

Used in feeds and structured data.

2026-05-21T00:00:00+00:00
<!-- output: 2026-07-03T00:00:00+00:00 -->

URL and path filters

relative_url and absolute_url

Essential — always use these instead of hardcoded paths.

<a href="/themes/">Browse themes</a>
<meta property="og:url" content="https://jekyllhub.com/tutorial/2026/05/21/jekyll-liquid-filters-cheatsheet/">

slugify

Converts a string to a URL-safe slug.

hello-world-how-are-you
<!-- output: hello-world-how-are-you -->

uri_escape

Percent-encodes a URI.

search%20query
<!-- output: search%20query -->

cgi_escape

CGI-escapes a string (spaces become +).

hello+world
<!-- output: hello+world -->

Miscellaneous

default

Returns a default value when the variable is nil, false, or empty.

Marcus Webb
/assets/images/blog/jekyll-liquid-filters-cheatsheet.webp

inspect

Outputs a Ruby representation of the object — invaluable for debugging.

{
  &quot;path&quot;: &quot;_posts/2026-05-21-jekyll-liquid-filters-cheatsheet.md&quot;,
  &quot;relative_path&quot;: &quot;_posts/2026-05-21-jekyll-liquid-filters-cheatsheet.md&quot;,
  &quot;excerpt&quot;: &quot;&lt;p&gt;Liquid filters transform output in Jekyll templates. They are chained with the pipe character &lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;|&lt;/code&gt; and applied to variables, strings, numbers, arrays, and dates. This cheatsheet covers every filter you will actually use, with real examples.&lt;/p&gt;\n\n&quot;,
  &quot;previous&quot;: {
    &quot;path&quot;: &quot;_posts/2026-05-20-jekyll-minimal-themes.md&quot;,
    &quot;relative_path&quot;: &quot;_posts/2026-05-20-jekyll-minimal-themes.md&quot;,
    &quot;excerpt&quot;: &quot;&lt;p&gt;Minimal themes are the most popular category in the Jekyll ecosystem — and for good reason. A minimal design puts the focus on your content, loads in milliseconds, and never goes out of style. Here are the best minimal Jekyll themes in 2026.&lt;/p&gt;\n\n&quot;,
    &quot;previous&quot;: {
      &quot;path&quot;: &quot;_posts/2026-05-19-jekyll-vs-nextjs.md&quot;,
      &quot;relative_path&quot;: &quot;_posts/2026-05-19-jekyll-vs-nextjs.md&quot;,
      &quot;excerpt&quot;: &quot;&lt;p&gt;Jekyll and Next.js are both capable of producing fast, statically-generated websites. But comparing them is a bit like comparing a bicycle to a car — they are built for different journeys. This guide cuts through the noise and tells you which one fits your project.&lt;/p&gt;\n\n&quot;,
      &quot;previous&quot;: {
        &quot;path&quot;: &quot;_posts/2026-05-18-jekyll-custom-domain.md&quot;,
        &quot;relative_path&quot;: &quot;_posts/2026-05-18-jekyll-custom-domain.md&quot;,
        &quot;id&quot;: &quot;/tutorial/2026/05/18/jekyll-custom-domain&quot;,
        &quot;collection&quot;: &quot;posts&quot;,
        &quot;url&quot;: &quot;/tutorial/2026/05/18/jekyll-custom-domain/&quot;,
        &quot;draft&quot;: false,
        &quot;categories&quot;: [
          &quot;Tutorial&quot;
        ],
        &quot;layout&quot;: &quot;post&quot;,
        &quot;title&quot;: &quot;How to Set Up a Custom Domain for Your Jekyll Site&quot;,
        &quot;description&quot;: &quot;Connect a custom domain to your Jekyll site on GitHub Pages, Netlify, or Cloudflare Pages — with DNS setup, HTTPS configuration, and www vs apex domain guidance.&quot;,
        &quot;date&quot;: &quot;2026-05-18 00:00:00 +0000&quot;,
        &quot;last_modified_at&quot;: &quot;2026-05-18&quot;,
        &quot;image&quot;: &quot;/assets/images/blog/jekyll-custom-domain.webp&quot;,
        &quot;author&quot;: &quot;Marcus Webb&quot;,
        &quot;category&quot;: &quot;Tutorial&quot;,
        &quot;featured&quot;: false,
        &quot;related_category&quot;: &quot;Documentation&quot;,
        &quot;toc&quot;: true,
        &quot;tags&quot;: [
          &quot;jekyll custom domain&quot;,
          &quot;github pages custom domain&quot;,
          &quot;netlify custom domain&quot;,
          &quot;jekyll domain setup&quot;
        ],
        &quot;slug&quot;: &quot;jekyll-custom-domain&quot;,
        &quot;ext&quot;: &quot;.md&quot;
      },
      &quot;id&quot;: &quot;/comparison/2026/05/19/jekyll-vs-nextjs&quot;,
      &quot;collection&quot;: &quot;posts&quot;,
      &quot;next&quot;: {
        &quot;path&quot;: &quot;_posts/2026-05-20-jekyll-minimal-themes.md&quot;,
        &quot;relative_path&quot;: &quot;_posts/2026-05-20-jekyll-minimal-themes.md&quot;,
        &quot;id&quot;: &quot;/themes/2026/05/20/jekyll-minimal-themes&quot;,
        &quot;collection&quot;: &quot;posts&quot;,
        &quot;url&quot;: &quot;/themes/2026/05/20/jekyll-minimal-themes/&quot;,
        &quot;draft&quot;: false,
        &quot;categories&quot;: [
          &quot;Themes&quot;
        ],
        &quot;layout&quot;: &quot;post&quot;,
        &quot;title&quot;: &quot;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)&quot;,
        &quot;description&quot;: &quot;The best minimal Jekyll themes for blogs, portfolios, and personal sites — clean typography, fast load times, and zero visual clutter.&quot;,
        &quot;date&quot;: &quot;2026-05-20 00:00:00 +0000&quot;,
        &quot;last_modified_at&quot;: &quot;2026-07-05&quot;,
        &quot;image&quot;: &quot;/assets/images/blog/jekyll-minimal-themes.webp&quot;,
        &quot;author&quot;: &quot;Marcus Webb&quot;,
        &quot;category&quot;: &quot;Themes&quot;,
        &quot;featured&quot;: false,
        &quot;related_category&quot;: &quot;Blog&quot;,
        &quot;toc&quot;: true,
        &quot;slug&quot;: &quot;jekyll-minimal-themes&quot;,
        &quot;ext&quot;: &quot;.md&quot;,
        &quot;tags&quot;: [

        ]
      },
      &quot;output&quot;: &quot;&lt;!DOCTYPE html&gt;\n&lt;html lang=\&quot;en\&quot;&gt;\n&lt;head&gt;\n  &lt;meta charset=\&quot;UTF-8\&quot;&gt;\n  &lt;meta name=\&quot;viewport\&quot; content=\&quot;width=device-width, initial-scale=1.0\&quot;&gt;\n\n  &lt;!-- Begin Jekyll SEO tag v2.8.0 --&gt;\n&lt;title&gt;Jekyll vs Next.js: A Practical Comparison for 2026 | JekyllHub&lt;/title&gt;\n&lt;meta name=\&quot;generator\&quot; content=\&quot;Jekyll v3.10.0\&quot; /&gt;\n&lt;meta property=\&quot;og:title\&quot; content=\&quot;Jekyll vs Next.js: A Practical Comparison for 2026\&quot; /&gt;\n&lt;meta name=\&quot;author\&quot; content=\&quot;Marcus Webb\&quot; /&gt;\n&lt;meta property=\&quot;og:locale\&quot; content=\&quot;en_US\&quot; /&gt;\n&lt;meta name=\&quot;description\&quot; content=\&quot;Jekyll and Next.js both produce fast websites — but they are built for very different situations. Here is how to choose between them for your next project.\&quot; /&gt;\n&lt;meta property=\&quot;og:description\&quot; content=\&quot;Jekyll and Next.js both produce fast websites — but they are built for very different situations. Here is how to choose between them for your next project.\&quot; /&gt;\n&lt;link rel=\&quot;canonical\&quot; href=\&quot;https://jekyllhub.com/comparison/2026/05/19/jekyll-vs-nextjs/\&quot; /&gt;\n&lt;meta property=\&quot;og:url\&quot; content=\&quot;https://jekyllhub.com/comparison/2026/05/19/jekyll-vs-nextjs/\&quot; /&gt;\n&lt;meta property=\&quot;og:site_name\&quot; content=\&quot;JekyllHub\&quot; /&gt;\n&lt;meta property=\&quot;og:image\&quot; content=\&quot;https://jekyllhub.com/assets/images/blog/jekyll-vs-nextjs.webp\&quot; /&gt;\n&lt;meta property=\&quot;og:type\&quot; content=\&quot;article\&quot; /&gt;\n&lt;meta property=\&quot;article:published_time\&quot; content=\&quot;2026-05-19T00:00:00+00:00\&quot; /&gt;\n&lt;meta name=\&quot;twitter:card\&quot; content=\&quot;summary_large_image\&quot; /&gt;\n&lt;meta property=\&quot;twitter:image\&quot; content=\&quot;https://jekyllhub.com/assets/images/blog/jekyll-vs-nextjs.webp\&quot; /&gt;\n&lt;meta property=\&quot;twitter:title\&quot; content=\&quot;Jekyll vs Next.js: A Practical Comparison for 2026\&quot; /&gt;\n&lt;meta name=\&quot;twitter:site\&quot; content=\&quot;@jekyllhub\&quot; /&gt;\n&lt;meta name=\&quot;twitter:creator\&quot; content=\&quot;@Marcus Webb\&quot; /&gt;\n&lt;script type=\&quot;application/ld+json\&quot;&gt;\n{\&quot;@context\&quot;:\&quot;https://schema.org\&quot;,\&quot;@type\&quot;:\&quot;BlogPosting\&quot;,\&quot;author\&quot;:{\&quot;@type\&quot;:\&quot;Person\&quot;,\&quot;name\&quot;:\&quot;Marcus Webb\&quot;},\&quot;dateModified\&quot;:\&quot;2026-07-04T00:00:00+00:00\&quot;,\&quot;datePublished\&quot;:\&quot;2026-05-19T00:00:00+00:00\&quot;,\&quot;description\&quot;:\&quot;Jekyll and Next.js both produce fast websites — but they are built for very different situations. Here is how to choose between them for your next project.\&quot;,\&quot;headline\&quot;:\&quot;Jekyll vs Next.js: A Practical Comparison for 2026\&quot;,\&quot;image\&quot;:\&quot;https://jekyllhub.com/assets/images/blog/jekyll-vs-nextjs.webp\&quot;,\&quot;mainEntityOfPage\&quot;:{\&quot;@type\&quot;:\&quot;WebPage\&quot;,\&quot;@id\&quot;:\&quot;https://jekyllhub.com/comparison/2026/05/19/jekyll-vs-nextjs/\&quot;},\&quot;url\&quot;:\&quot;https://jekyllhub.com/comparison/2026/05/19/jekyll-vs-nextjs/\&quot;}&lt;/script&gt;\n&lt;!-- End Jekyll SEO tag --&gt;\n\n  &lt;meta name=\&quot;impact-site-verification\&quot; value=\&quot;362087e7-78c6-43e3-b39c-5ddb44047f61\&quot;&gt;\n\n  &lt;!-- og:site_name and og:image: kept here as jekyll-seo-tag does not set these reliably. --&gt;\n  &lt;!-- All other canonical/OG/Twitter tags are handled by the seo tag above. --&gt;\n  &lt;meta property=\&quot;og:site_name\&quot; content=\&quot;JekyllHub\&quot;&gt;\n\n  &lt;!-- OG / Twitter image — use page card_image, else fall back to social-card.png --&gt;\n  \n  \n  &lt;meta property=\&quot;og:image\&quot; content=\&quot;https://jekyllhub.com/assets/images/blog/jekyll-vs-nextjs.webp\&quot;&gt;\n  &lt;meta name=\&quot;twitter:image\&quot; content=\&quot;https://jekyllhub.com/assets/images/blog/jekyll-vs-nextjs.webp\&quot;&gt;\n  \n\n  &lt;!-- Fonts --&gt;\n  &lt;link rel=\&quot;preconnect\&quot; href=\&quot;https://fonts.googleapis.com\&quot;&gt;\n  &lt;link rel=\&quot;preconnect\&quot; href=\&quot;https://fonts.gstatic.com\&quot; crossorigin&gt;\n  &lt;link href=\&quot;https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,300;12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&amp;family=DM+Mono:ital,wght@0,300;0,400;0,500;1,400&amp;family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&amp;display=swap\&quot; rel=\&quot;stylesheet\&quot;&gt;\n\n  &lt;!-- Dark mode: read stored preference before CSS loads to prevent flash --&gt;\n  &lt;script&gt;\n    (function() {\n      var stored = localStorage.getItem(&apos;tf_theme&apos;);\n      var theme = stored ? stored : (window.matchMedia &amp;&amp; window.matchMedia(&apos;(prefers-color-scheme: dark)&apos;).matches ? &apos;dark&apos; : &apos;light&apos;);\n      document.documentElement.setAttribute(&apos;data-theme&apos;, theme);\n    })();\n  &lt;/script&gt;\n\n  &lt;!-- Stylesheet --&gt;\n  &lt;link rel=\&quot;stylesheet\&quot; href=\&quot;/assets/css/main.css\&quot;&gt;\n\n  &lt;!-- Favicon --&gt;\n  &lt;link rel=\&quot;icon\&quot; type=\&quot;image/svg+xml\&quot; href=\&quot;/assets/images/favicon.svg\&quot;&gt;\n\n  &lt;!-- Structured Data --&gt;\n  \n  &lt;script type=\&quot;application/ld+json\&quot;&gt;\n  {\n    \&quot;@context\&quot;: \&quot;https://schema.org\&quot;,\n    \&quot;@type\&quot;: \&quot;WebSite\&quot;,\n    \&quot;name\&quot;: \&quot;JekyllHub\&quot;,\n    \&quot;description\&quot;: \&quot;The premier marketplace for Jekyll themes. Browse, preview, and download stunning themes for your next project.\&quot;,\n    \&quot;url\&quot;: \&quot;https://jekyllhub.com\&quot;\n  }\n  &lt;/script&gt;\n  \n\n  &lt;!-- Analytics --&gt;\n  \n\n  \n  \n  &lt;!-- Google tag (gtag.js) --&gt;\n  &lt;script async src=\&quot;https://www.googletagmanager.com/gtag/js?id=G-W5Z2Z9GNPG\&quot;&gt;&lt;/script&gt;\n  &lt;script&gt;\n    window.dataLayer = window.dataLayer || [];\n    function gtag(){dataLayer.push(arguments);}\n    gtag(&apos;js&apos;, new Date());\n    gtag(&apos;config&apos;, &apos;G-W5Z2Z9GNPG&apos;);\n  &lt;/script&gt;\n  \n\n  \n  \n\n\n\n&lt;/head&gt;\n&lt;body&gt;\n  \n\n&lt;div class=\&quot;announcement-bar announcement-bar--dark\&quot; id=\&quot;announcement-bar\&quot; data-ann-id=\&quot;v1\&quot; role=\&quot;banner\&quot; aria-label=\&quot;Site announcement\&quot;&gt;\n  &lt;div class=\&quot;announcement-bar__inner\&quot;&gt;\n    &lt;p class=\&quot;announcement-bar__text\&quot;&gt;\n      🚀 New premium themes dropping soon — join the waitlist and get 20% off launch price\n      \n        &lt;a href=\&quot;/waitlist/\&quot; class=\&quot;announcement-bar__link\&quot;&gt;Join Waitlist →&lt;/a&gt;\n      \n    &lt;/p&gt;\n    &lt;button class=\&quot;announcement-bar__close\&quot; aria-label=\&quot;Dismiss announcement\&quot; onclick=\&quot;dismissAnnouncement(&apos;v1&apos;)\&quot;&gt;\n      &lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; viewBox=\&quot;0 0 24 24\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; stroke-width=\&quot;2.5\&quot; stroke-linecap=\&quot;round\&quot;&gt;&lt;line x1=\&quot;18\&quot; y1=\&quot;6\&quot; x2=\&quot;6\&quot; y2=\&quot;18\&quot;/&gt;&lt;line x1=\&quot;6\&quot; y1=\&quot;6\&quot; x2=\&quot;18\&quot; y2=\&quot;18\&quot;/&gt;&lt;/svg&gt;\n    &lt;/button&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n\n  &lt;nav class=\&quot;navbar\&quot; id=\&quot;navbar\&quot; x-data=\&quot;{ mobileOpen: false }\&quot;&gt;\n  &lt;div class=\&quot;container navbar__inner\&quot;&gt;\n    &lt;!-- Logo --&gt;\n    &lt;a href=\&quot;/\&quot; class=\&quot;navbar__logo\&quot; aria-label=\&quot;JekyllHub home\&quot;&gt;\n      &lt;span class=\&quot;navbar__logo-icon\&quot;&gt;\n        &lt;svg width=\&quot;32\&quot; height=\&quot;32\&quot; viewBox=\&quot;0 0 32 32\&quot; fill=\&quot;none\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n          &lt;rect width=\&quot;32\&quot; height=\&quot;32\&quot; rx=\&quot;9\&quot; fill=\&quot;#2563EB\&quot;/&gt;\n          &lt;!-- J letterform --&gt;\n          &lt;path d=\&quot;M19 8h-6v1h5v10c0 2.2-1.8 4-4 4s-4-1.8-4-4v-1H9v1c0 2.76 2.24 5 5 5s5-2.24 5-5V8z\&quot; fill=\&quot;white\&quot;/&gt;\n          &lt;!-- Hub dots --&gt;\n          &lt;circle cx=\&quot;23\&quot; cy=\&quot;9\&quot; r=\&quot;2.5\&quot; fill=\&quot;#F0C94B\&quot;/&gt;\n        &lt;/svg&gt;\n      &lt;/span&gt;\n      &lt;span class=\&quot;navbar__logo-text\&quot;&gt;Jekyll&lt;span class=\&quot;navbar__logo-accent\&quot;&gt;Hub&lt;/span&gt;&lt;/span&gt;\n    &lt;/a&gt;\n\n    &lt;!-- Desktop nav --&gt;\n    &lt;ul class=\&quot;navbar__links\&quot; role=\&quot;list\&quot;&gt;\n      &lt;li&gt;&lt;a href=\&quot;/themes/\&quot; class=\&quot;navbar__link \&quot;&gt;Browse&lt;/a&gt;&lt;/li&gt;\n      &lt;li&gt;&lt;a href=\&quot;/categories/\&quot; class=\&quot;navbar__link navbar__link--active\&quot;&gt;Categories&lt;/a&gt;&lt;/li&gt;\n      &lt;li&gt;&lt;a href=\&quot;/blog/\&quot; class=\&quot;navbar__link \&quot;&gt;Blog&lt;/a&gt;&lt;/li&gt;\n      &lt;li&gt;&lt;a href=\&quot;/showcase/\&quot; class=\&quot;navbar__link \&quot;&gt;Showcase&lt;/a&gt;&lt;/li&gt;\n    &lt;/ul&gt;\n\n    &lt;!-- Right controls --&gt;\n    &lt;div class=\&quot;navbar__actions\&quot;&gt;\n      &lt;!-- Search trigger --&gt;\n      &lt;button class=\&quot;navbar__icon-btn\&quot; id=\&quot;search-trigger\&quot; onclick=\&quot;JekyllHub.openSearch()\&quot; aria-label=\&quot;Search themes\&quot;&gt;\n        &lt;svg width=\&quot;20\&quot; height=\&quot;20\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n          &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\&quot;/&gt;\n        &lt;/svg&gt;\n      &lt;/button&gt;\n\n      &lt;!-- Bookmarks --&gt;\n      &lt;a href=\&quot;/bookmarks/\&quot; class=\&quot;navbar__icon-btn\&quot; aria-label=\&quot;Saved themes\&quot;&gt;\n        &lt;svg width=\&quot;20\&quot; height=\&quot;20\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n          &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z\&quot;/&gt;\n        &lt;/svg&gt;\n        &lt;span class=\&quot;navbar__badge\&quot; id=\&quot;bookmark-count\&quot; style=\&quot;display:none\&quot;&gt;0&lt;/span&gt;\n      &lt;/a&gt;\n\n      &lt;!-- Theme toggle --&gt;\n      &lt;button class=\&quot;navbar__icon-btn theme-toggle\&quot; id=\&quot;theme-toggle\&quot; onclick=\&quot;JekyllHub.toggleTheme()\&quot; aria-label=\&quot;Toggle dark mode\&quot;&gt;\n        &lt;svg class=\&quot;theme-toggle__sun\&quot; width=\&quot;20\&quot; height=\&quot;20\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n          &lt;circle cx=\&quot;12\&quot; cy=\&quot;12\&quot; r=\&quot;5\&quot; stroke-width=\&quot;2\&quot;/&gt;\n          &lt;path stroke-linecap=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42\&quot;/&gt;\n        &lt;/svg&gt;\n        &lt;svg class=\&quot;theme-toggle__moon\&quot; width=\&quot;20\&quot; height=\&quot;20\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n          &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z\&quot;/&gt;\n        &lt;/svg&gt;\n      &lt;/button&gt;\n\n      &lt;!-- Mobile menu toggle --&gt;\n      &lt;button class=\&quot;navbar__mobile-toggle\&quot; @click=\&quot;mobileOpen = !mobileOpen\&quot; :aria-expanded=\&quot;mobileOpen\&quot; aria-label=\&quot;Toggle menu\&quot;&gt;\n        &lt;svg x-show=\&quot;!mobileOpen\&quot; width=\&quot;22\&quot; height=\&quot;22\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n          &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M4 6h16M4 12h16M4 18h16\&quot;/&gt;\n        &lt;/svg&gt;\n        &lt;svg x-show=\&quot;mobileOpen\&quot; width=\&quot;22\&quot; height=\&quot;22\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n          &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M6 18L18 6M6 6l12 12\&quot;/&gt;\n        &lt;/svg&gt;\n      &lt;/button&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;!-- Mobile menu --&gt;\n  &lt;div class=\&quot;navbar__mobile-menu\&quot; x-show=\&quot;mobileOpen\&quot; x-transition:enter=\&quot;slide-down-enter\&quot; x-transition:enter-start=\&quot;slide-down-start\&quot; x-transition:enter-end=\&quot;slide-down-end\&quot; @click.away=\&quot;mobileOpen = false\&quot;&gt;\n    &lt;div class=\&quot;container\&quot;&gt;\n      &lt;ul role=\&quot;list\&quot;&gt;\n        &lt;li&gt;&lt;a href=\&quot;/themes/\&quot; class=\&quot;navbar__mobile-link\&quot;&gt;Browse Themes&lt;/a&gt;&lt;/li&gt;\n        &lt;li&gt;&lt;a href=\&quot;/categories/\&quot; class=\&quot;navbar__mobile-link\&quot;&gt;Categories&lt;/a&gt;&lt;/li&gt;\n        &lt;li&gt;&lt;a href=\&quot;/blog/\&quot; class=\&quot;navbar__mobile-link\&quot;&gt;Blog&lt;/a&gt;&lt;/li&gt;\n        &lt;li&gt;&lt;a href=\&quot;/showcase/\&quot; class=\&quot;navbar__mobile-link\&quot;&gt;Showcase&lt;/a&gt;&lt;/li&gt;\n        &lt;li&gt;&lt;a href=\&quot;/bookmarks/\&quot; class=\&quot;navbar__mobile-link\&quot;&gt;Saved Themes&lt;/a&gt;&lt;/li&gt;\n      &lt;/ul&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/nav&gt;\n\n&lt;!-- Search overlay --&gt;\n&lt;div id=\&quot;search-overlay\&quot; class=\&quot;search-overlay\&quot; role=\&quot;dialog\&quot; aria-modal=\&quot;true\&quot; aria-label=\&quot;Search\&quot; onclick=\&quot;JekyllHub.closeSearch()\&quot;&gt;\n  &lt;div class=\&quot;search-overlay__panel\&quot; onclick=\&quot;event.stopPropagation()\&quot;&gt;\n    &lt;div class=\&quot;search-overlay__input-wrap\&quot;&gt;\n      &lt;svg width=\&quot;20\&quot; height=\&quot;20\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot; class=\&quot;search-overlay__icon\&quot;&gt;\n        &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\&quot;/&gt;\n      &lt;/svg&gt;\n      &lt;input type=\&quot;search\&quot; id=\&quot;search-input\&quot; class=\&quot;search-overlay__input\&quot; placeholder=\&quot;Search themes and articles…\&quot; autocomplete=\&quot;off\&quot; aria-label=\&quot;Search\&quot;&gt;\n      &lt;kbd class=\&quot;search-overlay__esc\&quot; onclick=\&quot;JekyllHub.closeSearch()\&quot;&gt;ESC&lt;/kbd&gt;\n    &lt;/div&gt;\n    &lt;div id=\&quot;search-results\&quot; class=\&quot;search-overlay__results\&quot; role=\&quot;listbox\&quot;&gt;&lt;/div&gt;\n    &lt;div class=\&quot;search-overlay__hint\&quot;&gt;\n      Press &lt;kbd&gt;↑&lt;/kbd&gt; &lt;kbd&gt;↓&lt;/kbd&gt; to navigate, &lt;kbd&gt;↵&lt;/kbd&gt; to select\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n\n  &lt;!-- Inject Jekyll collection data for client-side search, filtering, and bookmarks --&gt;\n  &lt;script&gt;\n    window.SITE_DATA = {\n      baseurl: \&quot;\&quot;,\n      themeCardPlaceholder: \&quot;/assets/images/placeholder/placeholder-card.svg\&quot;,\n      newBadgeDays: 30,\n      themes: [\n        \n        {\n          title: \&quot;Academic Pages Jekyll Theme\&quot;,\n          description: \&quot;An academic portfolio Jekyll theme for researchers and scholars. Supports publications, talks, CV pages, and GitHub Pages out of the box.\&quot;,\n          card_description: \&quot;Academic portfolio for researchers with publications, talks, and CV pages.\&quot;,\n          url: \&quot;/themes/academicpages/\&quot;,\n          category: \&quot;Academic\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://academicpages.github.io/\&quot;,\n          card_image: \&quot;/assets/images/themes/academicpages-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;academicpages\&quot;,\n        },\n        \n        {\n          title: \&quot;Advance Jekyll Theme\&quot;,\n          description: \&quot;A premium multi-purpose Jekyll theme for building advanced marketing and business websites. Includes Services, Projects, and Team content types, a configurable hero section, full blog, dark mode, and Bootstrap 5.2.\&quot;,\n          card_description: \&quot;Premium multi-purpose theme — services, projects, team, blog, and configurable hero.\&quot;,\n          url: \&quot;/themes/advance/\&quot;,\n          category: \&quot;Business\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 79,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://jekyll-advance.netlify.app/\&quot;,\n          card_image: \&quot;/assets/images/themes/advance-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://www.zerostatic.io/theme/jekyll-advance/\&quot;,\n          author: \&quot;Zerostatic\&quot;,\n          added_at: \&quot;2026-06-27\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: true,\n          trending: true,\n          slug: \&quot;advance\&quot;,\n        },\n        \n        {\n          title: \&quot;Agency Jekyll Theme\&quot;,\n          description: \&quot;A striking single-page agency Jekyll theme with full-screen sections, portfolio grid, and team showcase. Based on Start Bootstrap Agency.\&quot;,\n          card_description: \&quot;Striking single-page agency theme with portfolio grid and team showcase.\&quot;,\n          url: \&quot;/themes/agency/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://y7kim.github.io/agency-jekyll-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/agency-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-10\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;agency\&quot;,\n        },\n        \n        {\n          title: \&quot;al-folio Jekyll Theme\&quot;,\n          description: \&quot;A clean, minimal Jekyll theme built for academics and researchers. Beautifully renders publications, projects, and CV with BibTeX support.\&quot;,\n          card_description: \&quot;Clean academic theme for researchers with BibTeX and publications support.\&quot;,\n          url: \&quot;/themes/al-folio/\&quot;,\n          category: \&quot;Academic\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://alshedivat.github.io/al-folio/\&quot;,\n          card_image: \&quot;/assets/images/themes/al-folio-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-15\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;al-folio\&quot;,\n        },\n        \n        {\n          title: \&quot;Alembic Jekyll Theme\&quot;,\n          description: \&quot;A clean, minimal Jekyll theme with great typography and flexible page layouts. Works out of the box as a gem-based theme.\&quot;,\n          card_description: \&quot;Clean, minimal gem-based theme with flexible page layouts.\&quot;,\n          url: \&quot;/themes/alembic/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://alembic.darn.es/\&quot;,\n          card_image: \&quot;/assets/images/themes/alembic-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-02-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;alembic\&quot;,\n        },\n        \n        {\n          title: \&quot;Almace Scaffolding Jekyll Theme\&quot;,\n          description: \&quot;A bold, minimal, and blazing fast Jekyll theme with a distinctive typographic style and performance-first architecture.\&quot;,\n          card_description: \&quot;Bold, minimal, blazing-fast theme with distinctive typographic style.\&quot;,\n          url: \&quot;/themes/almace-scaffolding/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://sparanoid.com/lab/amsf/\&quot;,\n          card_image: \&quot;/assets/images/themes/almace-scaffolding-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;almace-scaffolding\&quot;,\n        },\n        \n        {\n          title: \&quot;Architect Jekyll Theme\&quot;,\n          description: \&quot;A clean GitHub Pages Jekyll theme with a prominent sidebar and crisp typography. Official GitHub Pages theme, ideal for project documentation.\&quot;,\n          card_description: \&quot;Clean GitHub Pages theme with prominent sidebar for project docs.\&quot;,\n          url: \&quot;/themes/architect/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/architect/\&quot;,\n          card_image: \&quot;/assets/images/themes/architect-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;architect\&quot;,\n        },\n        \n        {\n          title: \&quot;Aura Pro Jekyll Theme\&quot;,\n          description: \&quot;The premium upgrade to the Aura Jekyll theme. Includes all Aura features plus advanced blog layouts, star-rated testimonials, Sendy newsletter support, and read-time indicators.\&quot;,\n          card_description: \&quot;Premium upgrade to Aura — advanced layouts, star testimonials, and read time.\&quot;,\n          url: \&quot;/themes/aura-pro/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 9,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://satishw.github.io/jekyll-theme-aura-pro/\&quot;,\n          card_image: \&quot;/assets/images/themes/aura-pro-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://satishw.github.io/jekyll-theme-aura-pro/features/\&quot;,\n          author: \&quot;Satish W\&quot;,\n          added_at: \&quot;2026-06-26\&quot;,\n          discount_label: \&quot;launch_offer\&quot;,\n          discount_original_price: 29,\n          popular: false,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;aura-pro\&quot;,\n        },\n        \n        {\n          title: \&quot;Aura Jekyll Theme\&quot;,\n          description: \&quot;Versatile Jekyll theme designed for content creators, writers, and developers. Ships with blog, projects, testimonials, and portfolio sections — fully compatible with GitHub Pages.\&quot;,\n          card_description: \&quot;Versatile Jekyll theme for creators and developers — blog, projects, and portfolio ready.\&quot;,\n          url: \&quot;/themes/aura/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://satishw.github.io/jekyll-theme-aura/\&quot;,\n          card_image: \&quot;/assets/images/themes/aura-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;Satish W\&quot;,\n          added_at: \&quot;2026-02-10\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;aura\&quot;,\n        },\n        \n        {\n          title: \&quot;Basically Basic Jekyll Theme\&quot;,\n          description: \&quot;Your new Jekyll default theme — a modern, polished substitute for Minima. Six customisable colour skins, resume layout, off-canvas menu, and everything Minima should have been.\&quot;,\n          card_description: \&quot;Modern Minima replacement with six colour skins and a resume layout.\&quot;,\n          url: \&quot;/themes/basically-basic/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://mmistakes.github.io/jekyll-theme-basically-basic/\&quot;,\n          card_image: \&quot;/assets/images/themes/basically-basic-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;basically-basic\&quot;,\n        },\n        \n        {\n          title: \&quot;Beautiful Jekyll\&quot;,\n          description: \&quot;One of the most popular Jekyll blog themes. Easy to set up, highly customisable, and works perfectly on GitHub Pages.\&quot;,\n          card_description: \&quot;Highly popular blog theme — easy setup, works on GitHub Pages.\&quot;,\n          url: \&quot;/themes/beautiful-jekyll/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://beautifuljekyll.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/beautiful-jekyll-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-20\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;beautiful-jekyll\&quot;,\n        },\n        \n        {\n          title: \&quot;Bulma Clean Theme Jekyll Theme\&quot;,\n          description: \&quot;A clean and modern Jekyll theme built with the Bulma CSS framework. Features a blog, portfolio, and docs-ready layout with extensive customisation.\&quot;,\n          card_description: \&quot;Clean, modern Bulma CSS theme for blogs, portfolios, and docs.\&quot;,\n          url: \&quot;/themes/bulma-clean-theme/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://www.csrhymes.com/bulma-clean-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/bulma-clean-theme-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;bulma-clean-theme\&quot;,\n        },\n        \n        {\n          title: \&quot;Cayman Jekyll Theme\&quot;,\n          description: \&quot;A bright, clean GitHub Pages Jekyll theme with a large hero header and fluid typography. Simple and polished for project landing pages.\&quot;,\n          card_description: \&quot;Bright GitHub Pages theme with large hero header for project sites.\&quot;,\n          url: \&quot;/themes/cayman/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/cayman/\&quot;,\n          card_image: \&quot;/assets/images/themes/cayman-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-02-20\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;cayman\&quot;,\n        },\n        \n        {\n          title: \&quot;Centrarium Jekyll Theme\&quot;,\n          description: \&quot;A simple, classy Jekyll blog theme with a large header image, featured posts, category pages, and Google Analytics integration.\&quot;,\n          card_description: \&quot;Classy blog theme with large header images and featured posts.\&quot;,\n          url: \&quot;/themes/centrarium/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://bencentra.com/centrarium/\&quot;,\n          card_image: \&quot;/assets/images/themes/centrarium-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;centrarium\&quot;,\n        },\n        \n        {\n          title: \&quot;Chalk Jekyll Theme\&quot;,\n          description: \&quot;A high quality, completely customisable Jekyll blog theme. Features an elegant two-column layout, full-text search, category filtering, and subtle animations that make the experience feel alive.\&quot;,\n          card_description: \&quot;Elegant two-column blog with full-text search and category filtering.\&quot;,\n          url: \&quot;/themes/chalk/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://chalk.nielsenramon.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/chalk-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;chalk\&quot;,\n        },\n        \n        {\n          title: \&quot;Chirpy Jekyll Theme\&quot;,\n          description: \&quot;A polished, feature-rich blog theme with dark mode, full-text search, reading time, table of contents, and PWA support. One of the fastest-growing Jekyll themes.\&quot;,\n          card_description: \&quot;Feature-rich blog with dark mode, search, TOC, and PWA support.\&quot;,\n          url: \&quot;/themes/chirpy/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://chirpy.cotes.page/\&quot;,\n          card_image: \&quot;/assets/images/themes/chirpy-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-05\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;chirpy\&quot;,\n        },\n        \n        {\n          title: \&quot;Clean Blog Jekyll Theme\&quot;,\n          description: \&quot;A clean, distraction-free blog theme with full-width header images per post. A Start Bootstrap original ported to Jekyll.\&quot;,\n          card_description: \&quot;Distraction-free blog with full-width header images per post.\&quot;,\n          url: \&quot;/themes/clean-blog/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://startbootstrap.github.io/startbootstrap-clean-blog-jekyll/\&quot;,\n          card_image: \&quot;/assets/images/themes/clean-blog-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-02-25\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;clean-blog\&quot;,\n        },\n        \n        {\n          title: \&quot;Contrast Jekyll Theme\&quot;,\n          description: \&quot;A simple, minimal Jekyll blog theme with strong typographic contrast, clean post listings, and support for tags and pagination.\&quot;,\n          card_description: \&quot;Minimal blog with strong typographic contrast and tag support.\&quot;,\n          url: \&quot;/themes/contrast/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://niklasbuschmann.github.io/contrast/\&quot;,\n          card_image: \&quot;/assets/images/themes/contrast-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;contrast\&quot;,\n        },\n        \n        {\n          title: \&quot;Creative Jekyll Theme\&quot;,\n          description: \&quot;A one-page Bootstrap landing page Jekyll theme with a fullscreen hero image, smooth scroll navigation, and portfolio sections.\&quot;,\n          card_description: \&quot;One-page Bootstrap landing page with fullscreen hero and portfolio.\&quot;,\n          url: \&quot;/themes/creative/\&quot;,\n          category: \&quot;Landing Page\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://volny.github.io/creative-theme-jekyll/\&quot;,\n          card_image: \&quot;/assets/images/themes/creative-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;creative\&quot;,\n        },\n        \n        {\n          title: \&quot;Devlopr Jekyll Theme\&quot;,\n          description: \&quot;A feature-rich developer portfolio Jekyll theme with an integrated blog, skills section, CMS support, and dark mode built in.\&quot;,\n          card_description: \&quot;Developer portfolio with blog, skills section, and dark mode built in.\&quot;,\n          url: \&quot;/themes/devlopr-jekyll/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://devlopr.netlify.app/\&quot;,\n          card_image: \&quot;/assets/images/themes/devlopr-jekyll-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;devlopr-jekyll\&quot;,\n        },\n        \n        {\n          title: \&quot;Dinky Jekyll Theme\&quot;,\n          description: \&quot;A compact GitHub Pages Jekyll theme with a fixed sidebar and clean layout. Great for small documentation pages and personal project sites.\&quot;,\n          card_description: \&quot;Compact GitHub Pages theme with fixed sidebar for small project sites.\&quot;,\n          url: \&quot;/themes/dinky/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/dinky/\&quot;,\n          card_image: \&quot;/assets/images/themes/dinky-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;dinky\&quot;,\n        },\n        \n        {\n          title: \&quot;Documentation Jekyll Theme\&quot;,\n          description: \&quot;A documentation and help system Jekyll theme with search, navigation sidebar, and clean typography for technical writing.\&quot;,\n          card_description: \&quot;Help system theme with search, sidebar navigation, and clean typography.\&quot;,\n          url: \&quot;/themes/documentation/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://docs.cloudcannon.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/documentation-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;documentation\&quot;,\n        },\n        \n        {\n          title: \&quot;Feeling Responsive Jekyll Theme\&quot;,\n          description: \&quot;A multipurpose responsive Jekyll theme built on the Foundation framework with flexible layouts, widgets, and rich customisation options.\&quot;,\n          card_description: \&quot;Multipurpose Foundation theme with flexible layouts and rich widgets.\&quot;,\n          url: \&quot;/themes/feeling-responsive/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://phlow.github.io/feeling-responsive/\&quot;,\n          card_image: \&quot;/assets/images/themes/feeling-responsive-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;feeling-responsive\&quot;,\n        },\n        \n        {\n          title: \&quot;Flexible Jekyll\&quot;,\n          description: \&quot;A simple and clean Jekyll theme with a minimal design, dark mode support, tag pages, and a flexible two-column layout.\&quot;,\n          card_description: \&quot;Simple, clean blog with dark mode and flexible two-column layout.\&quot;,\n          url: \&quot;/themes/flexible-jekyll/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://artemsheludko.github.io/flexible-jekyll/\&quot;,\n          card_image: \&quot;/assets/images/themes/flexible-jekyll-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;flexible-jekyll\&quot;,\n        },\n        \n        {\n          title: \&quot;Forty Jekyll Theme\&quot;,\n          description: \&quot;A visually striking multipurpose Jekyll theme inspired by HTML5 UP. Features tiled project sections and high-impact full-screen headers.\&quot;,\n          card_description: \&quot;Visually striking multipurpose theme with tiled sections and full-screen headers.\&quot;,\n          url: \&quot;/themes/forty/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://andrewbanchich.github.io/forty-jekyll-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/forty-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-03-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;forty\&quot;,\n        },\n        \n        {\n          title: \&quot;Freelancer Jekyll Theme\&quot;,\n          description: \&quot;A flat design landing page and portfolio Jekyll theme based on the popular Freelancer Bootstrap theme by Start Bootstrap.\&quot;,\n          card_description: \&quot;Flat design portfolio and landing page theme for freelancers.\&quot;,\n          url: \&quot;/themes/freelancer/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://jeromelachaud.com/freelancer-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/freelancer-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;freelancer\&quot;,\n        },\n        \n        {\n          title: \&quot;Hacker Blog Jekyll Theme\&quot;,\n          description: \&quot;A minimal, terminal-inspired dark Jekyll blog theme for developers. Pure CLI aesthetic — black background, monospace font, zero distractions.\&quot;,\n          card_description: \&quot;Terminal-inspired dark blog — monospace, minimal, distraction-free.\&quot;,\n          url: \&quot;/themes/hacker-blog/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://tocttou.github.io/hacker-blog/\&quot;,\n          card_image: \&quot;/assets/images/themes/hacker-blog-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-03-05\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hacker-blog\&quot;,\n        },\n        \n        {\n          title: \&quot;Hacker Jekyll Theme\&quot;,\n          description: \&quot;The official GitHub Pages hacker Jekyll theme. Dark terminal-style design with monospace typography, built for developer project pages.\&quot;,\n          card_description: \&quot;Official GitHub Pages hacker theme with dark terminal-style design.\&quot;,\n          url: \&quot;/themes/hacker/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/hacker/\&quot;,\n          card_image: \&quot;/assets/images/themes/hacker-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hacker\&quot;,\n        },\n        \n        {\n          title: \&quot;Hitchens Jekyll Theme\&quot;,\n          description: \&quot;An unfussy Jekyll theme for serious writers. Minimal design, elegant typography, and a dark mode — inspired by the prose of Christopher Hitchens.\&quot;,\n          card_description: \&quot;Unfussy, elegant theme for serious writers with dark mode built in.\&quot;,\n          url: \&quot;/themes/hitchens/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://hitchens.patdryburgh.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/hitchens-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hitchens\&quot;,\n        },\n        \n        {\n          title: \&quot;HPSTR Jekyll Theme\&quot;,\n          description: \&quot;A responsive, full-featured Jekyll blog theme by Michael Rose. Rich with image-forward posts, sliding panel navigation, and social sharing.\&quot;,\n          card_description: \&quot;Image-forward blog with sliding panel navigation and social sharing.\&quot;,\n          url: \&quot;/themes/hpstr/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://mmistakes.github.io/hpstr-jekyll-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/hpstr-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hpstr\&quot;,\n        },\n        \n        {\n          title: \&quot;Huxpro Jekyll Theme\&quot;,\n          description: \&quot;A beautiful, cover-image-driven Jekyll blog theme inspired by Ghost&apos;s Casper. Features full-screen hero images, smooth transitions, and a clean reading experience.\&quot;,\n          card_description: \&quot;Cover-image-driven blog inspired by Ghost&apos;s Casper theme.\&quot;,\n          url: \&quot;/themes/huxpro/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://huxpro.github.io/\&quot;,\n          card_image: \&quot;/assets/images/themes/huxpro-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-08\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;huxpro\&quot;,\n        },\n        \n        {\n          title: \&quot;Hyde Jekyll Theme\&quot;,\n          description: \&quot;A brazen two-column Jekyll theme that pairs a prominent sidebar with uncomplicated content. Based on Poole, by Mark Otto.\&quot;,\n          card_description: \&quot;Two-column theme with prominent sidebar — elegant and timeless.\&quot;,\n          url: \&quot;/themes/hyde/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://hyde.getpoole.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/hyde-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-25\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hyde\&quot;,\n        },\n        \n        {\n          title: \&quot;Hydejack Jekyll Theme\&quot;,\n          description: \&quot;A boutique Jekyll theme with a rich sidebar, smooth page transitions, and portfolio support. The premium evolution of Hyde.\&quot;,\n          card_description: \&quot;Boutique theme with smooth page transitions and portfolio support.\&quot;,\n          url: \&quot;/themes/hydejack/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://hydejack.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/hydejack-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-30\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hydejack\&quot;,\n        },\n        \n        {\n          title: \&quot;Hydra Jekyll Theme\&quot;,\n          description: \&quot;A product and SaaS marketing Jekyll theme with a clean hero section, feature grid, pricing table, and testimonials.\&quot;,\n          card_description: \&quot;SaaS marketing theme with hero, feature grid, and pricing table.\&quot;,\n          url: \&quot;/themes/hydra/\&quot;,\n          category: \&quot;Landing Page\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://orange-ape.cloudvent.net/\&quot;,\n          card_image: \&quot;/assets/images/themes/hydra-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hydra\&quot;,\n        },\n        \n        {\n          title: \&quot;Jasper Jekyll Theme\&quot;,\n          description: \&quot;A Jekyll port of Ghost&apos;s default Casper theme. Brings the polished, editorial feel of Ghost blogging to static Jekyll sites.\&quot;,\n          card_description: \&quot;Jekyll port of Ghost&apos;s Casper — polished, editorial feel.\&quot;,\n          url: \&quot;/themes/jasper/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://jekyllt.github.io/jasper/\&quot;,\n          card_image: \&quot;/assets/images/themes/jasper-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;jasper\&quot;,\n        },\n        \n        {\n          title: \&quot;Jekyll Now\&quot;,\n          description: \&quot;The quickest way to start a Jekyll blog. Fork on GitHub, enable Pages, and you have a live blog in under a minute — zero command line required.\&quot;,\n          card_description: \&quot;Quickest way to start a Jekyll blog — fork, enable Pages, done.\&quot;,\n          url: \&quot;/themes/jekyll-now/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://barryclark.github.io/jekyll-now/\&quot;,\n          card_image: \&quot;/assets/images/themes/jekyll-now-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;jekyll-now\&quot;,\n        },\n        \n        {\n          title: \&quot;TeXt Jekyll Theme\&quot;,\n          description: \&quot;A highly customisable Jekyll theme inspired by iOS 11 style. Features multiple skins, rich built-in components, full internationalisation, and support for blogs, documentation, and team sites.\&quot;,\n          card_description: \&quot;iOS-inspired theme with multiple skins and rich built-in components.\&quot;,\n          url: \&quot;/themes/jekyll-text-theme/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://kitian616.github.io/jekyll-TeXt-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/jekyll-text-theme-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;jekyll-text-theme\&quot;,\n        },\n        \n        {\n          title: \&quot;Just the Docs Jekyll Theme\&quot;,\n          description: \&quot;The most popular Jekyll documentation theme. Clean sidebar navigation, full-text search, and excellent code block support.\&quot;,\n          card_description: \&quot;Most popular Jekyll docs theme with sidebar navigation and search.\&quot;,\n          url: \&quot;/themes/just-the-docs/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://just-the-docs.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/just-the-docs-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-08\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;just-the-docs\&quot;,\n        },\n        \n        {\n          title: \&quot;Klisé Jekyll Theme\&quot;,\n          description: \&quot;A minimalist Jekyll theme with seamless light and dark mode. Clean typography, fast performance, and a modern aesthetic — designed for personal sites and blogs that value simplicity.\&quot;,\n          card_description: \&quot;Minimalist theme with seamless dark mode and clean typography.\&quot;,\n          url: \&quot;/themes/klise/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://klise.vercel.app/\&quot;,\n          card_image: \&quot;/assets/images/themes/klise-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;klise\&quot;,\n        },\n        \n        {\n          title: \&quot;Lanyon Jekyll Theme\&quot;,\n          description: \&quot;A Jekyll theme that hides its sidebar until you need it. Clean, spacious reading layout with a smooth slide-out navigation drawer.\&quot;,\n          card_description: \&quot;Clean blog theme with a smooth slide-out navigation drawer.\&quot;,\n          url: \&quot;/themes/lanyon/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://lanyon.getpoole.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/lanyon-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-02-05\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;lanyon\&quot;,\n        },\n        \n        {\n          title: \&quot;Leonids Jekyll Theme\&quot;,\n          description: \&quot;A simple and clean two-column Jekyll blog theme. Fixed sidebar with author bio and social links, clean post listing, and a timeless layout that puts content front and centre.\&quot;,\n          card_description: \&quot;Two-column blog with fixed sidebar and timeless content-first layout.\&quot;,\n          url: \&quot;/themes/leonids/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://renyuanz.github.io/leonids/\&quot;,\n          card_image: \&quot;/assets/images/themes/leonids-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;leonids\&quot;,\n        },\n        \n        {\n          title: \&quot;Livvic Jekyll Theme\&quot;,\n          description: \&quot;A clean, creative, and unique Jekyll theme for agency and personal portfolio websites. Features a flat modern design, unique effects, Bootstrap 4, and Font Awesome — ready to customise and launch in hours.\&quot;,\n          card_description: \&quot;Clean creative portfolio theme for agencies and freelancers — minimal, unique, responsive.\&quot;,\n          url: \&quot;/themes/livvic/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 49,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://livvic-jekyll.tortoizthemes.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/livvic-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://tortoizthemes.com/theme/livvic-jekyll-theme/\&quot;,\n          author: \&quot;Tortoiz Themes\&quot;,\n          added_at: \&quot;2026-06-27\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;livvic\&quot;,\n        },\n        \n        {\n          title: \&quot;Long Haul Jekyll Theme\&quot;,\n          description: \&quot;A minimal, type-focused Jekyll theme designed for long-form writing. Understated design that keeps the reader&apos;s attention on the words.\&quot;,\n          card_description: \&quot;Minimal, type-focused theme designed for long-form writing.\&quot;,\n          url: \&quot;/themes/long-haul/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://brianmaierjr.com/long-haul/\&quot;,\n          card_image: \&quot;/assets/images/themes/long-haul-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;long-haul\&quot;,\n        },\n        \n        {\n          title: \&quot;Massively Jekyll Theme\&quot;,\n          description: \&quot;A bold, image-driven Jekyll blog theme ported from HTML5 UP. Full-screen background image on the homepage, large featured post images, and a striking visual identity unlike any other Jekyll theme.\&quot;,\n          card_description: \&quot;Bold, image-driven blog with full-screen homepage background.\&quot;,\n          url: \&quot;/themes/massively/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://jekyllup.github.io/jekyll-theme-massively/\&quot;,\n          card_image: \&quot;/assets/images/themes/massively-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;massively\&quot;,\n        },\n        \n        {\n          title: \&quot;Mediator Jekyll Theme\&quot;,\n          description: \&quot;A medium-inspired Jekyll blog theme with large featured images, clean typography, and a focus on long-form reading.\&quot;,\n          card_description: \&quot;Medium-inspired blog with large featured images and clean typography.\&quot;,\n          url: \&quot;/themes/mediator/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://blog.base68.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/mediator-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;mediator\&quot;,\n        },\n        \n        {\n          title: \&quot;Mediumish Jekyll Theme\&quot;,\n          description: \&quot;A Medium-inspired blog theme with card-based post listings, author pages, and a clean reading layout. One of the most popular Jekyll blog starters.\&quot;,\n          card_description: \&quot;Medium-inspired blog with card post listings and author pages.\&quot;,\n          url: \&quot;/themes/mediumish/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://wowthemesnet.github.io/mediumish-theme-jekyll/\&quot;,\n          card_image: \&quot;/assets/images/themes/mediumish-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-03-10\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;mediumish\&quot;,\n        },\n        \n        {\n          title: \&quot;Merlot Jekyll Theme\&quot;,\n          description: \&quot;A warm, editorial GitHub Pages Jekyll theme with classic typographic styling. Official GitHub Pages theme for personal and project sites.\&quot;,\n          card_description: \&quot;Warm, editorial GitHub Pages theme with classic typographic styling.\&quot;,\n          url: \&quot;/themes/merlot/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/merlot/\&quot;,\n          card_image: \&quot;/assets/images/themes/merlot-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;merlot\&quot;,\n        },\n        \n        {\n          title: \&quot;Midnight Jekyll Theme\&quot;,\n          description: \&quot;A dark, sleek GitHub Pages Jekyll theme with light text on deep backgrounds. Official GitHub Pages theme ideal for personal projects and portfolios.\&quot;,\n          card_description: \&quot;Dark, sleek GitHub Pages theme with light text on deep backgrounds.\&quot;,\n          url: \&quot;/themes/midnight/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/midnight/\&quot;,\n          card_image: \&quot;/assets/images/themes/midnight-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;midnight\&quot;,\n        },\n        \n        {\n          title: \&quot;Miles Jekyll Theme\&quot;,\n          description: \&quot;A creative portfolio and agency Jekyll theme with 12+ homepage layouts, 6 portfolio styles, and 4 blog layouts. Designed for agencies, freelancers, and creative professionals who want a stunning site in hours not days.\&quot;,\n          card_description: \&quot;Creative agency and portfolio theme — 12+ homepages, 6 portfolio styles, dark design.\&quot;,\n          url: \&quot;/themes/miles/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 79,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://miles-jekyll.tortoizthemes.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/miles-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://tortoizthemes.com/demo/miles/\&quot;,\n          author: \&quot;Tortoiz Themes\&quot;,\n          added_at: \&quot;2026-06-27\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;miles\&quot;,\n        },\n        \n        {\n          title: \&quot;Millennial Jekyll Theme\&quot;,\n          description: \&quot;A minimalist, responsive Jekyll blog theme with a clean layout, tag support, pagination, and social share buttons.\&quot;,\n          card_description: \&quot;Minimalist responsive blog with tag support and social share buttons.\&quot;,\n          url: \&quot;/themes/millennial/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://lenpaul.github.io/Millennial/\&quot;,\n          card_image: \&quot;/assets/images/themes/millennial-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;millennial\&quot;,\n        },\n        \n        {\n          title: \&quot;Minima Jekyll Theme\&quot;,\n          description: \&quot;Jekyll&apos;s built-in default theme. Minimal, clean, and battle-tested. The foundation every Jekyll developer knows.\&quot;,\n          card_description: \&quot;Jekyll&apos;s default theme — minimal, clean, and battle-tested.\&quot;,\n          url: \&quot;/themes/minima/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://jekyll.github.io/minima/\&quot;,\n          card_image: \&quot;/assets/images/themes/minima-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;minima\&quot;,\n        },\n        \n        {\n          title: \&quot;Minimal Mistakes Jekyll Theme\&quot;,\n          description: \&quot;The most popular Jekyll theme on GitHub. A flexible two-column theme perfect for personal sites, blogs, documentation, and portfolios — with 12 layout skins.\&quot;,\n          card_description: \&quot;Most popular Jekyll theme — flexible two-column with 12 layout skins.\&quot;,\n          url: \&quot;/themes/minimal-mistakes/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://mmistakes.github.io/minimal-mistakes/\&quot;,\n          card_image: \&quot;/assets/images/themes/minimal-mistakes-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-02\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;minimal-mistakes\&quot;,\n        },\n        \n        {\n          title: \&quot;Minimal Jekyll Theme\&quot;,\n          description: \&quot;The official minimal GitHub Pages Jekyll theme. Clean and lightweight with great default typography for personal projects and documentation.\&quot;,\n          card_description: \&quot;Official minimal GitHub Pages theme — clean and lightweight.\&quot;,\n          url: \&quot;/themes/minimal/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/minimal/\&quot;,\n          card_image: \&quot;/assets/images/themes/minimal-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;minimal\&quot;,\n        },\n        \n        {\n          title: \&quot;Modern Resume Theme Jekyll Theme\&quot;,\n          description: \&quot;A sleek, single-page resume/CV theme for Jekyll. Dark header, clean timeline layout, and sections for experience, education, skills, and projects.\&quot;,\n          card_description: \&quot;Sleek single-page resume/CV with timeline and skills sections.\&quot;,\n          url: \&quot;/themes/modern-resume-theme/\&quot;,\n          category: \&quot;Resume / CV\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://sproogen.github.io/modern-resume-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/modern-resume-theme-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-02-28\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;modern-resume-theme\&quot;,\n        },\n        \n        {\n          title: \&quot;Moonwalk Jekyll Theme\&quot;,\n          description: \&quot;A dark, minimal Jekyll blog theme with a focus on typography and whitespace. Elegant simplicity for serious writers.\&quot;,\n          card_description: \&quot;Dark, minimal blog focused on typography and generous whitespace.\&quot;,\n          url: \&quot;/themes/moonwalk/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://abhinavs.github.io/moonwalk/\&quot;,\n          card_image: \&quot;/assets/images/themes/moonwalk-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-03-12\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;moonwalk\&quot;,\n        },\n        \n        {\n          title: \&quot;Mundana Jekyll Theme\&quot;,\n          description: \&quot;A modern Jekyll theme for bloggers built with Bootstrap 4. Features featured posts, category pages, newsletter signup, and clean card layouts.\&quot;,\n          card_description: \&quot;Modern Bootstrap 4 blog with featured posts and newsletter signup.\&quot;,\n          url: \&quot;/themes/mundana/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://mundana.amitmerchant.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/mundana-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;mundana\&quot;,\n        },\n        \n        {\n          title: \&quot;Online CV Jekyll Theme\&quot;,\n          description: \&quot;A one-page Jekyll CV and resume theme for creating a beautiful online portfolio. Minimal, readable design perfect for job seekers and freelancers.\&quot;,\n          card_description: \&quot;One-page CV/resume theme for a beautiful online portfolio.\&quot;,\n          url: \&quot;/themes/online-cv/\&quot;,\n          category: \&quot;Resume / CV\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://sharu725.github.io/online-cv/\&quot;,\n          card_image: \&quot;/assets/images/themes/online-cv-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-03-15\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;online-cv\&quot;,\n        },\n        \n        {\n          title: \&quot;Origin Jekyll Theme\&quot;,\n          description: \&quot;A fully featured and highly configurable modern blog theme for Jekyll. Includes categories, authors, comments, pagination, dark mode, and a perfect 100/100 Google Lighthouse score.\&quot;,\n          card_description: \&quot;Modern blog theme with dark mode, authors, categories, and 100/100 Lighthouse.\&quot;,\n          url: \&quot;/themes/origin/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 49,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://jekyll-origin.netlify.app/\&quot;,\n          card_image: \&quot;/assets/images/themes/origin-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://www.zerostatic.io/theme/jekyll-origin/\&quot;,\n          author: \&quot;Zerostatic\&quot;,\n          added_at: \&quot;2026-06-27\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;origin\&quot;,\n        },\n        \n        {\n          title: \&quot;Phantom Jekyll Theme\&quot;,\n          description: \&quot;A minimalist, responsive portfolio Jekyll theme with a project grid, modal image viewer, and subtle hover animations.\&quot;,\n          card_description: \&quot;Minimalist portfolio with project grid and modal image viewer.\&quot;,\n          url: \&quot;/themes/phantom/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://jamigibbs.github.io/phantom/\&quot;,\n          card_image: \&quot;/assets/images/themes/phantom-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;phantom\&quot;,\n        },\n        \n        {\n          title: \&quot;Pixyll Jekyll Theme\&quot;,\n          description: \&quot;A simple, beautiful Jekyll theme that puts your content first. Mobile-first, fluidly responsive, and delightfully lightweight — built around great typography and generous whitespace.\&quot;,\n          card_description: \&quot;Simple, beautiful theme that puts content first with generous whitespace.\&quot;,\n          url: \&quot;/themes/pixyll/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pixyll.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/pixyll-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;pixyll\&quot;,\n        },\n        \n        {\n          title: \&quot;Primer Jekyll Theme\&quot;,\n          description: \&quot;The official GitHub Pages primer Jekyll theme. Clean, GitHub-style design with great readability — perfect for documentation and project pages.\&quot;,\n          card_description: \&quot;Official GitHub Pages primer theme — clean GitHub-style for docs.\&quot;,\n          url: \&quot;/themes/primer/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/primer/\&quot;,\n          card_image: \&quot;/assets/images/themes/primer-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;primer\&quot;,\n        },\n        \n        {\n          title: \&quot;Researcher Jekyll Theme\&quot;,\n          description: \&quot;A minimal, clean Jekyll theme for a single-page academic CV. Presents your education, experience, publications, and skills in a clear, professional layout that loads instantly.\&quot;,\n          card_description: \&quot;Minimal single-page academic CV with a clean, professional layout.\&quot;,\n          url: \&quot;/themes/researcher/\&quot;,\n          category: \&quot;Resume / CV\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://ankitsultana.com/researcher/\&quot;,\n          card_image: \&quot;/assets/images/themes/researcher-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;researcher\&quot;,\n        },\n        \n        {\n          title: \&quot;Reverie Jekyll Theme\&quot;,\n          description: \&quot;A ridiculously elegant, fully responsive Jekyll blog theme based on Poole. Supports categories, tags, Disqus comments, and Google Analytics.\&quot;,\n          card_description: \&quot;Elegantly responsive blog based on Poole with categories and tags.\&quot;,\n          url: \&quot;/themes/reverie/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://reverie.amitmerchant.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/reverie-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;reverie\&quot;,\n        },\n        \n        {\n          title: \&quot;Sandbox Jekyll Theme\&quot;,\n          description: \&quot;A massive multipurpose Jekyll theme with 27 home pages, 130+ ready-to-use blocks, and 250+ UI elements. Built with Bootstrap 5 and zero jQuery — perfect for startups, SaaS, agencies, portfolios, and eCommerce sites.\&quot;,\n          card_description: \&quot;Multipurpose theme — 27 homepages, 130+ blocks, 250+ UI elements, Bootstrap 5.\&quot;,\n          url: \&quot;/themes/sandbox/\&quot;,\n          category: \&quot;Business\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 99,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://sandbox.tortoizthemes.com/demo28/\&quot;,\n          card_image: \&quot;/assets/images/themes/sandbox-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://tortoizthemes.com/theme/sandbox/\&quot;,\n          author: \&quot;Tortoiz Themes\&quot;,\n          added_at: \&quot;2026-06-27\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: true,\n          trending: true,\n          slug: \&quot;sandbox\&quot;,\n        },\n        \n        {\n          title: \&quot;Scriptor Jekyll Theme\&quot;,\n          description: \&quot;A minimal, clean, and modern Jekyll theme for writers and bloggers. Elegant typography, featured images, and a distraction-free reading layout built for long-form content.\&quot;,\n          card_description: \&quot;Minimal, modern theme for writers with elegant typography.\&quot;,\n          url: \&quot;/themes/scriptor/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://scriptor-jekyll.netlify.app/\&quot;,\n          card_image: \&quot;/assets/images/themes/scriptor-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;scriptor\&quot;,\n        },\n        \n        {\n          title: \&quot;Serif Jekyll Theme\&quot;,\n          description: \&quot;A beautiful small business Jekyll theme by CloudCannon. Elegant serif typography, warm tones, and sections for services, team members, and contact.\&quot;,\n          card_description: \&quot;Beautiful small business theme with serif typography and service sections.\&quot;,\n          url: \&quot;/themes/serif/\&quot;,\n          category: \&quot;Business\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://serif.cloudcannon.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/serif-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-02-08\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;serif\&quot;,\n        },\n        \n        {\n          title: \&quot;Slate Jekyll Theme\&quot;,\n          description: \&quot;A bold, dark GitHub Pages Jekyll theme with prominent sidebar navigation and strong code styling. Official GitHub Pages theme for developer docs.\&quot;,\n          card_description: \&quot;Bold, dark GitHub Pages theme for developer docs with sidebar nav.\&quot;,\n          url: \&quot;/themes/slate/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/slate/\&quot;,\n          card_image: \&quot;/assets/images/themes/slate-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;slate\&quot;,\n        },\n        \n        {\n          title: \&quot;Snowlake Jekyll Theme\&quot;,\n          description: \&quot;A versatile multipurpose Jekyll theme with 27 unique demos, 17 color schemes, 5 font options, Slider Revolution, and 4 icon sets with 2300+ icons. Built on Jekyll 4.3+ and Bootstrap 5 — ideal for businesses, agencies, SaaS, and creatives.\&quot;,\n          card_description: \&quot;Multipurpose theme — 27 demos, 17 color schemes, Slider Revolution, Bootstrap 5.\&quot;,\n          url: \&quot;/themes/snowlake/\&quot;,\n          category: \&quot;Business\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 79,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://snowlake.tortoizthemes.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/snowlake-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://tortoizthemes.com/theme/snowlake-jekyll-theme/\&quot;,\n          author: \&quot;Tortoiz Themes\&quot;,\n          added_at: \&quot;2026-06-27\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;snowlake\&quot;,\n        },\n        \n        {\n          title: \&quot;So Simple Jekyll Theme\&quot;,\n          description: \&quot;A simple Jekyll theme for words and pictures. Clean reading layout with support for author profiles, social links, and Google Analytics.\&quot;,\n          card_description: \&quot;Simple theme for words and pictures with author profile support.\&quot;,\n          url: \&quot;/themes/so-simple/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://mmistakes.github.io/so-simple-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/so-simple-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;so-simple\&quot;,\n        },\n        \n        {\n          title: \&quot;Swiss Jekyll Theme\&quot;,\n          description: \&quot;A bold, typographic Jekyll theme inspired by International Swiss Style design. Strong grid, oversized headings, and a clean black-and-white palette that puts typography first.\&quot;,\n          card_description: \&quot;Bold, typographic theme inspired by Swiss International Style design.\&quot;,\n          url: \&quot;/themes/swiss/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://broccolini.net/swiss/\&quot;,\n          card_image: \&quot;/assets/images/themes/swiss-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;swiss\&quot;,\n        },\n        \n        {\n          title: \&quot;Tactile Jekyll Theme\&quot;,\n          description: \&quot;A textured, warm GitHub Pages Jekyll theme with a hand-crafted sidebar style. Official GitHub Pages theme with classic personality and charm.\&quot;,\n          card_description: \&quot;Textured, warm GitHub Pages theme with hand-crafted sidebar style.\&quot;,\n          url: \&quot;/themes/tactile/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/tactile/\&quot;,\n          card_image: \&quot;/assets/images/themes/tactile-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;tactile\&quot;,\n        },\n        \n        {\n          title: \&quot;Tale Jekyll Theme\&quot;,\n          description: \&quot;An minimal Jekyll theme focused on content. Elegant single-column layout with beautiful typography, clean post listings, and zero visual noise — perfect for long-form writing.\&quot;,\n          card_description: \&quot;Minimal, elegant single-column blog for long-form writing.\&quot;,\n          url: \&quot;/themes/tale/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://chesterhow.github.io/tale/\&quot;,\n          card_image: \&quot;/assets/images/themes/tale-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;tale\&quot;,\n        },\n        \n        {\n          title: \&quot;Type Theme Jekyll Theme\&quot;,\n          description: \&quot;A free, open-source theme for Jekyll focused purely on typography and reading. Minimal design, fast load times, and a beautifully simple blog layout for writers who mean business.\&quot;,\n          card_description: \&quot;Typography-focused minimal theme for writers who value clean reading.\&quot;,\n          url: \&quot;/themes/type-theme/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://rohanchandra.github.io/type-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/type-theme-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;type-theme\&quot;,\n        },\n        \n        {\n          title: \&quot;YAT Jekyll Theme\&quot;,\n          description: \&quot;Yet Another Theme — a modern, flat-design Jekyll blog theme with night mode, multi-language support, and beautiful typography. Clean, fast, and elegant for writers and developers alike.\&quot;,\n          card_description: \&quot;Modern flat-design blog with night mode and multi-language support.\&quot;,\n          url: \&quot;/themes/yat/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://jeffreytse.github.io/jekyll-theme-yat/\&quot;,\n          card_image: \&quot;/assets/images/themes/yat-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;yat\&quot;,\n        }\n        \n      ],\n      posts: [\n        \n        {\n          title: \&quot;Jekyll vs Gatsby: Which Static Site Generator Should You Choose in 2026?\&quot;,\n          excerpt: \&quot;Jekyll and Gatsby both produce fast, static websites — but they come from completely different worlds. Jekyll is a mature, Ruby-based generator built for sim...\&quot;,\n          url: \&quot;/comparison/2026/07/03/jekyll-vs-gatsby/\&quot;,\n          tags: [],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;July 3, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-gatsby.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Static Files and Assets: How to Manage Images, CSS, and JS\&quot;,\n          excerpt: \&quot;Jekyll processes some files (Markdown, Liquid templates, Sass) and copies others unchanged. Understanding which is which — and how to reference assets correc...\&quot;,\n          url: \&quot;/tutorial/2026/07/02/jekyll-static-files-assets/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;July 2, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-static-files-assets.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Drafts and Publishing Workflow: How to Manage Content\&quot;,\n          excerpt: \&quot;Jekyll gives you several ways to keep content out of your public site while you work on it: the _drafts/ folder, published: false front matter, and future-da...\&quot;,\n          url: \&quot;/tutorial/2026/07/01/jekyll-drafts-publishing-workflow/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;July 1, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-drafts-publishing-workflow.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Use Sass and SCSS with Jekyll (Complete Guide)\&quot;,\n          excerpt: \&quot;Jekyll has built-in Sass processing — no Node.js, no build tools, no webpack required. Write SCSS files, Jekyll compiles them to CSS automatically. This guid...\&quot;,\n          url: \&quot;/tutorial/2026/06/30/jekyll-sass-scss-guide/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 30, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-sass-scss-guide.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Permalinks and URL Structure: The Complete Guide\&quot;,\n          excerpt: \&quot;Jekyll gives you precise control over the URL structure of every page on your site. Understanding how permalinks work is important for clean URLs, SEO, and e...\&quot;,\n          url: \&quot;/tutorial/2026/06/29/jekyll-permalinks-url-structure/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 29, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-permalinks-url-structure.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Variables Reference: site, page, layout, and More\&quot;,\n          excerpt: \&quot;Jekyll makes a set of variables available in every template through Liquid. Knowing which variables exist and what they contain is essential for building and...\&quot;,\n          url: \&quot;/tutorial/2026/06/28/jekyll-variables-reference/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 28, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-variables-reference.webp\&quot;\n        },\n        \n        {\n          title: \&quot;What Makes a Good Jekyll Theme? (Checklist Before You Buy)\&quot;,\n          excerpt: \&quot;A Jekyll theme can look polished in a screenshot and be a nightmare to work with in practice. Bad themes have hard-coded values scattered across templates, S...\&quot;,\n          url: \&quot;/themes/2026/06/27/what-makes-a-good-jekyll-theme/\&quot;,\n          tags: [\&quot;jekyll themes\&quot;,\&quot;jekyll theme quality\&quot;,\&quot;best jekyll themes\&quot;,\&quot;premium jekyll themes\&quot;,\&quot;jekyll theme checklist\&quot;],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;June 27, 2026\&quot;,\n          image: \&quot;/assets/images/blog/what-makes-a-good-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Liquid Tags: The Complete Reference Guide\&quot;,\n          excerpt: \&quot;Liquid tags are the logic layer of Jekyll templates. Wrapped in {% %} delimiters, they control flow, create variables, loop over data, and embed content  wi...\&quot;,\n          url: \&quot;/tutorial/2026/06/26/jekyll-liquid-tags-reference/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 26, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-liquid-tags-reference.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Liquid Templating: A Beginner&apos;s Complete Guide\&quot;,\n          excerpt: \&quot;Liquid is the template language Jekyll uses to make HTML dynamic. It was created by Shopify and is also used in many other platforms. In Jekyll, Liquid lets ...\&quot;,\n          url: \&quot;/tutorial/2026/06/25/jekyll-liquid-templating-basics/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 25, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-liquid-templating-basics.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Directory Structure Explained: What Every File and Folder Does\&quot;,\n          excerpt: \&quot;When you first open a Jekyll project, the folder structure can look confusing. Underscores everywhere, a _site folder that appears after building, special fi...\&quot;,\n          url: \&quot;/tutorial/2026/06/24/jekyll-directory-structure/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 24, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-directory-structure.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Remote Themes: How to Use Any GitHub Theme Without Installing It\&quot;,\n          excerpt: \&quot;Remote themes are one of the most convenient ways to use a Jekyll theme  especially on GitHub Pages. Instead of installing a theme as a Ruby gem, you refere...\&quot;,\n          url: \&quot;/tutorial/2026/06/23/jekyll-remote-themes/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 23, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-remote-themes.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll _config.yml: The Complete Configuration Guide\&quot;,\n          excerpt: \&quot;_config.yml is the single most important file in a Jekyll project. It controls everything: your site’s URL, which plugins run, how collections are defined, w...\&quot;,\n          url: \&quot;/tutorial/2026/06/22/jekyll-config-yml-guide/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 22, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-config-yml-guide.webp\&quot;\n        },\n        \n        {\n          title: \&quot;10 Things to Check Before Installing a Jekyll Theme\&quot;,\n          excerpt: \&quot;Installing a Jekyll theme takes minutes. Undoing a bad choice takes hours. Before you run bundle install, it is worth spending ten minutes checking these ten...\&quot;,\n          url: \&quot;/themes/2026/06/21/jekyll-theme-checklist-before-installing/\&quot;,\n          tags: [\&quot;jekyll themes\&quot;,\&quot;jekyll theme checklist\&quot;,\&quot;install jekyll theme\&quot;,\&quot;jekyll theme quality\&quot;],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;June 21, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-theme-checklist-before-installing.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Includes vs Layouts: What&apos;s the Difference and When to Use Each\&quot;,\n          excerpt: \&quot;Jekyll has two ways to reuse HTML across your site: layouts and includes. Both reduce repetition, but they work differently and serve different purposes. Und...\&quot;,\n          url: \&quot;/tutorial/2026/06/20/jekyll-includes-vs-layouts/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 20, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-includes-vs-layouts.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Layouts Explained: How to Structure Your Site Templates\&quot;,\n          excerpt: \&quot;Layouts are Jekyll’s template system  reusable HTML wrappers that surround your content. Every page on your Jekyll site uses a layout, even if you have not ...\&quot;,\n          url: \&quot;/tutorial/2026/06/19/jekyll-layouts-explained/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 19, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-layouts-explained.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Front Matter: The Complete Guide\&quot;,\n          excerpt: \&quot;Front matter is how Jekyll knows what to do with a file. Without it, Jekyll treats a file as a static asset and copies it unchanged. With it, Jekyll processe...\&quot;,\n          url: \&quot;/tutorial/2026/06/18/jekyll-front-matter-guide/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 18, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-front-matter-guide.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Deploy a Jekyll Site to Firebase Hosting (2026 Guide)\&quot;,\n          excerpt: \&quot;Firebase Hosting is Google’s static hosting platform  part of the Firebase suite alongside Firestore, Auth, and Cloud Functions. For a Jekyll site, it offer...\&quot;,\n          url: \&quot;/tutorial/2026/06/17/deploy-jekyll-firebase/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 17, 2026\&quot;,\n          image: \&quot;/assets/images/blog/deploy-jekyll-firebase.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Deploy a Jekyll Site to AWS (S3 + CloudFront Guide)\&quot;,\n          excerpt: \&quot;Deploying a Jekyll site to AWS gives you enterprise-grade infrastructure with granular control over every aspect of your hosting. The standard setup combines...\&quot;,\n          url: \&quot;/tutorial/2026/06/16/deploy-jekyll-aws/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 16, 2026\&quot;,\n          image: \&quot;/assets/images/blog/deploy-jekyll-aws.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Pick the Perfect Jekyll Theme for Your Website\&quot;,\n          excerpt: \&quot;Picking a Jekyll theme feels simple until you are staring at hundreds of options and realise they all look good in the screenshots. The wrong choice means ho...\&quot;,\n          url: \&quot;/themes/2026/06/15/how-to-pick-jekyll-theme/\&quot;,\n          tags: [\&quot;jekyll themes\&quot;,\&quot;choose jekyll theme\&quot;,\&quot;jekyll theme guide\&quot;,\&quot;jekyll for beginners\&quot;],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;June 15, 2026\&quot;,\n          image: \&quot;/assets/images/blog/how-to-pick-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Deploy a Jekyll Site to Vercel (2026 Guide)\&quot;,\n          excerpt: \&quot;Vercel is best known as the home of Next.js, but it works equally well for Jekyll sites. Its build infrastructure is fast, the developer experience is polish...\&quot;,\n          url: \&quot;/tutorial/2026/06/14/deploy-jekyll-vercel/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 14, 2026\&quot;,\n          image: \&quot;/assets/images/blog/deploy-jekyll-vercel.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Deploy a Jekyll Site to Netlify (Complete 2026 Guide)\&quot;,\n          excerpt: \&quot;Netlify was the platform that made deploying static sites simple and it remains one of the best choices for Jekyll in 2026. Automatic deploys from Git, previ...\&quot;,\n          url: \&quot;/tutorial/2026/06/13/deploy-jekyll-netlify/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 13, 2026\&quot;,\n          image: \&quot;/assets/images/blog/deploy-jekyll-netlify.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Deploy a Jekyll Site to Cloudflare Pages (Step-by-Step Guide)\&quot;,\n          excerpt: \&quot;Cloudflare Pages is one of the best places to host a Jekyll site in 2026. It is free for unlimited sites, has 300+ CDN locations worldwide, deploys automatic...\&quot;,\n          url: \&quot;/tutorial/2026/06/12/deploy-jekyll-cloudflare-pages/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 12, 2026\&quot;,\n          image: \&quot;/assets/images/blog/deploy-jekyll-cloudflare-pages.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Grow Traffic to Your Jekyll Blog (A Practical Guide for 2026)\&quot;,\n          excerpt: \&quot;A Jekyll blog with zero visitors is just a collection of Markdown files. Getting consistent organic traffic requires deliberate effort  but it is not myster...\&quot;,\n          url: \&quot;/tutorial/2026/06/11/grow-jekyll-blog-traffic/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 11, 2026\&quot;,\n          image: \&quot;/assets/images/blog/grow-jekyll-blog-traffic.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Monetize a Jekyll Blog in 2026 (7 Strategies That Actually Work)\&quot;,\n          excerpt: \&quot;Jekyll is a static site  it has no built-in monetization features. But that does not mean you cannot make money from it. The absence of a CMS or plugin mark...\&quot;,\n          url: \&quot;/tutorial/2026/06/10/jekyll-blog-monetization/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 10, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-blog-monetization.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add a Custom 404 Page to Your Jekyll Site\&quot;,\n          excerpt: \&quot;A default 404 page is a dead end. A custom 404 page turns a broken link into an opportunity  pointing visitors to your most popular content, your search pag...\&quot;,\n          url: \&quot;/tutorial/2026/06/09/jekyll-custom-404-page/\&quot;,\n          tags: [\&quot;jekyll 404 page\&quot;,\&quot;custom 404 jekyll\&quot;,\&quot;jekyll error page\&quot;,\&quot;jekyll not found page\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 9, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-custom-404.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Using Jekyll for Open Source Project Documentation\&quot;,\n          excerpt: \&quot;Jekyll powers documentation for thousands of open source projects  Bootstrap, Jekyll itself, GitHub’s own docs, and hundreds of others. It is the natural ch...\&quot;,\n          url: \&quot;/tutorial/2026/06/08/jekyll-open-source-documentation/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 8, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-open-source-documentation.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Build a Resume or CV Website with Jekyll\&quot;,\n          excerpt: \&quot;An online resume or CV is one of the most valuable things a developer, designer, academic, or job seeker can have. A Jekyll-based CV gives you full control o...\&quot;,\n          url: \&quot;/tutorial/2026/06/07/jekyll-resume-cv-website/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 7, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-resume-cv-website.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Core Web Vitals for Jekyll Sites: A Practical Optimisation Guide (2026)\&quot;,\n          excerpt: \&quot;Jekyll sites start with an inherent performance advantage  no database, no server-side rendering, no PHP. But Core Web Vitals are not just about server spee...\&quot;,\n          url: \&quot;/tutorial/2026/06/06/jekyll-core-web-vitals/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 6, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-core-web-vitals.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll with a Headless CMS: Contentful, Sanity, and Decap Compared\&quot;,\n          excerpt: \&quot;Jekyll stores content as Markdown files  ideal for developers, frustrating for non-technical editors who want a visual dashboard. A headless CMS solves this...\&quot;,\n          url: \&quot;/tutorial/2026/06/05/jekyll-headless-cms/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 5, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-headless-cms.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add a CMS to Jekyll with Decap CMS (Formerly Netlify CMS)\&quot;,\n          excerpt: \&quot;Jekyll is code-first  posts are Markdown files, publishing means a Git commit. That’s great for developers but a barrier for non-technical collaborators. De...\&quot;,\n          url: \&quot;/tutorial/2026/06/04/jekyll-decap-cms/\&quot;,\n          tags: [\&quot;jekyll cms\&quot;,\&quot;decap cms jekyll\&quot;,\&quot;netlify cms jekyll\&quot;,\&quot;jekyll headless cms\&quot;,\&quot;jekyll admin panel\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 4, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-decap-cms.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Interactivity to Jekyll with Alpine.js\&quot;,\n          excerpt: \&quot;Jekyll produces static HTML  no JavaScript framework, no reactive state, just pages. That is a feature, not a bug. But sometimes you need a little interacti...\&quot;,\n          url: \&quot;/tutorial/2026/06/03/jekyll-alpine-js/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 3, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-alpine-js.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Use Tailwind CSS with Jekyll (2026 Guide)\&quot;,\n          excerpt: \&quot;Tailwind CSS and Jekyll are a natural combination  Tailwind’s utility-first approach works beautifully in Liquid templates, and the purging process eliminat...\&quot;,\n          url: \&quot;/tutorial/2026/06/02/jekyll-tailwind-css/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 2, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-tailwind-css.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs Webflow: Which Is Right for Your Website in 2026?\&quot;,\n          excerpt: \&quot;Jekyll and Webflow represent two very different approaches to building websites. Jekyll is a code-first static site generator. Webflow is a visual design too...\&quot;,\n          url: \&quot;/comparison/2026/06/01/jekyll-vs-webflow/\&quot;,\n          tags: [],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;June 1, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-webflow.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs Ghost: Which Platform Is Right for Your Blog in 2026?\&quot;,\n          excerpt: \&quot;Jekyll and Ghost are both popular choices for bloggers and writers, but they come from opposite ends of the web publishing spectrum. Jekyll is a static site ...\&quot;,\n          url: \&quot;/comparison/2026/05/31/jekyll-vs-ghost/\&quot;,\n          tags: [],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;May 31, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-ghost.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs Astro: Which Static Site Generator Should You Use in 2026?\&quot;,\n          excerpt: \&quot;Astro launched in 2021 and quickly became one of the most talked-about static site generators. Jekyll has been around since 2008 and remains one of the most ...\&quot;,\n          url: \&quot;/comparison/2026/05/30/jekyll-vs-astro/\&quot;,\n          tags: [],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;May 30, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-astro.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Accessibility Best Practices for Jekyll Themes (WCAG 2.2 Guide)\&quot;,\n          excerpt: \&quot;Accessibility is not a nice-to-have  it determines whether your content reaches everyone. An inaccessible Jekyll theme excludes users with visual, motor, an...\&quot;,\n          url: \&quot;/tutorial/2026/05/29/jekyll-accessibility-wcag/\&quot;,\n          tags: [\&quot;jekyll accessibility\&quot;,\&quot;wcag jekyll\&quot;,\&quot;accessible jekyll theme\&quot;,\&quot;jekyll aria\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 29, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-accessibility.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Sell a Jekyll Theme: A Complete Guide for Developers\&quot;,\n          excerpt: \&quot;Building a great Jekyll theme is one thing. Turning it into a product people will pay for is another. This guide covers everything  from what buyers expect ...\&quot;,\n          url: \&quot;/tutorial/2026/05/28/how-to-sell-jekyll-theme/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 28, 2026\&quot;,\n          image: \&quot;/assets/images/blog/how-to-sell-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Best Jekyll Themes for Writers and Bloggers in 2026\&quot;,\n          excerpt: \&quot;Writers have different needs from developers. You want beautiful typography, generous line spacing, a clean reading experience, and a design that makes your ...\&quot;,\n          url: \&quot;/themes/2026/05/27/jekyll-themes-for-writers/\&quot;,\n          tags: [],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;May 27, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-themes-for-writers.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Set Up a Multi-Author Jekyll Blog\&quot;,\n          excerpt: \&quot;Jekyll does not have user accounts or a login system, but it handles multiple authors elegantly using collections. You define each author as a data file or c...\&quot;,\n          url: \&quot;/tutorial/2026/05/26/jekyll-multi-author-blog/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 26, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-multi-author-blog.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Best Jekyll Themes for Small Business Websites in 2026\&quot;,\n          excerpt: \&quot;Jekyll is an excellent choice for small business websites. Pages load in milliseconds, hosting is free or nearly free, and there is no database to hack or Wo...\&quot;,\n          url: \&quot;/themes/2026/05/25/best-jekyll-themes-small-business/\&quot;,\n          tags: [],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;May 25, 2026\&quot;,\n          image: \&quot;/assets/images/blog/best-jekyll-themes-small-business.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add an Email Newsletter Signup to Your Jekyll Site\&quot;,\n          excerpt: \&quot;Building an email list is one of the highest-value things you can do for a content site  owned audience, no algorithm dependency. Jekyll doesn’t have a buil...\&quot;,\n          url: \&quot;/tutorial/2026/05/24/jekyll-newsletter-signup/\&quot;,\n          tags: [\&quot;jekyll newsletter\&quot;,\&quot;mailchimp jekyll\&quot;,\&quot;convertkit jekyll\&quot;,\&quot;jekyll email signup\&quot;,\&quot;static site newsletter\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 24, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-newsletter-signup.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll E-commerce with Snipcart: Add a Shopping Cart to Your Static Site\&quot;,\n          excerpt: \&quot;Jekyll is a static site generator  it does not have a database, a server, or a shopping cart. But that does not mean you cannot sell online. Snipcart is a J...\&quot;,\n          url: \&quot;/tutorial/2026/05/23/jekyll-ecommerce-snipcart/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 23, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-ecommerce-snipcart.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Environment Variables: The Complete Guide\&quot;,\n          excerpt: \&quot;Environment variables in Jekyll are simpler than you might expect  but also more limited than many developers assume coming from Node.js or Python. Here is ...\&quot;,\n          url: \&quot;/tutorial/2026/05/22/jekyll-environment-variables/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 22, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-environment-variables.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Liquid Filters: The Complete Cheatsheet (2026)\&quot;,\n          excerpt: \&quot;Liquid filters transform output in Jekyll templates. They are chained with the pipe character | and applied to variables, strings, numbers, arrays, and dates...\&quot;,\n          url: \&quot;/tutorial/2026/05/21/jekyll-liquid-filters-cheatsheet/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 21, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-liquid-filters-cheatsheet.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)\&quot;,\n          excerpt: \&quot;Minimal themes are the most popular category in the Jekyll ecosystem  and for good reason. A minimal design puts the focus on your content, loads in millise...\&quot;,\n          url: \&quot;/themes/2026/05/20/jekyll-minimal-themes/\&quot;,\n          tags: [],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;May 20, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-minimal-themes.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs Next.js: A Practical Comparison for 2026\&quot;,\n          excerpt: \&quot;Jekyll and Next.js are both capable of producing fast, statically-generated websites. But comparing them is a bit like comparing a bicycle to a car  they ar...\&quot;,\n          url: \&quot;/comparison/2026/05/19/jekyll-vs-nextjs/\&quot;,\n          tags: [],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;May 19, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-nextjs.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Set Up a Custom Domain for Your Jekyll Site\&quot;,\n          excerpt: \&quot;Getting your Jekyll site onto a custom domain takes about 10–30 minutes. The process is the same regardless of which registrar you use  you update DNS recor...\&quot;,\n          url: \&quot;/tutorial/2026/05/18/jekyll-custom-domain/\&quot;,\n          tags: [\&quot;jekyll custom domain\&quot;,\&quot;github pages custom domain\&quot;,\&quot;netlify custom domain\&quot;,\&quot;jekyll domain setup\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 18, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-custom-domain.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add a Table of Contents to Jekyll Posts\&quot;,\n          excerpt: \&quot;A table of contents helps readers navigate long posts and signals to Google that your content is structured and comprehensive. Jekyll has three ways to add o...\&quot;,\n          url: \&quot;/tutorial/2026/05/13/jekyll-table-of-contents/\&quot;,\n          tags: [\&quot;jekyll table of contents\&quot;,\&quot;jekyll toc\&quot;,\&quot;jekyll kramdown toc\&quot;,\&quot;jekyll post navigation\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 13, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-table-of-contents.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Data Files: The Complete Guide to _data\&quot;,\n          excerpt: \&quot;The _data folder is one of Jekyll’s most underused features. It lets you store structured content  navigation menus, team members, FAQs, pricing tables, soc...\&quot;,\n          url: \&quot;/tutorial/2026/05/07/jekyll-data-files/\&quot;,\n          tags: [\&quot;jekyll data files\&quot;,\&quot;jekyll _data\&quot;,\&quot;jekyll yaml\&quot;,\&quot;jekyll liquid data\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 7, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-data-files.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs WordPress: Should You Switch in 2026?\&quot;,\n          excerpt: \&quot;WordPress powers 43% of the web. Jekyll powers a fraction of that. So why would anyone switch? For the right kind of site, Jekyll is dramatically better  fa...\&quot;,\n          url: \&quot;/comparison/2026/05/02/jekyll-vs-wordpress/\&quot;,\n          tags: [\&quot;jekyll vs wordpress\&quot;,\&quot;switch wordpress to jekyll\&quot;,\&quot;wordpress alternative\&quot;,\&quot;static site vs wordpress\&quot;],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;May 2, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-wordpress.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add a Contact Form to Your Jekyll Site\&quot;,\n          excerpt: \&quot;Jekyll generates static HTML  there’s no server-side code to process form submissions. But you don’t need one. Three services handle form submissions for st...\&quot;,\n          url: \&quot;/tutorial/2026/04/26/jekyll-contact-form/\&quot;,\n          tags: [\&quot;jekyll contact form\&quot;,\&quot;formspree jekyll\&quot;,\&quot;netlify forms jekyll\&quot;,\&quot;static site contact form\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;April 26, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-contact-form.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Google Analytics to Your Jekyll Site\&quot;,\n          excerpt: \&quot;Adding Google Analytics to Jekyll takes about 5 minutes. This guide covers Google Analytics 4 (GA4), the only version Google currently supports, plus tips fo...\&quot;,\n          url: \&quot;/tutorial/2026/04/21/add-google-analytics-jekyll/\&quot;,\n          tags: [\&quot;jekyll google analytics\&quot;,\&quot;google analytics 4 jekyll\&quot;,\&quot;jekyll analytics\&quot;,\&quot;jekyll tracking\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;April 21, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-google-analytics.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Hosting Comparison: GitHub Pages vs Netlify vs Cloudflare Pages vs Vercel\&quot;,\n          excerpt: \&quot;Choosing where to host your Jekyll site is one of the first decisions you’ll make  and all four major platforms are free for personal projects. The differen...\&quot;,\n          url: \&quot;/tutorial/2026/04/15/jekyll-hosting-comparison/\&quot;,\n          tags: [\&quot;jekyll hosting\&quot;,\&quot;github pages vs netlify\&quot;,\&quot;cloudflare pages jekyll\&quot;,\&quot;vercel jekyll\&quot;,\&quot;static site hosting\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;April 15, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-hosting-comparison.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Migrate from WordPress to Jekyll Without Losing SEO\&quot;,\n          excerpt: \&quot;Migrating from WordPress to Jekyll can destroy your search rankings if done carelessly  or preserve them completely if done right. The difference is almost ...\&quot;,\n          url: \&quot;/tutorial/2026/04/10/migrate-wordpress-to-jekyll-seo/\&quot;,\n          tags: [\&quot;wordpress to jekyll\&quot;,\&quot;migrate without losing seo\&quot;,\&quot;jekyll seo migration\&quot;,\&quot;301 redirects jekyll\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;April 10, 2026\&quot;,\n          image: \&quot;/assets/images/blog/migrate-wordpress-jekyll-seo.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Create Dynamic Navigation and Smart Sidebars in Jekyll\&quot;,\n          excerpt: \&quot;Hard-coded navigation and static sidebars are the first thing that makes a Jekyll theme feel unpolished. This guide covers building dynamic navigation driven...\&quot;,\n          url: \&quot;/tutorial/2026/04/05/jekyll-navigation-sidebars/\&quot;,\n          tags: [\&quot;jekyll navigation\&quot;,\&quot;jekyll sidebar\&quot;,\&quot;jekyll menu\&quot;,\&quot;jekyll liquid\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;April 5, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-navigation-sidebars.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Theme Architecture: Best Practices for Clean &amp; Scalable Code\&quot;,\n          excerpt: \&quot;Most Jekyll sites start as a quick setup and slowly become hard to maintain  styles scattered across files, layouts duplicating logic, includes tangled with...\&quot;,\n          url: \&quot;/tutorial/2026/03/30/jekyll-theme-architecture/\&quot;,\n          tags: [\&quot;jekyll theme development\&quot;,\&quot;jekyll architecture\&quot;,\&quot;jekyll best practices\&quot;,\&quot;jekyll sass structure\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;March 30, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-theme-architecture.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Build a Jekyll Theme from Scratch\&quot;,\n          excerpt: \&quot;Building a Jekyll theme from scratch is the fastest way to deeply understand Jekyll  and it’s more achievable than it sounds. This guide walks through build...\&quot;,\n          url: \&quot;/tutorial/2026/03/25/build-jekyll-theme-from-scratch/\&quot;,\n          tags: [\&quot;jekyll theme development\&quot;,\&quot;create jekyll theme\&quot;,\&quot;jekyll gem theme\&quot;,\&quot;build jekyll theme\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;March 25, 2026\&quot;,\n          image: \&quot;/assets/images/blog/build-jekyll-theme-scratch.webp\&quot;\n        },\n        \n        {\n          title: \&quot;25 Best Jekyll Themes for Blogs and Portfolios in 2026\&quot;,\n          excerpt: \&quot;Looking for a Jekyll theme in 2026? There are thousands on GitHub, but most are outdated, poorly maintained, or just not that good. This list covers the 25 b...\&quot;,\n          url: \&quot;/themes/2026/03/19/best-jekyll-themes-blogs-portfolios/\&quot;,\n          tags: [\&quot;best jekyll themes\&quot;,\&quot;jekyll blog themes\&quot;,\&quot;jekyll portfolio themes\&quot;,\&quot;jekyll themes 2026\&quot;],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;March 19, 2026\&quot;,\n          image: \&quot;/assets/images/blog/best-jekyll-themes-2026.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs Hugo vs Eleventy: Which Static Site Generator in 2026?\&quot;,\n          excerpt: \&quot;Jekyll, Hugo, and Eleventy are the three most popular static site generators in 2026. They all produce fast, secure static sites  but they make very differe...\&quot;,\n          url: \&quot;/comparison/2026/03/14/jekyll-vs-hugo-eleventy/\&quot;,\n          tags: [\&quot;jekyll vs hugo\&quot;,\&quot;jekyll vs eleventy\&quot;,\&quot;static site generators 2026\&quot;,\&quot;best static site generator\&quot;],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;March 14, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-hugo-vs-eleventy.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Build a Portfolio Website with Jekyll\&quot;,\n          excerpt: \&quot;A Jekyll portfolio site is fast, free to host, and lives in a GitHub repository  which itself signals professionalism to employers and clients. This guide c...\&quot;,\n          url: \&quot;/tutorial/2026/03/08/jekyll-portfolio-website/\&quot;,\n          tags: [\&quot;jekyll portfolio\&quot;,\&quot;portfolio website jekyll\&quot;,\&quot;jekyll developer portfolio\&quot;,\&quot;github pages portfolio\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;March 8, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-portfolio.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Convert an HTML Template to a Jekyll Theme\&quot;,\n          excerpt: \&quot;You have an HTML template you like  clean design, good structure  but you want to run it as a Jekyll site so you can write in Markdown and deploy to GitHub...\&quot;,\n          url: \&quot;/tutorial/2026/03/03/convert-html-to-jekyll-theme/\&quot;,\n          tags: [\&quot;jekyll theme development\&quot;,\&quot;html to jekyll\&quot;,\&quot;create jekyll theme\&quot;,\&quot;jekyll tutorial\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;March 3, 2026\&quot;,\n          image: \&quot;/assets/images/blog/convert-html-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Auto-Generate Tag and Category Pages in Jekyll\&quot;,\n          excerpt: \&quot;If you click a tag on most Jekyll blogs, you get a 404. That’s because Jekyll doesn’t generate tag or category pages by default. The jekyll-archives plugin f...\&quot;,\n          url: \&quot;/tutorial/2026/02/25/jekyll-tag-category-pages/\&quot;,\n          tags: [\&quot;jekyll tags\&quot;,\&quot;jekyll categories\&quot;,\&quot;jekyll archives\&quot;,\&quot;jekyll tag pages\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;February 25, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-tag-category-pages.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Schema Markup to Your Jekyll Site\&quot;,\n          excerpt: \&quot;Schema markup tells search engines what your content is about  not just the words, but the type of content. It can earn your site rich snippets in Google’s ...\&quot;,\n          url: \&quot;/seo/2026/02/20/jekyll-schema-markup/\&quot;,\n          tags: [\&quot;jekyll schema markup\&quot;,\&quot;json-ld jekyll\&quot;,\&quot;structured data jekyll\&quot;,\&quot;jekyll rich snippets\&quot;],\n          category: \&quot;SEO\&quot;,\n          date: \&quot;February 20, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-schema-markup.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Make Your Jekyll Site Load Under 1 Second\&quot;,\n          excerpt: \&quot;Jekyll sites are inherently fast  there’s no PHP, no database, no server-side rendering. But “fast” isn’t automatic. Poor image handling, unminified CSS, an...\&quot;,\n          url: \&quot;/tutorial/2026/02/14/jekyll-performance/\&quot;,\n          tags: [\&quot;jekyll performance\&quot;,\&quot;jekyll speed\&quot;,\&quot;static site performance\&quot;,\&quot;core web vitals jekyll\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;February 14, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-performance.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Pagination to Your Jekyll Blog\&quot;,\n          excerpt: \&quot;By default, Jekyll lists all your posts on a single page. Once you have 20+ posts, that page becomes slow and hard to navigate. Pagination splits posts acros...\&quot;,\n          url: \&quot;/tutorial/2026/02/09/jekyll-pagination/\&quot;,\n          tags: [\&quot;jekyll pagination\&quot;,\&quot;jekyll paginate\&quot;,\&quot;jekyll blog pagination\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;February 9, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-pagination.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Collections: The Complete Guide\&quot;,\n          excerpt: \&quot;Collections are one of Jekyll’s most powerful features  and one of the most underused. They let you create custom content types beyond posts and pages: prod...\&quot;,\n          url: \&quot;/tutorial/2026/02/04/jekyll-collections-guide/\&quot;,\n          tags: [\&quot;jekyll collections\&quot;,\&quot;jekyll custom content types\&quot;,\&quot;jekyll _config.yml\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;February 4, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-collections.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Search to a Jekyll Site (Lunr.js vs Algolia)\&quot;,\n          excerpt: \&quot;Jekyll doesn’t include search out of the box  but adding it is simpler than you might think. This guide covers the two best options: Lunr.js for a free, no-...\&quot;,\n          url: \&quot;/tutorial/2026/01/29/add-search-jekyll/\&quot;,\n          tags: [\&quot;jekyll search\&quot;,\&quot;lunr.js jekyll\&quot;,\&quot;algolia jekyll\&quot;,\&quot;static site search\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;January 29, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-search.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Automate Jekyll Builds with GitHub Actions\&quot;,\n          excerpt: \&quot;GitHub Actions can build, test, and deploy your Jekyll site automatically on every push. This guide covers everything from the basic setup to advanced workfl...\&quot;,\n          url: \&quot;/tutorial/2026/01/24/jekyll-github-actions/\&quot;,\n          tags: [\&quot;jekyll github actions\&quot;,\&quot;jekyll ci cd\&quot;,\&quot;github actions jekyll\&quot;,\&quot;jekyll deployment\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;January 24, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-github-actions.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Build a Documentation Site with Jekyll\&quot;,\n          excerpt: \&quot;Jekyll is one of the best tools for documentation sites. The result is fast, searchable, version-controllable, and free to host. This guide walks through bui...\&quot;,\n          url: \&quot;/tutorial/2026/01/18/jekyll-documentation-site/\&quot;,\n          tags: [\&quot;jekyll documentation\&quot;,\&quot;jekyll docs site\&quot;,\&quot;just the docs\&quot;,\&quot;static documentation\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;January 18, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-documentation-site.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Comments to Jekyll: Disqus vs Giscus vs Utterances\&quot;,\n          excerpt: \&quot;Jekyll doesn’t have a built-in comment system  it’s a static site generator. But you have three solid options that work well with static sites. Here’s how e...\&quot;,\n          url: \&quot;/tutorial/2026/01/13/add-comments-jekyll/\&quot;,\n          tags: [\&quot;jekyll comments\&quot;,\&quot;giscus jekyll\&quot;,\&quot;disqus jekyll\&quot;,\&quot;utterances jekyll\&quot;,\&quot;static site comments\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;January 13, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-comments.webp\&quot;\n        },\n        \n        {\n          title: \&quot;15 Must-Have Jekyll Plugins for 2026\&quot;,\n          excerpt: \&quot;Jekyll’s plugin ecosystem is smaller than WordPress’s, but it has everything you need. These 15 plugins cover SEO, performance, content management, and quali...\&quot;,\n          url: \&quot;/tutorial/2026/01/07/must-have-jekyll-plugins/\&quot;,\n          tags: [\&quot;jekyll plugins\&quot;,\&quot;best jekyll plugins\&quot;,\&quot;jekyll seo tag\&quot;,\&quot;jekyll sitemap\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;January 7, 2026\&quot;,\n          image: \&quot;/assets/images/blog/must-have-jekyll-plugins.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Dark Mode to Your Jekyll Site\&quot;,\n          excerpt: \&quot;Dark mode is no longer optional  it’s expected. This guide shows you how to add a proper dark mode toggle to any Jekyll site, with the user’s preference sav...\&quot;,\n          url: \&quot;/tutorial/2026/01/02/add-dark-mode-jekyll/\&quot;,\n          tags: [\&quot;jekyll dark mode\&quot;,\&quot;dark mode toggle\&quot;,\&quot;css dark mode\&quot;,\&quot;jekyll tutorial\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;January 2, 2026\&quot;,\n          image: \&quot;/assets/images/blog/add-dark-mode-jekyll.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Deploy Jekyll to GitHub Pages in 10 Minutes\&quot;,\n          excerpt: \&quot;GitHub Pages is the fastest way to get a Jekyll site online  and it’s completely free. This guide gets you from zero to a live site in 10 minutes.\\n\\n\&quot;,\n          url: \&quot;/tutorial/2025/12/27/deploy-jekyll-github-pages/\&quot;,\n          tags: [\&quot;deploy jekyll github pages\&quot;,\&quot;jekyll github pages\&quot;,\&quot;github pages tutorial\&quot;,\&quot;jekyll hosting\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;December 27, 2025\&quot;,\n          image: \&quot;/assets/images/blog/deploy-jekyll-github-pages.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Free vs Premium Jekyll Themes: What&apos;s Actually Worth Paying For?\&quot;,\n          excerpt: \&quot;There are thousands of free Jekyll themes on GitHub. So why would anyone pay for one? The honest answer: it depends on what you need. This post breaks down w...\&quot;,\n          url: \&quot;/themes/2025/12/22/free-vs-premium-jekyll-themes/\&quot;,\n          tags: [\&quot;free jekyll themes\&quot;,\&quot;premium jekyll themes\&quot;,\&quot;jekyll theme comparison\&quot;,\&quot;buy jekyll theme\&quot;],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;December 22, 2025\&quot;,\n          image: \&quot;/assets/images/blog/free-vs-premium-jekyll-themes.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll SEO Guide: How to Rank Higher on Google\&quot;,\n          excerpt: \&quot;Jekyll gives you a significant SEO head start over WordPress  no bloated plugins, no slow database queries, and near-perfect Core Web Vitals out of the box....\&quot;,\n          url: \&quot;/seo/2025/12/16/jekyll-seo-guide/\&quot;,\n          tags: [\&quot;jekyll seo\&quot;,\&quot;seo for jekyll\&quot;,\&quot;jekyll meta tags\&quot;,\&quot;jekyll sitemap\&quot;,\&quot;static site seo\&quot;],\n          category: \&quot;SEO\&quot;,\n          date: \&quot;December 16, 2025\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-seo-guide.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Migrate from WordPress to Jekyll (Complete Guide)\&quot;,\n          excerpt: \&quot;Moving from WordPress to Jekyll is one of the most common migrations in the static site world  and for good reason. Jekyll sites are faster, cheaper to host...\&quot;,\n          url: \&quot;/tutorial/2025/12/11/migrate-wordpress-to-jekyll/\&quot;,\n          tags: [\&quot;wordpress to jekyll\&quot;,\&quot;migrate wordpress jekyll\&quot;,\&quot;jekyll migration\&quot;,\&quot;static site migration\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;December 11, 2025\&quot;,\n          image: \&quot;/assets/images/blog/migrate-wordpress-to-jekyll.webp\&quot;\n        },\n        \n        {\n          title: \&quot;25 Common Jekyll Errors and How to Fix Them Fast\&quot;,\n          excerpt: \&quot;Jekyll errors can stop your build dead in its tracks. Whether you are setting up for the first time or have been running Jekyll for years, these errors show ...\&quot;,\n          url: \&quot;/tutorial/2025/12/05/common-jekyll-errors/\&quot;,\n          tags: [\&quot;jekyll errors\&quot;,\&quot;jekyll troubleshooting\&quot;,\&quot;jekyll build errors\&quot;,\&quot;jekyll fix\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;December 5, 2025\&quot;,\n          image: \&quot;/assets/images/blog/common-jekyll-errors.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Theme Setup Tutorial: Complete Walkthrough (2026)\&quot;,\n          excerpt: \&quot;This tutorial walks you through the complete process of setting up a Jekyll theme  from a blank machine to a fully configured, live website. No prior Jekyll...\&quot;,\n          url: \&quot;/tutorial/2025/11/30/jekyll-theme-setup-tutorial/\&quot;,\n          tags: [\&quot;jekyll theme setup\&quot;,\&quot;jekyll tutorial\&quot;,\&quot;jekyll configuration\&quot;,\&quot;github pages\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;November 30, 2025\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-theme-setup-tutorial.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Blog Setup Guide: From Zero to Live in 30 Minutes (2026)\&quot;,\n          excerpt: \&quot;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, ...\&quot;,\n          url: \&quot;/tutorial/2025/11/25/jekyll-blog-setup-guide/\&quot;,\n          tags: [\&quot;jekyll blog\&quot;,\&quot;jekyll setup\&quot;,\&quot;github pages\&quot;,\&quot;beginner guide\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;November 25, 2025\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-blog-setup-guide.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Best Jekyll Themes for a Portfolio Website (2026)\&quot;,\n          excerpt: \&quot;A portfolio is one of the best use cases for Jekyll. Static files load instantly, hosting is free on GitHub Pages, and the result looks as good as any dynami...\&quot;,\n          url: \&quot;/roundup/2025/11/19/jekyll-theme-portfolio-website/\&quot;,\n          tags: [\&quot;jekyll portfolio theme\&quot;,\&quot;portfolio website\&quot;,\&quot;jekyll themes\&quot;,\&quot;developer portfolio\&quot;],\n          category: \&quot;Roundup\&quot;,\n          date: \&quot;November 19, 2025\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-portfolio-themes.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs Hugo: Full Comparison for 2026 (Themes, Speed, Hosting)\&quot;,\n          excerpt: \&quot;Jekyll and Hugo are the two most popular static site generators. Both produce fast, secure static websites  but they approach it differently. This compariso...\&quot;,\n          url: \&quot;/comparison/2025/11/14/jekyll-vs-hugo-themes/\&quot;,\n          tags: [\&quot;jekyll vs hugo\&quot;,\&quot;static site generators\&quot;,\&quot;jekyll themes\&quot;,\&quot;hugo themes\&quot;,\&quot;github pages\&quot;],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;November 14, 2025\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-hugo-themes.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Best Static Site Themes in 2026 (Jekyll, Hugo &amp; Eleventy)\&quot;,\n          excerpt: \&quot;Static site generators have matured into a serious alternative to WordPress and other CMS platforms. Jekyll, Hugo, and Eleventy each have strong theme ecosys...\&quot;,\n          url: \&quot;/roundup/2025/11/08/best-static-site-themes/\&quot;,\n          tags: [\&quot;static site themes\&quot;,\&quot;best jekyll themes\&quot;,\&quot;hugo themes\&quot;,\&quot;eleventy themes\&quot;],\n          category: \&quot;Roundup\&quot;,\n          date: \&quot;November 8, 2025\&quot;,\n          image: \&quot;/assets/images/blog/best-static-site-themes.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Theme vs WordPress Theme: Which Should You Choose in 2026?\&quot;,\n          excerpt: \&quot;Choosing between Jekyll and WordPress is one of the most common decisions developers and bloggers face. Both power millions of websites  but they are fundam...\&quot;,\n          url: \&quot;/comparison/2025/11/03/jekyll-theme-vs-wordpress-theme/\&quot;,\n          tags: [\&quot;jekyll vs wordpress\&quot;,\&quot;static site vs cms\&quot;,\&quot;jekyll theme\&quot;,\&quot;wordpress theme\&quot;],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;November 3, 2025\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-wordpress.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Change Your Jekyll Theme (Without Losing Content)\&quot;,\n          excerpt: \&quot;Changing a Jekyll theme is straightforward if you follow the right steps. The key is understanding what belongs to the theme and what belongs to your content...\&quot;,\n          url: \&quot;/tutorial/2025/10/28/how-to-change-jekyll-theme/\&quot;,\n          tags: [\&quot;change jekyll theme\&quot;,\&quot;switch jekyll theme\&quot;,\&quot;jekyll migration\&quot;,\&quot;tutorial\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;October 28, 2025\&quot;,\n          image: \&quot;/assets/images/blog/how-to-change-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;GitHub Pages Jekyll Theme: Complete Setup Guide (2026)\&quot;,\n          excerpt: \&quot;GitHub Pages is the most popular way to host a Jekyll site  it’s free, integrates directly with your repository, and rebuilds automatically on every push. T...\&quot;,\n          url: \&quot;/tutorial/2025/10/23/github-pages-jekyll-theme/\&quot;,\n          tags: [\&quot;github pages\&quot;,\&quot;jekyll theme\&quot;,\&quot;github pages jekyll\&quot;,\&quot;tutorial\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;October 23, 2025\&quot;,\n          image: \&quot;/assets/images/blog/github-pages-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Customize a Jekyll Theme (Complete Guide 2026)\&quot;,\n          excerpt: \&quot;Customizing a Jekyll theme doesn’t mean editing the theme files directly  that approach breaks every time you update the theme. The right way is to use Jeky...\&quot;,\n          url: \&quot;/tutorial/2025/10/17/how-to-customize-jekyll-theme/\&quot;,\n          tags: [\&quot;customize jekyll theme\&quot;,\&quot;jekyll scss\&quot;,\&quot;jekyll layouts\&quot;,\&quot;tutorial\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;October 17, 2025\&quot;,\n          image: \&quot;/assets/images/blog/how-to-customize-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Install a Jekyll Theme (Step-by-Step Guide for 2026)\&quot;,\n          excerpt: \&quot;Installing a Jekyll theme is one of the first things you will do when building a static site. Whether you are using GitHub Pages, a local Jekyll setup, or de...\&quot;,\n          url: \&quot;/tutorial/2025/10/12/how-to-install-jekyll-theme/\&quot;,\n          tags: [\&quot;install jekyll theme\&quot;,\&quot;jekyll setup\&quot;,\&quot;github pages\&quot;,\&quot;tutorial\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;October 12, 2025\&quot;,\n          image: \&quot;/assets/images/blog/how-to-install-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Best Free Jekyll Themes for GitHub Pages (2026)\&quot;,\n          excerpt: \&quot;GitHub Pages is the easiest way to host a Jekyll site  free, reliable, and zero configuration. The catch is that it only supports a whitelist of plugins and...\&quot;,\n          url: \&quot;/blog/2025/10/06/free-jekyll-themes-github-pages/\&quot;,\n          tags: [\&quot;free jekyll themes\&quot;,\&quot;github pages\&quot;,\&quot;open source\&quot;],\n          category: \&quot;Blog\&quot;,\n          date: \&quot;October 6, 2025\&quot;,\n          image: \&quot;/assets/images/blog/free-jekyll-themes-github-pages.webp\&quot;\n        },\n        \n        {\n          title: \&quot;35 Best Jekyll Themes for 2026 (Free + Premium)\&quot;,\n          excerpt: \&quot;Jekyll remains one of the most reliable static site generators in 2026  fast, GitHub Pages native, and backed by a thriving theme ecosystem. Whether you are...\&quot;,\n          url: \&quot;/blog/2025/10/01/best-jekyll-themes-2026/\&quot;,\n          tags: [\&quot;jekyll themes\&quot;,\&quot;best themes\&quot;,\&quot;free themes\&quot;,\&quot;premium themes\&quot;],\n          category: \&quot;Blog\&quot;,\n          date: \&quot;October 1, 2025\&quot;,\n          image: \&quot;/assets/images/blog/best-jekyll-themes-2026.webp\&quot;\n        }\n        \n      ],\n      testimonials: [\n        \n        {\n          name:   \&quot;Sarah Reynolds\&quot;,\n          role:   \&quot;Freelance Developer\&quot;,\n          rating: 5,\n          quote:  \&quot;Found the perfect portfolio theme in minutes. Clean code, well documented, and looks stunning out of the box. Saved me days of work.\&quot;\n        },\n        \n        {\n          name:   \&quot;Marcus Thornton\&quot;,\n          role:   \&quot;Full-Stack Engineer\&quot;,\n          rating: 5,\n          quote:  \&quot;Switched from WordPress and couldn&apos;t be happier. The themes here are modern, fast, and actually work with Jekyll without hacks.\&quot;\n        },\n        \n        {\n          name:   \&quot;James Kowalski\&quot;,\n          role:   \&quot;Open Source Maintainer\&quot;,\n          rating: 5,\n          quote:  \&quot;The documentation theme I picked made my open source project look incredibly professional. My users noticed the difference immediately.\&quot;\n        },\n        \n        {\n          name:   \&quot;Aisha Langford\&quot;,\n          role:   \&quot;Technical Writer\&quot;,\n          rating: 4.5,\n          quote:  \&quot;Great selection of blog themes. I launched my personal blog in an afternoon  setup was painless and the design is exactly what I wanted.\&quot;\n        },\n        \n        {\n          name:   \&quot;David Carver\&quot;,\n          role:   \&quot;Product Designer\&quot;,\n          rating: 4,\n          quote:  \&quot;Really impressed by the quality. The premium theme I bought had more features than themes costing 3× the price on other marketplaces.\&quot;\n        },\n        \n        {\n          name:   \&quot;Nina Patel\&quot;,\n          role:   \&quot;UX Designer\&quot;,\n          rating: 5,\n          quote:  \&quot;Finally a Jekyll marketplace that takes design seriously. Every theme looks hand-crafted, not like a generic template with the colours swapped.\&quot;\n        },\n        \n        {\n          name:   \&quot;Tom Whitfield\&quot;,\n          role:   \&quot;Indie Hacker\&quot;,\n          rating: 5,\n          quote:  \&quot;Launched my SaaS landing page using a JekyllHub theme. Got compliments on the design before I even launched the product.\&quot;\n        },\n        \n        {\n          name:   \&quot;Elena Marchetti\&quot;,\n          role:   \&quot;Academic Researcher\&quot;,\n          rating: 4.5,\n          quote:  \&quot;The academic theme I found here is exactly what my lab website needed  clean, fast, and easy for non-technical colleagues to update.\&quot;\n        },\n        \n        {\n          name:   \&quot;Ryan Summers\&quot;,\n          role:   \&quot;Backend Developer\&quot;,\n          rating: 4.5,\n          quote:  \&quot;I&apos;m not a designer but my site looks like I am. The theme was drop-in ready and the customisation was straightforward.\&quot;\n        }\n        \n      ]\n    };\n  &lt;/script&gt;\n\n    &lt;main id=\&quot;main-content\&quot;&gt;\n    &lt;div class=\&quot;read-progress\&quot; id=\&quot;read-progress\&quot;&gt;&lt;/div&gt;\n\n&lt;article class=\&quot;post\&quot; itemscope itemtype=\&quot;https://schema.org/BlogPosting\&quot;&gt;\n\n  &lt;header class=\&quot;post-hero\&quot;&gt;\n    &lt;div class=\&quot;container\&quot;&gt;\n      &lt;div class=\&quot;post-hero__breadcrumb\&quot;&gt;\n        &lt;a href=\&quot;/\&quot;&gt;Home&lt;/a&gt;\n        &lt;span class=\&quot;breadcrumb-sep\&quot;&gt;›&lt;/span&gt;\n        &lt;a href=\&quot;/blog/\&quot;&gt;Blog&lt;/a&gt;\n        &lt;span class=\&quot;breadcrumb-sep\&quot;&gt;›&lt;/span&gt;\n        &lt;span&gt;Jekyll vs Next.js: A Practical Comparison for 2026&lt;/span&gt;\n      &lt;/div&gt;\n\n      &lt;div class=\&quot;post-hero__inner\&quot;&gt;\n        \n        &lt;span class=\&quot;post-hero__cat\&quot;&gt;Comparison&lt;/span&gt;\n        \n\n        &lt;h1 class=\&quot;post-hero__title\&quot; itemprop=\&quot;name\&quot;&gt;Jekyll vs Next.js: A Practical Comparison for 2026&lt;/h1&gt;\n\n        \n        &lt;p class=\&quot;post-hero__desc\&quot; itemprop=\&quot;description\&quot;&gt;Jekyll and Next.js both produce fast websites  but they are built for very different situations. Here is how to choose between them for your next project.&lt;/p&gt;\n        \n\n        &lt;div class=\&quot;post-hero__meta\&quot;&gt;\n          &lt;span class=\&quot;post-meta-item\&quot;&gt;\n            &lt;svg width=\&quot;15\&quot; height=\&quot;15\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\&quot;/&gt;&lt;/svg&gt;\n            Updated &lt;time itemprop=\&quot;dateModified\&quot; datetime=\&quot;2026-07-04T00:00:00+00:00\&quot;&gt;July 4, 2026&lt;/time&gt;\n          &lt;/span&gt;\n\n          &lt;span class=\&quot;post-meta-item\&quot;&gt;\n            &lt;svg width=\&quot;15\&quot; height=\&quot;15\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z\&quot;/&gt;&lt;/svg&gt;\n            4 min read\n          &lt;/span&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/header&gt;\n\n  \n  &lt;div class=\&quot;post-cover\&quot;&gt;\n    &lt;div class=\&quot;container\&quot;&gt;\n      &lt;img src=\&quot;/assets/images/blog/jekyll-vs-nextjs.webp\&quot; alt=\&quot;Jekyll vs Next.js: A Practical Comparison for 2026\&quot; class=\&quot;post-cover__img\&quot; itemprop=\&quot;image\&quot;&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  \n\n  &lt;div class=\&quot;container\&quot;&gt;\n    &lt;div class=\&quot;post-body\&quot;&gt;\n      &lt;div class=\&quot;post-body__main\&quot;&gt;\n        \n        &lt;div class=\&quot;post-toc\&quot; id=\&quot;post-toc\&quot; data-collapsed=\&quot;false\&quot; style=\&quot;display:none\&quot;&gt;\n          &lt;button class=\&quot;post-toc__label\&quot; id=\&quot;toc-toggle\&quot; aria-expanded=\&quot;false\&quot; aria-controls=\&quot;toc-body\&quot;&gt;\n            &lt;span class=\&quot;post-toc__label-left\&quot;&gt;\n              &lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M4 6h16M4 10h16M4 14h10\&quot;/&gt;&lt;/svg&gt;\n              Table of Contents\n            &lt;/span&gt;\n            &lt;svg class=\&quot;post-toc__chevron\&quot; width=\&quot;14\&quot; height=\&quot;14\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M19 9l-7 7-7-7\&quot;/&gt;&lt;/svg&gt;\n          &lt;/button&gt;\n          &lt;nav id=\&quot;toc-body\&quot; class=\&quot;toc\&quot;&gt;&lt;/nav&gt;\n        &lt;/div&gt;\n        \n\n        &lt;div class=\&quot;prose\&quot; itemprop=\&quot;articleBody\&quot;&gt;\n          &lt;p&gt;Jekyll and Next.js are both capable of producing fast, statically-generated websites. But comparing them is a bit like comparing a bicycle to a car  they are built for different journeys. This guide cuts through the noise and tells you which one fits your project.&lt;/p&gt;\n\n&lt;h2 id=\&quot;the-fundamental-difference\&quot;&gt;The fundamental difference&lt;/h2&gt;\n\n&lt;p&gt;Jekyll is a static site generator. It takes your Markdown files and Liquid templates and produces plain HTML. That is all it does, and it does it extremely well.&lt;/p&gt;\n\n&lt;p&gt;Next.js is a full-stack React framework that happens to support static export. Its primary purpose is server-rendered and hybrid web applications. Static generation is one mode among many  not its identity.&lt;/p&gt;\n\n&lt;h2 id=\&quot;learning-curve\&quot;&gt;Learning curve&lt;/h2&gt;\n\n&lt;p&gt;Jekyll requires Markdown, YAML, and Liquid templating  none of which are programming languages in the traditional sense. A non-developer can be productive in Jekyll within a day.&lt;/p&gt;\n\n&lt;p&gt;Next.js requires React, JavaScript (ideally TypeScript), an understanding of server-side rendering versus static generation, and the Next.js routing model. If you do not already know React, Next.js is a significant investment.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Bottom line:&lt;/strong&gt; Jekyll is accessible to anyone. Next.js requires a JavaScript developer.&lt;/p&gt;\n\n&lt;h2 id=\&quot;build-output-and-hosting\&quot;&gt;Build output and hosting&lt;/h2&gt;\n\n&lt;p&gt;Both can produce a folder of static HTML files ready to deploy anywhere. But the experience differs considerably.&lt;/p&gt;\n\n&lt;p&gt;Jekyll outputs clean HTML by default and hosts natively on GitHub Pages  push your repository and your site is live within minutes, for free.&lt;/p&gt;\n\n&lt;p&gt;Next.js static export (&lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;next export&lt;/code&gt;) works well but loses several Next.js features: API routes, middleware, image optimisation via &lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;next/image&lt;/code&gt;, and incremental static regeneration. If you strip out those features, you are essentially using a React-based template engine.&lt;/p&gt;\n\n&lt;table&gt;\n  &lt;thead&gt;\n    &lt;tr&gt;\n      &lt;th&gt; &lt;/th&gt;\n      &lt;th&gt;Jekyll&lt;/th&gt;\n      &lt;th&gt;Next.js static&lt;/th&gt;\n    &lt;/tr&gt;\n  &lt;/thead&gt;\n  &lt;tbody&gt;\n    &lt;tr&gt;\n      &lt;td&gt;GitHub Pages (native)&lt;/td&gt;\n      &lt;td&gt;Yes&lt;/td&gt;\n      &lt;td&gt;No (requires Actions)&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr&gt;\n      &lt;td&gt;Netlify / Cloudflare&lt;/td&gt;\n      &lt;td&gt;Yes&lt;/td&gt;\n      &lt;td&gt;Yes&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr&gt;\n      &lt;td&gt;Vercel&lt;/td&gt;\n      &lt;td&gt;Yes&lt;/td&gt;\n      &lt;td&gt;Yes (first-class)&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr&gt;\n      &lt;td&gt;Output size&lt;/td&gt;\n      &lt;td&gt;Very small&lt;/td&gt;\n      &lt;td&gt;Larger (React bundle)&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr&gt;\n      &lt;td&gt;JS required for content&lt;/td&gt;\n      &lt;td&gt;No&lt;/td&gt;\n      &lt;td&gt;Yes (hydration)&lt;/td&gt;\n    &lt;/tr&gt;\n  &lt;/tbody&gt;\n&lt;/table&gt;\n\n&lt;h2 id=\&quot;performance\&quot;&gt;Performance&lt;/h2&gt;\n\n&lt;p&gt;A Jekyll site ships zero JavaScript by default. The page is just HTML and CSS. This is excellent for Core Web Vitals  particularly Interaction to Next Paint (INP) and Total Blocking Time.&lt;/p&gt;\n\n&lt;p&gt;Next.js ships a React runtime with every page, even for fully static content. This adds 70–200kb of JavaScript that must parse and execute before the page is fully interactive. For content sites (blogs, docs, portfolios), this is overhead with no benefit.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;For content-focused sites, Jekyll is faster in practice&lt;/strong&gt;  not in theory, but in the metrics that matter for real users on real connections.&lt;/p&gt;\n\n&lt;h2 id=\&quot;themes-and-design\&quot;&gt;Themes and design&lt;/h2&gt;\n\n&lt;p&gt;Jekyll has a mature theme ecosystem with hundreds of free themes on GitHub and dedicated marketplaces like JekyllHub. Themes are plain HTML, CSS, and Liquid  readable by anyone.&lt;/p&gt;\n\n&lt;p&gt;Next.js themes exist (Vercel has a showcase, there are paid options) but the concept of a “theme” is less central to the framework. Customisation requires React component knowledge.&lt;/p&gt;\n\n&lt;h2 id=\&quot;when-nextjs-makes-sense-over-jekyll\&quot;&gt;When Next.js makes sense over Jekyll&lt;/h2&gt;\n\n&lt;ul&gt;\n  &lt;li&gt;You are building a web application, not a content site&lt;/li&gt;\n  &lt;li&gt;You need API routes, authentication, or database access&lt;/li&gt;\n  &lt;li&gt;Your team is already using React across multiple projects&lt;/li&gt;\n  &lt;li&gt;You need incremental static regeneration (pages that update without a full rebuild)&lt;/li&gt;\n  &lt;li&gt;Your site pulls from a headless CMS and you need real-time preview&lt;/li&gt;\n&lt;/ul&gt;\n\n&lt;h2 id=\&quot;when-jekyll-makes-sense-over-nextjs\&quot;&gt;When Jekyll makes sense over Next.js&lt;/h2&gt;\n\n&lt;ul&gt;\n  &lt;li&gt;Your site is primarily content: blog, documentation, portfolio, or landing pages&lt;/li&gt;\n  &lt;li&gt;You want zero runtime JavaScript on the page&lt;/li&gt;\n  &lt;li&gt;You want free hosting on GitHub Pages with no build configuration&lt;/li&gt;\n  &lt;li&gt;You are not a JavaScript developer&lt;/li&gt;\n  &lt;li&gt;You want themes you can understand and customise without a compiler&lt;/li&gt;\n&lt;/ul&gt;\n\n&lt;h2 id=\&quot;the-honest-answer\&quot;&gt;The honest answer&lt;/h2&gt;\n\n&lt;p&gt;For a blog, documentation site, portfolio, or small business website: choose Jekyll. It is simpler, faster to build, free to host, and produces lighter pages.&lt;/p&gt;\n\n&lt;p&gt;For a web application with dynamic features that also needs some statically-generated pages: choose Next.js on Vercel.&lt;/p&gt;\n\n&lt;p&gt;The mistake people make is reaching for Next.js because it is popular, then spending weeks managing a React build pipeline to publish content that could have been a Markdown file.&lt;/p&gt;\n\n&lt;p&gt;Start with the right tool. Browse &lt;a href=\&quot;/themes/\&quot;&gt;Jekyll themes on JekyllHub&lt;/a&gt; and have your site live today.&lt;/p&gt;\n\n        &lt;/div&gt;\n\n        \n        &lt;div class=\&quot;post-tags\&quot;&gt;\n          \n        &lt;/div&gt;\n        \n\n        &lt;div class=\&quot;post-share\&quot;&gt;\n          &lt;span class=\&quot;post-share__label\&quot;&gt;Share&lt;/span&gt;\n          &lt;a href=\&quot;https://twitter.com/intent/tweet?url=https%3A%2F%2Fjekyllhub.com%2Fcomparison%2F2026%2F05%2F19%2Fjekyll-vs-nextjs%2F&amp;text=Jekyll+vs+Next.js%3A+A+Practical+Comparison+for+2026\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener\&quot; class=\&quot;post-share__btn post-share__btn--twitter\&quot;&gt;\n            &lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; viewBox=\&quot;0 0 24 24\&quot; fill=\&quot;currentColor\&quot;&gt;&lt;path d=\&quot;M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z\&quot;/&gt;&lt;/svg&gt;\n            X / Twitter\n          &lt;/a&gt;\n          &lt;a href=\&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A%2F%2Fjekyllhub.com%2Fcomparison%2F2026%2F05%2F19%2Fjekyll-vs-nextjs%2F&amp;title=Jekyll+vs+Next.js%3A+A+Practical+Comparison+for+2026\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener\&quot; class=\&quot;post-share__btn post-share__btn--linkedin\&quot;&gt;\n            &lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; viewBox=\&quot;0 0 24 24\&quot; fill=\&quot;currentColor\&quot;&gt;&lt;path d=\&quot;M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\&quot;/&gt;&lt;/svg&gt;\n            LinkedIn\n          &lt;/a&gt;\n          &lt;button class=\&quot;post-share__btn post-share__btn--copy\&quot; onclick=\&quot;JekyllHub.copyPostLink(this)\&quot;&gt;\n            &lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\&quot;/&gt;&lt;/svg&gt;\n            &lt;span&gt;Copy Link&lt;/span&gt;\n          &lt;/button&gt;\n        &lt;/div&gt;\n\n        \n\n        &lt;nav class=\&quot;post-nav\&quot; aria-label=\&quot;Post navigation\&quot;&gt;\n          &lt;div class=\&quot;post-nav__prev\&quot;&gt;\n            \n            &lt;a href=\&quot;/tutorial/2026/05/18/jekyll-custom-domain/\&quot; class=\&quot;post-nav__link\&quot;&gt;\n              &lt;span class=\&quot;post-nav__label\&quot;&gt;← Previous&lt;/span&gt;\n              &lt;span class=\&quot;post-nav__title\&quot;&gt;How to Set Up a Custom Domain for Your Jekyll Site&lt;/span&gt;\n            &lt;/a&gt;\n            \n          &lt;/div&gt;\n          &lt;div class=\&quot;post-nav__center\&quot;&gt;\n            &lt;a href=\&quot;/blog/\&quot; class=\&quot;btn btn--secondary btn--sm\&quot;&gt;All Posts&lt;/a&gt;\n          &lt;/div&gt;\n          &lt;div class=\&quot;post-nav__next\&quot;&gt;\n            \n            &lt;a href=\&quot;/themes/2026/05/20/jekyll-minimal-themes/\&quot; class=\&quot;post-nav__link post-nav__link--next\&quot;&gt;\n              &lt;span class=\&quot;post-nav__label\&quot;&gt;Next →&lt;/span&gt;\n              &lt;span class=\&quot;post-nav__title\&quot;&gt;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)&lt;/span&gt;\n            &lt;/a&gt;\n            \n          &lt;/div&gt;\n        &lt;/nav&gt;\n      &lt;/div&gt;\n\n      &lt;aside class=\&quot;post-body__sidebar\&quot;&gt;\n        &lt;div class=\&quot;sidebar-card\&quot;&gt;\n          &lt;h3 class=\&quot;sidebar-card__title\&quot;&gt;Browse Themes&lt;/h3&gt;\n          &lt;ul class=\&quot;post-sidebar__links\&quot;&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-academic-themes/\&quot;&gt;🎓 Academic Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-blog-themes/\&quot;&gt;✍️ Blog Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-business-themes/\&quot;&gt;💼 Business Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-documentation-themes/\&quot;&gt;📚 Documentation Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-e-commerce-themes/\&quot;&gt;🛒 E-commerce Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-landing-page-themes/\&quot;&gt;🚀 Landing Page Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-personal-themes/\&quot;&gt;👤 Personal Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-portfolio-themes/\&quot;&gt;🎨 Portfolio Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-resume-cv-themes/\&quot;&gt;📄 Resume/CV Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-github-pages-themes/\&quot;&gt;&lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; viewBox=\&quot;0 0 24 24\&quot; fill=\&quot;currentColor\&quot; style=\&quot;display:inline;vertical-align:middle;margin-right:4px\&quot;&gt;&lt;path d=\&quot;M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z\&quot;/&gt;&lt;/svg&gt;GitHub Pages Themes&lt;/a&gt;&lt;/li&gt;\n          &lt;/ul&gt;\n          &lt;a href=\&quot;/themes/\&quot; class=\&quot;btn btn--primary btn--full\&quot; style=\&quot;margin-top:var(--space-5)\&quot;&gt;Browse All Themes →&lt;/a&gt;\n        &lt;/div&gt;\n\n        &lt;div class=\&quot;sidebar-card\&quot; style=\&quot;margin-top:var(--space-6)\&quot;&gt;\n          &lt;h3 class=\&quot;sidebar-card__title\&quot;&gt;Submit Your Theme&lt;/h3&gt;\n          &lt;p style=\&quot;font-size:0.875rem;color:var(--text-3);line-height:1.6;margin-bottom:var(--space-4)\&quot;&gt;Built a Jekyll theme? Share it with thousands of developers.&lt;/p&gt;\n          &lt;a href=\&quot;/submit/\&quot; class=\&quot;btn btn--secondary btn--full\&quot;&gt;Submit a Theme →&lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/aside&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;!-- Related Themes  rendered by JS from SITE_DATA, shuffled per page load --&gt;\n\n  \n\n  \n  &lt;section class=\&quot;post-related-themes\&quot; style=\&quot;display:none\&quot;&gt;\n    &lt;div class=\&quot;container\&quot;&gt;\n      &lt;h2 class=\&quot;post-related-themes__title\&quot;&gt;Themes You Might Like&lt;/h2&gt;\n      &lt;div class=\&quot;themes-grid themes-grid--4\&quot; id=\&quot;post-related-themes-grid\&quot;\n           data-tags=\&quot;[]\&quot;\n           data-related-category=\&quot;Blog\&quot;&gt;&lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/section&gt;\n  \n\n&lt;/article&gt;\n\n&lt;!-- Back to top --&gt;\n&lt;button class=\&quot;back-to-top\&quot; id=\&quot;back-to-top\&quot; aria-label=\&quot;Back to top\&quot; onclick=\&quot;window.scrollTo({top:0,behavior:&apos;smooth&apos;})\&quot;&gt;\n  &lt;svg fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n    &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2.5\&quot; d=\&quot;M5 15l7-7 7 7\&quot;/&gt;\n  &lt;/svg&gt;\n&lt;/button&gt;\n&lt;script src=\&quot;/assets/js/post.js\&quot; defer&gt;&lt;/script&gt;\n\n  &lt;/main&gt;\n\n  &lt;footer class=\&quot;footer\&quot;&gt;\n  &lt;div class=\&quot;container\&quot;&gt;\n    &lt;div class=\&quot;footer__grid\&quot;&gt;\n      &lt;!-- Brand --&gt;\n      &lt;div class=\&quot;footer__brand\&quot;&gt;\n        &lt;a href=\&quot;/\&quot; class=\&quot;footer__logo\&quot;&gt;\n          &lt;svg width=\&quot;28\&quot; height=\&quot;28\&quot; viewBox=\&quot;0 0 32 32\&quot; fill=\&quot;none\&quot;&gt;\n            &lt;rect width=\&quot;32\&quot; height=\&quot;32\&quot; rx=\&quot;9\&quot; fill=\&quot;#2563EB\&quot;/&gt;\n            &lt;path d=\&quot;M19 8h-6v1h5v10c0 2.2-1.8 4-4 4s-4-1.8-4-4v-1H9v1c0 2.76 2.24 5 5 5s5-2.24 5-5V8z\&quot; fill=\&quot;white\&quot;/&gt;\n            &lt;circle cx=\&quot;23\&quot; cy=\&quot;9\&quot; r=\&quot;2.5\&quot; fill=\&quot;#F0C94B\&quot;/&gt;\n          &lt;/svg&gt;\n          Jekyll&lt;span style=\&quot;color:var(--color-brand)\&quot;&gt;Hub&lt;/span&gt;\n        &lt;/a&gt;\n        &lt;p class=\&quot;footer__tagline\&quot;&gt;The premier marketplace for Jekyll themes. Build something beautiful.&lt;/p&gt;\n        &lt;div class=\&quot;footer__social\&quot;&gt;\n          &lt;a href=\&quot;https://github.com/jekyllhub\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener\&quot; aria-label=\&quot;GitHub\&quot;&gt;\n            &lt;svg width=\&quot;18\&quot; height=\&quot;18\&quot; fill=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot; aria-hidden=\&quot;true\&quot;&gt;&lt;path d=\&quot;M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z\&quot;/&gt;&lt;/svg&gt;\n\n          &lt;/a&gt;\n          &lt;a href=\&quot;https://twitter.com/jekyllhub\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener\&quot; aria-label=\&quot;Twitter\&quot;&gt;\n            &lt;svg width=\&quot;18\&quot; height=\&quot;18\&quot; fill=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path d=\&quot;M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z\&quot;/&gt;&lt;/svg&gt;\n          &lt;/a&gt;\n          &lt;a href=\&quot;/feed.xml\&quot; aria-label=\&quot;RSS Feed\&quot;&gt;\n            &lt;svg width=\&quot;18\&quot; height=\&quot;18\&quot; fill=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path d=\&quot;M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z\&quot;/&gt;&lt;/svg&gt;\n          &lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n\n      &lt;!-- Explore --&gt;\n      &lt;div class=\&quot;footer__col\&quot;&gt;\n        &lt;h3 class=\&quot;footer__heading\&quot;&gt;Explore&lt;/h3&gt;\n        &lt;ul class=\&quot;footer__links\&quot; role=\&quot;list\&quot;&gt;\n          &lt;li&gt;&lt;a href=\&quot;/themes/\&quot;&gt;All Themes&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/themes/?price=premium\&quot;&gt;Premium Themes&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/themes/?price=free\&quot;&gt;Free Themes&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/themes/?sort=newest\&quot;&gt;Newest&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/themes/?sort=updated\&quot;&gt;Recently Updated&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/themes/?featured=true\&quot;&gt;Featured&lt;/a&gt;&lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/div&gt;\n\n      &lt;!-- Categories --&gt;\n      &lt;div class=\&quot;footer__col\&quot;&gt;\n        &lt;h3 class=\&quot;footer__heading\&quot;&gt;Categories&lt;/h3&gt;\n        &lt;ul class=\&quot;footer__links\&quot; role=\&quot;list\&quot;&gt;\n          \n          &lt;li&gt;&lt;a href=\&quot;/jekyll-academic-themes/\&quot;&gt;Academic&lt;/a&gt;&lt;/li&gt;\n          \n          &lt;li&gt;&lt;a href=\&quot;/jekyll-blog-themes/\&quot;&gt;Blog&lt;/a&gt;&lt;/li&gt;\n          \n          &lt;li&gt;&lt;a href=\&quot;/jekyll-business-themes/\&quot;&gt;Business&lt;/a&gt;&lt;/li&gt;\n          \n          &lt;li&gt;&lt;a href=\&quot;/jekyll-documentation-themes/\&quot;&gt;Documentation&lt;/a&gt;&lt;/li&gt;\n          \n          &lt;li&gt;&lt;a href=\&quot;/jekyll-e-commerce-themes/\&quot;&gt;E-commerce&lt;/a&gt;&lt;/li&gt;\n          \n          &lt;li&gt;&lt;a href=\&quot;/jekyll-github-pages-themes/\&quot;&gt;GitHub Pages Themes&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/categories/\&quot;&gt;View all →&lt;/a&gt;&lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/div&gt;\n\n      &lt;!-- Resources --&gt;\n      &lt;div class=\&quot;footer__col\&quot;&gt;\n        &lt;h3 class=\&quot;footer__heading\&quot;&gt;Learn&lt;/h3&gt;\n        &lt;ul class=\&quot;footer__links\&quot; role=\&quot;list\&quot;&gt;\n          &lt;li&gt;&lt;a href=\&quot;/jekyll-resources/\&quot;&gt;Jekyll Resources&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/installation/\&quot;&gt;Installation Guide&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/submit/\&quot;&gt;Submit a Theme&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;https://jekyllrb.com\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener\&quot;&gt;Jekyll Docs&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/faq/\&quot;&gt;FAQ&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/authors/\&quot;&gt;Authors&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/about/\&quot;&gt;About&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/contact/\&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n\n    &lt;div class=\&quot;footer__bottom\&quot;&gt;\n      &lt;p class=\&quot;footer__copy\&quot;&gt;© 2026 JekyllHub. Built with ❤️ and &lt;a href=\&quot;https://jekyllrb.com\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener\&quot;&gt;Jekyll&lt;/a&gt;.&lt;/p&gt;\n      &lt;div class=\&quot;footer__legal\&quot;&gt;\n        &lt;a href=\&quot;/privacy/\&quot;&gt;Privacy&lt;/a&gt;\n        &lt;a href=\&quot;/terms/\&quot;&gt;Terms&lt;/a&gt;\n        &lt;a href=\&quot;/refunds/\&quot;&gt;Refunds&lt;/a&gt;\n        &lt;a href=\&quot;/sitemap.xml\&quot;&gt;Sitemap&lt;/a&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/footer&gt;\n\n\n  &lt;!-- Alpine.js  pinned to 3.13.5 for stability (handles mobile nav toggle) --&gt;\n  &lt;script defer src=\&quot;https://unpkg.com/alpinejs@3.13.5/dist/cdn.min.js\&quot;&gt;&lt;/script&gt;\n\n  &lt;!-- Main JS --&gt;\n  &lt;script src=\&quot;/assets/js/main.js\&quot;&gt;&lt;/script&gt;\n\n  &lt;!-- Page-specific scripts --&gt;\n  \n&lt;/body&gt;\n&lt;/html&gt;\n&quot;,
      &quot;content&quot;: &quot;&lt;p&gt;Jekyll and Next.js are both capable of producing fast, statically-generated websites. But comparing them is a bit like comparing a bicycle to a car  they are built for different journeys. This guide cuts through the noise and tells you which one fits your project.&lt;/p&gt;\n\n&lt;h2 id=\&quot;the-fundamental-difference\&quot;&gt;The fundamental difference&lt;/h2&gt;\n\n&lt;p&gt;Jekyll is a static site generator. It takes your Markdown files and Liquid templates and produces plain HTML. That is all it does, and it does it extremely well.&lt;/p&gt;\n\n&lt;p&gt;Next.js is a full-stack React framework that happens to support static export. Its primary purpose is server-rendered and hybrid web applications. Static generation is one mode among many  not its identity.&lt;/p&gt;\n\n&lt;h2 id=\&quot;learning-curve\&quot;&gt;Learning curve&lt;/h2&gt;\n\n&lt;p&gt;Jekyll requires Markdown, YAML, and Liquid templating  none of which are programming languages in the traditional sense. A non-developer can be productive in Jekyll within a day.&lt;/p&gt;\n\n&lt;p&gt;Next.js requires React, JavaScript (ideally TypeScript), an understanding of server-side rendering versus static generation, and the Next.js routing model. If you do not already know React, Next.js is a significant investment.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Bottom line:&lt;/strong&gt; Jekyll is accessible to anyone. Next.js requires a JavaScript developer.&lt;/p&gt;\n\n&lt;h2 id=\&quot;build-output-and-hosting\&quot;&gt;Build output and hosting&lt;/h2&gt;\n\n&lt;p&gt;Both can produce a folder of static HTML files ready to deploy anywhere. But the experience differs considerably.&lt;/p&gt;\n\n&lt;p&gt;Jekyll outputs clean HTML by default and hosts natively on GitHub Pages  push your repository and your site is live within minutes, for free.&lt;/p&gt;\n\n&lt;p&gt;Next.js static export (&lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;next export&lt;/code&gt;) works well but loses several Next.js features: API routes, middleware, image optimisation via &lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;next/image&lt;/code&gt;, and incremental static regeneration. If you strip out those features, you are essentially using a React-based template engine.&lt;/p&gt;\n\n&lt;table&gt;\n  &lt;thead&gt;\n    &lt;tr&gt;\n      &lt;th&gt; &lt;/th&gt;\n      &lt;th&gt;Jekyll&lt;/th&gt;\n      &lt;th&gt;Next.js static&lt;/th&gt;\n    &lt;/tr&gt;\n  &lt;/thead&gt;\n  &lt;tbody&gt;\n    &lt;tr&gt;\n      &lt;td&gt;GitHub Pages (native)&lt;/td&gt;\n      &lt;td&gt;Yes&lt;/td&gt;\n      &lt;td&gt;No (requires Actions)&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr&gt;\n      &lt;td&gt;Netlify / Cloudflare&lt;/td&gt;\n      &lt;td&gt;Yes&lt;/td&gt;\n      &lt;td&gt;Yes&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr&gt;\n      &lt;td&gt;Vercel&lt;/td&gt;\n      &lt;td&gt;Yes&lt;/td&gt;\n      &lt;td&gt;Yes (first-class)&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr&gt;\n      &lt;td&gt;Output size&lt;/td&gt;\n      &lt;td&gt;Very small&lt;/td&gt;\n      &lt;td&gt;Larger (React bundle)&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr&gt;\n      &lt;td&gt;JS required for content&lt;/td&gt;\n      &lt;td&gt;No&lt;/td&gt;\n      &lt;td&gt;Yes (hydration)&lt;/td&gt;\n    &lt;/tr&gt;\n  &lt;/tbody&gt;\n&lt;/table&gt;\n\n&lt;h2 id=\&quot;performance\&quot;&gt;Performance&lt;/h2&gt;\n\n&lt;p&gt;A Jekyll site ships zero JavaScript by default. The page is just HTML and CSS. This is excellent for Core Web Vitals  particularly Interaction to Next Paint (INP) and Total Blocking Time.&lt;/p&gt;\n\n&lt;p&gt;Next.js ships a React runtime with every page, even for fully static content. This adds 70–200kb of JavaScript that must parse and execute before the page is fully interactive. For content sites (blogs, docs, portfolios), this is overhead with no benefit.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;For content-focused sites, Jekyll is faster in practice&lt;/strong&gt;  not in theory, but in the metrics that matter for real users on real connections.&lt;/p&gt;\n\n&lt;h2 id=\&quot;themes-and-design\&quot;&gt;Themes and design&lt;/h2&gt;\n\n&lt;p&gt;Jekyll has a mature theme ecosystem with hundreds of free themes on GitHub and dedicated marketplaces like JekyllHub. Themes are plain HTML, CSS, and Liquid  readable by anyone.&lt;/p&gt;\n\n&lt;p&gt;Next.js themes exist (Vercel has a showcase, there are paid options) but the concept of a “theme” is less central to the framework. Customisation requires React component knowledge.&lt;/p&gt;\n\n&lt;h2 id=\&quot;when-nextjs-makes-sense-over-jekyll\&quot;&gt;When Next.js makes sense over Jekyll&lt;/h2&gt;\n\n&lt;ul&gt;\n  &lt;li&gt;You are building a web application, not a content site&lt;/li&gt;\n  &lt;li&gt;You need API routes, authentication, or database access&lt;/li&gt;\n  &lt;li&gt;Your team is already using React across multiple projects&lt;/li&gt;\n  &lt;li&gt;You need incremental static regeneration (pages that update without a full rebuild)&lt;/li&gt;\n  &lt;li&gt;Your site pulls from a headless CMS and you need real-time preview&lt;/li&gt;\n&lt;/ul&gt;\n\n&lt;h2 id=\&quot;when-jekyll-makes-sense-over-nextjs\&quot;&gt;When Jekyll makes sense over Next.js&lt;/h2&gt;\n\n&lt;ul&gt;\n  &lt;li&gt;Your site is primarily content: blog, documentation, portfolio, or landing pages&lt;/li&gt;\n  &lt;li&gt;You want zero runtime JavaScript on the page&lt;/li&gt;\n  &lt;li&gt;You want free hosting on GitHub Pages with no build configuration&lt;/li&gt;\n  &lt;li&gt;You are not a JavaScript developer&lt;/li&gt;\n  &lt;li&gt;You want themes you can understand and customise without a compiler&lt;/li&gt;\n&lt;/ul&gt;\n\n&lt;h2 id=\&quot;the-honest-answer\&quot;&gt;The honest answer&lt;/h2&gt;\n\n&lt;p&gt;For a blog, documentation site, portfolio, or small business website: choose Jekyll. It is simpler, faster to build, free to host, and produces lighter pages.&lt;/p&gt;\n\n&lt;p&gt;For a web application with dynamic features that also needs some statically-generated pages: choose Next.js on Vercel.&lt;/p&gt;\n\n&lt;p&gt;The mistake people make is reaching for Next.js because it is popular, then spending weeks managing a React build pipeline to publish content that could have been a Markdown file.&lt;/p&gt;\n\n&lt;p&gt;Start with the right tool. Browse &lt;a href=\&quot;/themes/\&quot;&gt;Jekyll themes on JekyllHub&lt;/a&gt; and have your site live today.&lt;/p&gt;\n&quot;,
      &quot;url&quot;: &quot;/comparison/2026/05/19/jekyll-vs-nextjs/&quot;,
      &quot;draft&quot;: false,
      &quot;categories&quot;: [
        &quot;Comparison&quot;
      ],
      &quot;layout&quot;: &quot;post&quot;,
      &quot;title&quot;: &quot;Jekyll vs Next.js: A Practical Comparison for 2026&quot;,
      &quot;description&quot;: &quot;Jekyll and Next.js both produce fast websites  but they are built for very different situations. Here is how to choose between them for your next project.&quot;,
      &quot;date&quot;: &quot;2026-05-19 00:00:00 +0000&quot;,
      &quot;last_modified_at&quot;: &quot;2026-07-04&quot;,
      &quot;image&quot;: &quot;/assets/images/blog/jekyll-vs-nextjs.webp&quot;,
      &quot;author&quot;: &quot;Marcus Webb&quot;,
      &quot;category&quot;: &quot;Comparison&quot;,
      &quot;featured&quot;: false,
      &quot;related_category&quot;: &quot;Blog&quot;,
      &quot;toc&quot;: true,
      &quot;slug&quot;: &quot;jekyll-vs-nextjs&quot;,
      &quot;ext&quot;: &quot;.md&quot;,
      &quot;tags&quot;: [

      ]
    },
    &quot;id&quot;: &quot;/themes/2026/05/20/jekyll-minimal-themes&quot;,
    &quot;collection&quot;: &quot;posts&quot;,
    &quot;next&quot;: {
      &quot;path&quot;: &quot;_posts/2026-05-21-jekyll-liquid-filters-cheatsheet.md&quot;,
      &quot;relative_path&quot;: &quot;_posts/2026-05-21-jekyll-liquid-filters-cheatsheet.md&quot;,
      &quot;excerpt&quot;: &quot;&lt;p&gt;Liquid filters transform output in Jekyll templates. They are chained with the pipe character &lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;|&lt;/code&gt; and applied to variables, strings, numbers, arrays, and dates. This cheatsheet covers every filter you will actually use, with real examples.&lt;/p&gt;\n\n&quot;,
      &quot;previous&quot;: {
        &quot;path&quot;: &quot;_posts/2026-05-20-jekyll-minimal-themes.md&quot;,
        &quot;relative_path&quot;: &quot;_posts/2026-05-20-jekyll-minimal-themes.md&quot;,
        &quot;id&quot;: &quot;/themes/2026/05/20/jekyll-minimal-themes&quot;,
        &quot;collection&quot;: &quot;posts&quot;,
        &quot;url&quot;: &quot;/themes/2026/05/20/jekyll-minimal-themes/&quot;,
        &quot;draft&quot;: false,
        &quot;categories&quot;: [
          &quot;Themes&quot;
        ],
        &quot;layout&quot;: &quot;post&quot;,
        &quot;title&quot;: &quot;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)&quot;,
        &quot;description&quot;: &quot;The best minimal Jekyll themes for blogs, portfolios, and personal sites  clean typography, fast load times, and zero visual clutter.&quot;,
        &quot;date&quot;: &quot;2026-05-20 00:00:00 +0000&quot;,
        &quot;last_modified_at&quot;: &quot;2026-07-05&quot;,
        &quot;image&quot;: &quot;/assets/images/blog/jekyll-minimal-themes.webp&quot;,
        &quot;author&quot;: &quot;Marcus Webb&quot;,
        &quot;category&quot;: &quot;Themes&quot;,
        &quot;featured&quot;: false,
        &quot;related_category&quot;: &quot;Blog&quot;,
        &quot;toc&quot;: true,
        &quot;slug&quot;: &quot;jekyll-minimal-themes&quot;,
        &quot;ext&quot;: &quot;.md&quot;,
        &quot;tags&quot;: [

        ]
      },
      &quot;id&quot;: &quot;/tutorial/2026/05/21/jekyll-liquid-filters-cheatsheet&quot;,
      &quot;collection&quot;: &quot;posts&quot;,
      &quot;next&quot;: {
        &quot;path&quot;: &quot;_posts/2026-05-22-jekyll-environment-variables.md&quot;,
        &quot;relative_path&quot;: &quot;_posts/2026-05-22-jekyll-environment-variables.md&quot;,
        &quot;id&quot;: &quot;/tutorial/2026/05/22/jekyll-environment-variables&quot;,
        &quot;collection&quot;: &quot;posts&quot;,
        &quot;url&quot;: &quot;/tutorial/2026/05/22/jekyll-environment-variables/&quot;,
        &quot;draft&quot;: false,
        &quot;categories&quot;: [
          &quot;Tutorial&quot;
        ],
        &quot;layout&quot;: &quot;post&quot;,
        &quot;title&quot;: &quot;Jekyll Environment Variables: The Complete Guide&quot;,
        &quot;description&quot;: &quot;How to use environment variables in Jekyll  JEKYLL_ENV, accessing env vars in config, conditional builds, and best practices for managing secrets.&quot;,
        &quot;date&quot;: &quot;2026-05-22 00:00:00 +0000&quot;,
        &quot;last_modified_at&quot;: &quot;2026-07-07&quot;,
        &quot;image&quot;: &quot;/assets/images/blog/jekyll-environment-variables.webp&quot;,
        &quot;author&quot;: &quot;Marcus Webb&quot;,
        &quot;category&quot;: &quot;Tutorial&quot;,
        &quot;featured&quot;: false,
        &quot;related_category&quot;: &quot;Blog&quot;,
        &quot;toc&quot;: true,
        &quot;slug&quot;: &quot;jekyll-environment-variables&quot;,
        &quot;ext&quot;: &quot;.md&quot;,
        &quot;tags&quot;: [

        ]
      },
      &quot;output&quot;: null,
      &quot;content&quot;: &quot;Liquid filters transform output in Jekyll templates. They are chained with the pipe character `|` and applied to variables, strings, numbers, arrays, and dates. This cheatsheet covers every filter you will actually use, with real examples.\n\n## String filters\n\n### append and prepend\n\n```liquid\n{{ \&quot;Jekyll\&quot; | append: \&quot; Themes\&quot; }}\n&lt;!-- output: Jekyll Themes --&gt;\n\n{{ \&quot;Themes\&quot; | prepend: \&quot;Jekyll \&quot; }}\n&lt;!-- output: Jekyll Themes --&gt;\n```\n\n### upcase, downcase, capitalize\n\n```liquid\n{{ \&quot;hello world\&quot; | upcase }}\n&lt;!-- output: HELLO WORLD --&gt;\n\n{{ \&quot;HELLO WORLD\&quot; | downcase }}\n&lt;!-- output: hello world --&gt;\n\n{{ \&quot;hello world\&quot; | capitalize }}\n&lt;!-- output: Hello world --&gt;\n```\n\n### strip, lstrip, rstrip\n\nRemoves whitespace from both ends, left only, or right only.\n\n```liquid\n{{ \&quot;  hello  \&quot; | strip }}\n&lt;!-- output: hello --&gt;\n```\n\n### replace and replace_first\n\n```liquid\n{{ \&quot;Jekyll is great, Jekyll is fast\&quot; | replace: \&quot;Jekyll\&quot;, \&quot;JekyllHub\&quot; }}\n&lt;!-- output: JekyllHub is great, JekyllHub is fast --&gt;\n\n{{ \&quot;Jekyll is great, Jekyll is fast\&quot; | replace_first: \&quot;Jekyll\&quot;, \&quot;JekyllHub\&quot; }}\n&lt;!-- output: JekyllHub is great, Jekyll is fast --&gt;\n```\n\n### remove and remove_first\n\n```liquid\n{{ \&quot;Hello, World!\&quot; | remove: \&quot;,\&quot; }}\n&lt;!-- output: Hello World! --&gt;\n```\n\n### truncate and truncatewords\n\n```liquid\n{{ \&quot;The quick brown fox\&quot; | truncate: 10 }}\n&lt;!-- output: The qui... --&gt;\n\n{{ \&quot;The quick brown fox\&quot; | truncatewords: 3 }}\n&lt;!-- output: The quick brown... --&gt;\n```\n\n### split and join\n\n```liquid\n{% raw %}\n{% assign tags = \&quot;jekyll,blog,themes\&quot; | split: \&quot;,\&quot; %}\n{{ tags | join: \&quot; · \&quot; }}\n&lt;!-- output: jekyll · blog · themes --&gt;\n{% endraw %}\n```\n\n### slice\n\nReturns a substring starting at the given index.\n\n```liquid\n{{ \&quot;Jekyll\&quot; | slice: 0, 3 }}\n&lt;!-- output: Jek --&gt;\n```\n\n### strip_html\n\nRemoves all HTML tags from a string — useful for generating meta descriptions from post content.\n\n```liquid\n{{ post.content | strip_html | truncate: 160 }}\n```\n\n### strip_newlines\n\n```liquid\n{{ content | strip_newlines }}\n```\n\n### newline_to_br\n\nConverts newlines to `&lt;br&gt;` tags.\n\n```liquid\n{{ content | newline_to_br }}\n```\n\n### escape and escape_once\n\nHTML-encodes a string.\n\n```liquid\n{{ &apos;&lt;script&gt;&apos; | escape }}\n&lt;!-- output: &amp;lt;script&amp;gt; --&gt;\n```\n\n### url_encode and url_decode\n\n```liquid\n{{ \&quot;hello world\&quot; | url_encode }}\n&lt;!-- output: hello+world --&gt;\n```\n\n### markdownify\n\nConverts a Markdown string to HTML. Useful for front matter fields written in Markdown.\n\n```liquid\n{{ page.description | markdownify }}\n```\n\n### jsonify\n\nConverts an object to JSON. Essential for passing Jekyll data to JavaScript.\n\n```liquid\n&lt;script&gt;\n  var themes = {{ site.themes | jsonify }};\n&lt;/script&gt;\n```\n\n## Number filters\n\n### plus, minus, times, divided_by, modulo\n\n```liquid\n{{ 10 | plus: 5 }}       &lt;!-- 15 --&gt;\n{{ 10 | minus: 3 }}      &lt;!-- 7 --&gt;\n{{ 4 | times: 3 }}       &lt;!-- 12 --&gt;\n{{ 10 | divided_by: 3 }} &lt;!-- 3 (integer division) --&gt;\n{{ 10 | modulo: 3 }}     &lt;!-- 1 --&gt;\n```\n\n### ceil, floor, round, abs\n\n```liquid\n{{ 4.3 | ceil }}   &lt;!-- 5 --&gt;\n{{ 4.7 | floor }}  &lt;!-- 4 --&gt;\n{{ 4.567 | round: 2 }} &lt;!-- 4.57 --&gt;\n{{ -5 | abs }}     &lt;!-- 5 --&gt;\n```\n\n## Array filters\n\n### size\n\nWorks on strings and arrays.\n\n```liquid\n{{ site.themes | size }}\n{{ \&quot;Jekyll\&quot; | size }} &lt;!-- 6 --&gt;\n```\n\n### first and last\n\n```liquid\n{{ site.themes | first }}\n{{ site.themes | last }}\n```\n\n### push and pop, shift and unshift\n\nAdd or remove items from an array.\n\n```liquid\n{% raw %}\n{% assign updated = site.themes | push: new_theme %}\n{% endraw %}\n```\n\n### concat\n\nMerges two arrays.\n\n```liquid\n{% raw %}\n{% assign all_posts = site.posts | concat: site.pages %}\n{% endraw %}\n```\n\n### map\n\nExtracts a single property from an array of objects.\n\n```liquid\n{% raw %}\n{% assign titles = site.themes | map: \&quot;title\&quot; %}\n{{ titles | join: \&quot;, \&quot; }}\n{% endraw %}\n```\n\n### where and where_exp\n\nFilter an array by a property value.\n\n```liquid\n{% raw %}\n{% assign premium = site.themes | where: \&quot;price_type\&quot;, \&quot;premium\&quot; %}\n\n{% assign recent = site.posts | where_exp: \&quot;post\&quot;, \&quot;post.date &gt; &apos;2026-01-01&apos;\&quot; %}\n{% endraw %}\n```\n\n### sort and sort_natural\n\n```liquid\n{% raw %}\n{% assign sorted = site.themes | sort: \&quot;title\&quot; %}\n{% assign sorted = site.themes | sort_natural: \&quot;title\&quot; %}\n{% endraw %}\n```\n\n### reverse\n\n```liquid\n{% raw %}\n{% assign reversed = site.posts | reverse %}\n{% endraw %}\n```\n\n### uniq\n\nRemoves duplicate values from an array.\n\n```liquid\n{% raw %}\n{% assign unique_cats = site.themes | map: \&quot;category\&quot; | uniq %}\n{% endraw %}\n```\n\n### group_by and group_by_exp\n\nGroups an array of objects by a property.\n\n```liquid\n{% raw %}\n{% assign by_category = site.themes | group_by: \&quot;category\&quot; %}\n{% for group in by_category %}\n  &lt;h2&gt;{{ group.name }}&lt;/h2&gt;\n  {% for theme in group.items %}\n    &lt;p&gt;{{ theme.title }}&lt;/p&gt;\n  {% endfor %}\n{% endfor %}\n{% endraw %}\n```\n\n### find and find_exp\n\nReturns the first item matching a condition (Jekyll 4+).\n\n```liquid\n{% raw %}\n{% assign featured = site.themes | find: \&quot;featured\&quot;, true %}\n{% endraw %}\n```\n\n### sum\n\nAdds up a numeric property across an array.\n\n```liquid\n{{ site.themes | map: \&quot;stars\&quot; | sum }}\n```\n\n### compact\n\nRemoves nil values from an array.\n\n```liquid\n{% raw %}\n{% assign clean = array | compact %}\n{% endraw %}\n```\n\n### flatten\n\nFlattens a nested array.\n\n```liquid\n{% raw %}\n{% assign flat = nested_array | flatten %}\n{% endraw %}\n```\n\n## Date filters\n\n### date\n\nFormats a date using `strftime` syntax.\n\n```liquid\n{{ page.date | date: \&quot;%B %-d, %Y\&quot; }}\n&lt;!-- output: July 3, 2026 --&gt;\n\n{{ page.date | date: \&quot;%Y-%m-%d\&quot; }}\n&lt;!-- output: 2026-07-03 --&gt;\n\n{{ page.date | date: \&quot;%d %b %Y\&quot; }}\n&lt;!-- output: 03 Jul 2026 --&gt;\n```\n\nCommon format codes:\n- `%Y` — four-digit year\n- `%m` — zero-padded month (01–12)\n- `%-m` — month without padding (1–12)\n- `%B` — full month name\n- `%b` — abbreviated month name\n- `%d` — zero-padded day\n- `%-d` — day without padding\n- `%A` — full weekday name\n- `%H:%M` — 24-hour time\n\n### date_to_long_string and date_to_string\n\nJekyll shortcuts for common date formats.\n\n```liquid\n{{ page.date | date_to_long_string }}\n&lt;!-- output: 03 July 2026 --&gt;\n\n{{ page.date | date_to_string }}\n&lt;!-- output: 03 Jul 2026 --&gt;\n```\n\n### date_to_xmlschema and date_to_rfc822\n\nUsed in feeds and structured data.\n\n```liquid\n{{ page.date | date_to_xmlschema }}\n&lt;!-- output: 2026-07-03T00:00:00+00:00 --&gt;\n```\n\n## URL and path filters\n\n### relative_url and absolute_url\n\nEssential — always use these instead of hardcoded paths.\n\n```liquid\n&lt;a href=\&quot;{{ &apos;/themes/&apos; | relative_url }}\&quot;&gt;Browse themes&lt;/a&gt;\n&lt;meta property=\&quot;og:url\&quot; content=\&quot;{{ page.url | absolute_url }}\&quot;&gt;\n```\n\n### slugify\n\nConverts a string to a URL-safe slug.\n\n```liquid\n{{ \&quot;Hello World! How are you?\&quot; | slugify }}\n&lt;!-- output: hello-world-how-are-you --&gt;\n```\n\n### uri_escape\n\nPercent-encodes a URI.\n\n```liquid\n{{ \&quot;search query\&quot; | uri_escape }}\n&lt;!-- output: search%20query --&gt;\n```\n\n### cgi_escape\n\nCGI-escapes a string (spaces become `+`).\n\n```liquid\n{{ \&quot;hello world\&quot; | cgi_escape }}\n&lt;!-- output: hello+world --&gt;\n```\n\n## Miscellaneous\n\n### default\n\nReturns a default value when the variable is nil, false, or empty.\n\n```liquid\n{{ page.author | default: site.author.name }}\n{{ page.image | default: site.og_image | relative_url }}\n```\n\n### inspect\n\nOutputs a Ruby representation of the object — invaluable for debugging.\n\n```liquid\n{{ page | inspect }}\n```\n\n### sample\n\nReturns a random element from an array.\n\n```liquid\n{{ site.themes | sample }}\n```\n\n### number_of_words\n\nCounts words in a string.\n\n```liquid\n{{ content | number_of_words }}\n```\n\n## Chaining filters\n\nFilters can be chained — output from one becomes input to the next.\n\n```liquid\n{{ page.title | downcase | replace: \&quot; \&quot;, \&quot;-\&quot; | prepend: \&quot;/blog/\&quot; }}\n\n{{ post.content | strip_html | truncatewords: 30 | append: \&quot;…\&quot; }}\n```\n\n## Quick reference card\n\n| Filter | What it does |\n|--------|-------------|\n| `append` / `prepend` | Add text before or after |\n| `upcase` / `downcase` | Change case |\n| `strip_html` | Remove HTML tags |\n| `truncate` / `truncatewords` | Shorten text |\n| `replace` | Find and replace |\n| `date` | Format a date |\n| `where` | Filter array by property |\n| `map` | Extract one property from array |\n| `sort` | Sort an array |\n| `size` | Count items |\n| `default` | Fallback value |\n| `relative_url` | Prefix baseurl |\n| `jsonify` | Convert to JSON |\n| `markdownify` | Render Markdown |\n\nBookmark this page — you will reference it constantly.\n&quot;,
      &quot;url&quot;: &quot;/tutorial/2026/05/21/jekyll-liquid-filters-cheatsheet/&quot;,
      &quot;draft&quot;: false,
      &quot;categories&quot;: [
        &quot;Tutorial&quot;
      ],
      &quot;layout&quot;: &quot;post&quot;,
      &quot;title&quot;: &quot;Jekyll Liquid Filters: The Complete Cheatsheet (2026)&quot;,
      &quot;description&quot;: &quot;Every Liquid filter you need for Jekyll — string manipulation, date formatting, array filters, URL helpers, and Jekyll-specific additions. With examples.&quot;,
      &quot;date&quot;: &quot;2026-05-21 00:00:00 +0000&quot;,
      &quot;last_modified_at&quot;: &quot;2026-07-06&quot;,
      &quot;image&quot;: &quot;/assets/images/blog/jekyll-liquid-filters-cheatsheet.webp&quot;,
      &quot;author&quot;: &quot;Marcus Webb&quot;,
      &quot;category&quot;: &quot;Tutorial&quot;,
      &quot;featured&quot;: false,
      &quot;related_category&quot;: &quot;Blog&quot;,
      &quot;toc&quot;: true,
      &quot;slug&quot;: &quot;jekyll-liquid-filters-cheatsheet&quot;,
      &quot;ext&quot;: &quot;.md&quot;,
      &quot;tags&quot;: [

      ]
    },
    &quot;output&quot;: &quot;&lt;!DOCTYPE html&gt;\n&lt;html lang=\&quot;en\&quot;&gt;\n&lt;head&gt;\n  &lt;meta charset=\&quot;UTF-8\&quot;&gt;\n  &lt;meta name=\&quot;viewport\&quot; content=\&quot;width=device-width, initial-scale=1.0\&quot;&gt;\n\n  &lt;!-- Begin Jekyll SEO tag v2.8.0 --&gt;\n&lt;title&gt;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free) | JekyllHub&lt;/title&gt;\n&lt;meta name=\&quot;generator\&quot; content=\&quot;Jekyll v3.10.0\&quot; /&gt;\n&lt;meta property=\&quot;og:title\&quot; content=\&quot;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)\&quot; /&gt;\n&lt;meta name=\&quot;author\&quot; content=\&quot;Marcus Webb\&quot; /&gt;\n&lt;meta property=\&quot;og:locale\&quot; content=\&quot;en_US\&quot; /&gt;\n&lt;meta name=\&quot;description\&quot; content=\&quot;The best minimal Jekyll themes for blogs, portfolios, and personal sites — clean typography, fast load times, and zero visual clutter.\&quot; /&gt;\n&lt;meta property=\&quot;og:description\&quot; content=\&quot;The best minimal Jekyll themes for blogs, portfolios, and personal sites — clean typography, fast load times, and zero visual clutter.\&quot; /&gt;\n&lt;link rel=\&quot;canonical\&quot; href=\&quot;https://jekyllhub.com/themes/2026/05/20/jekyll-minimal-themes/\&quot; /&gt;\n&lt;meta property=\&quot;og:url\&quot; content=\&quot;https://jekyllhub.com/themes/2026/05/20/jekyll-minimal-themes/\&quot; /&gt;\n&lt;meta property=\&quot;og:site_name\&quot; content=\&quot;JekyllHub\&quot; /&gt;\n&lt;meta property=\&quot;og:image\&quot; content=\&quot;https://jekyllhub.com/assets/images/blog/jekyll-minimal-themes.webp\&quot; /&gt;\n&lt;meta property=\&quot;og:type\&quot; content=\&quot;article\&quot; /&gt;\n&lt;meta property=\&quot;article:published_time\&quot; content=\&quot;2026-05-20T00:00:00+00:00\&quot; /&gt;\n&lt;meta name=\&quot;twitter:card\&quot; content=\&quot;summary_large_image\&quot; /&gt;\n&lt;meta property=\&quot;twitter:image\&quot; content=\&quot;https://jekyllhub.com/assets/images/blog/jekyll-minimal-themes.webp\&quot; /&gt;\n&lt;meta property=\&quot;twitter:title\&quot; content=\&quot;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)\&quot; /&gt;\n&lt;meta name=\&quot;twitter:site\&quot; content=\&quot;@jekyllhub\&quot; /&gt;\n&lt;meta name=\&quot;twitter:creator\&quot; content=\&quot;@Marcus Webb\&quot; /&gt;\n&lt;script type=\&quot;application/ld+json\&quot;&gt;\n{\&quot;@context\&quot;:\&quot;https://schema.org\&quot;,\&quot;@type\&quot;:\&quot;BlogPosting\&quot;,\&quot;author\&quot;:{\&quot;@type\&quot;:\&quot;Person\&quot;,\&quot;name\&quot;:\&quot;Marcus Webb\&quot;},\&quot;dateModified\&quot;:\&quot;2026-07-05T00:00:00+00:00\&quot;,\&quot;datePublished\&quot;:\&quot;2026-05-20T00:00:00+00:00\&quot;,\&quot;description\&quot;:\&quot;The best minimal Jekyll themes for blogs, portfolios, and personal sites — clean typography, fast load times, and zero visual clutter.\&quot;,\&quot;headline\&quot;:\&quot;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)\&quot;,\&quot;image\&quot;:\&quot;https://jekyllhub.com/assets/images/blog/jekyll-minimal-themes.webp\&quot;,\&quot;mainEntityOfPage\&quot;:{\&quot;@type\&quot;:\&quot;WebPage\&quot;,\&quot;@id\&quot;:\&quot;https://jekyllhub.com/themes/2026/05/20/jekyll-minimal-themes/\&quot;},\&quot;url\&quot;:\&quot;https://jekyllhub.com/themes/2026/05/20/jekyll-minimal-themes/\&quot;}&lt;/script&gt;\n&lt;!-- End Jekyll SEO tag --&gt;\n\n  &lt;meta name=\&quot;impact-site-verification\&quot; value=\&quot;362087e7-78c6-43e3-b39c-5ddb44047f61\&quot;&gt;\n\n  &lt;!-- og:site_name and og:image: kept here as jekyll-seo-tag does not set these reliably. --&gt;\n  &lt;!-- All other canonical/OG/Twitter tags are handled by the seo tag above. --&gt;\n  &lt;meta property=\&quot;og:site_name\&quot; content=\&quot;JekyllHub\&quot;&gt;\n\n  &lt;!-- OG / Twitter image — use page card_image, else fall back to social-card.png --&gt;\n  \n  \n  &lt;meta property=\&quot;og:image\&quot; content=\&quot;https://jekyllhub.com/assets/images/blog/jekyll-minimal-themes.webp\&quot;&gt;\n  &lt;meta name=\&quot;twitter:image\&quot; content=\&quot;https://jekyllhub.com/assets/images/blog/jekyll-minimal-themes.webp\&quot;&gt;\n  \n\n  &lt;!-- Fonts --&gt;\n  &lt;link rel=\&quot;preconnect\&quot; href=\&quot;https://fonts.googleapis.com\&quot;&gt;\n  &lt;link rel=\&quot;preconnect\&quot; href=\&quot;https://fonts.gstatic.com\&quot; crossorigin&gt;\n  &lt;link href=\&quot;https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,300;12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&amp;family=DM+Mono:ital,wght@0,300;0,400;0,500;1,400&amp;family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&amp;display=swap\&quot; rel=\&quot;stylesheet\&quot;&gt;\n\n  &lt;!-- Dark mode: read stored preference before CSS loads to prevent flash --&gt;\n  &lt;script&gt;\n    (function() {\n      var stored = localStorage.getItem(&apos;tf_theme&apos;);\n      var theme = stored ? stored : (window.matchMedia &amp;&amp; window.matchMedia(&apos;(prefers-color-scheme: dark)&apos;).matches ? &apos;dark&apos; : &apos;light&apos;);\n      document.documentElement.setAttribute(&apos;data-theme&apos;, theme);\n    })();\n  &lt;/script&gt;\n\n  &lt;!-- Stylesheet --&gt;\n  &lt;link rel=\&quot;stylesheet\&quot; href=\&quot;/assets/css/main.css\&quot;&gt;\n\n  &lt;!-- Favicon --&gt;\n  &lt;link rel=\&quot;icon\&quot; type=\&quot;image/svg+xml\&quot; href=\&quot;/assets/images/favicon.svg\&quot;&gt;\n\n  &lt;!-- Structured Data --&gt;\n  \n  &lt;script type=\&quot;application/ld+json\&quot;&gt;\n  {\n    \&quot;@context\&quot;: \&quot;https://schema.org\&quot;,\n    \&quot;@type\&quot;: \&quot;WebSite\&quot;,\n    \&quot;name\&quot;: \&quot;JekyllHub\&quot;,\n    \&quot;description\&quot;: \&quot;The premier marketplace for Jekyll themes. Browse, preview, and download stunning themes for your next project.\&quot;,\n    \&quot;url\&quot;: \&quot;https://jekyllhub.com\&quot;\n  }\n  &lt;/script&gt;\n  \n\n  &lt;!-- Analytics --&gt;\n  \n\n  \n  \n  &lt;!-- Google tag (gtag.js) --&gt;\n  &lt;script async src=\&quot;https://www.googletagmanager.com/gtag/js?id=G-W5Z2Z9GNPG\&quot;&gt;&lt;/script&gt;\n  &lt;script&gt;\n    window.dataLayer = window.dataLayer || [];\n    function gtag(){dataLayer.push(arguments);}\n    gtag(&apos;js&apos;, new Date());\n    gtag(&apos;config&apos;, &apos;G-W5Z2Z9GNPG&apos;);\n  &lt;/script&gt;\n  \n\n  \n  \n\n\n\n&lt;/head&gt;\n&lt;body&gt;\n  \n\n&lt;div class=\&quot;announcement-bar announcement-bar--dark\&quot; id=\&quot;announcement-bar\&quot; data-ann-id=\&quot;v1\&quot; role=\&quot;banner\&quot; aria-label=\&quot;Site announcement\&quot;&gt;\n  &lt;div class=\&quot;announcement-bar__inner\&quot;&gt;\n    &lt;p class=\&quot;announcement-bar__text\&quot;&gt;\n      🚀 New premium themes dropping soon — join the waitlist and get 20% off launch price\n      \n        &lt;a href=\&quot;/waitlist/\&quot; class=\&quot;announcement-bar__link\&quot;&gt;Join Waitlist →&lt;/a&gt;\n      \n    &lt;/p&gt;\n    &lt;button class=\&quot;announcement-bar__close\&quot; aria-label=\&quot;Dismiss announcement\&quot; onclick=\&quot;dismissAnnouncement(&apos;v1&apos;)\&quot;&gt;\n      &lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; viewBox=\&quot;0 0 24 24\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; stroke-width=\&quot;2.5\&quot; stroke-linecap=\&quot;round\&quot;&gt;&lt;line x1=\&quot;18\&quot; y1=\&quot;6\&quot; x2=\&quot;6\&quot; y2=\&quot;18\&quot;/&gt;&lt;line x1=\&quot;6\&quot; y1=\&quot;6\&quot; x2=\&quot;18\&quot; y2=\&quot;18\&quot;/&gt;&lt;/svg&gt;\n    &lt;/button&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n\n  &lt;nav class=\&quot;navbar\&quot; id=\&quot;navbar\&quot; x-data=\&quot;{ mobileOpen: false }\&quot;&gt;\n  &lt;div class=\&quot;container navbar__inner\&quot;&gt;\n    &lt;!-- Logo --&gt;\n    &lt;a href=\&quot;/\&quot; class=\&quot;navbar__logo\&quot; aria-label=\&quot;JekyllHub home\&quot;&gt;\n      &lt;span class=\&quot;navbar__logo-icon\&quot;&gt;\n        &lt;svg width=\&quot;32\&quot; height=\&quot;32\&quot; viewBox=\&quot;0 0 32 32\&quot; fill=\&quot;none\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n          &lt;rect width=\&quot;32\&quot; height=\&quot;32\&quot; rx=\&quot;9\&quot; fill=\&quot;#2563EB\&quot;/&gt;\n          &lt;!-- J letterform --&gt;\n          &lt;path d=\&quot;M19 8h-6v1h5v10c0 2.2-1.8 4-4 4s-4-1.8-4-4v-1H9v1c0 2.76 2.24 5 5 5s5-2.24 5-5V8z\&quot; fill=\&quot;white\&quot;/&gt;\n          &lt;!-- Hub dots --&gt;\n          &lt;circle cx=\&quot;23\&quot; cy=\&quot;9\&quot; r=\&quot;2.5\&quot; fill=\&quot;#F0C94B\&quot;/&gt;\n        &lt;/svg&gt;\n      &lt;/span&gt;\n      &lt;span class=\&quot;navbar__logo-text\&quot;&gt;Jekyll&lt;span class=\&quot;navbar__logo-accent\&quot;&gt;Hub&lt;/span&gt;&lt;/span&gt;\n    &lt;/a&gt;\n\n    &lt;!-- Desktop nav --&gt;\n    &lt;ul class=\&quot;navbar__links\&quot; role=\&quot;list\&quot;&gt;\n      &lt;li&gt;&lt;a href=\&quot;/themes/\&quot; class=\&quot;navbar__link navbar__link--active\&quot;&gt;Browse&lt;/a&gt;&lt;/li&gt;\n      &lt;li&gt;&lt;a href=\&quot;/categories/\&quot; class=\&quot;navbar__link navbar__link--active\&quot;&gt;Categories&lt;/a&gt;&lt;/li&gt;\n      &lt;li&gt;&lt;a href=\&quot;/blog/\&quot; class=\&quot;navbar__link \&quot;&gt;Blog&lt;/a&gt;&lt;/li&gt;\n      &lt;li&gt;&lt;a href=\&quot;/showcase/\&quot; class=\&quot;navbar__link \&quot;&gt;Showcase&lt;/a&gt;&lt;/li&gt;\n    &lt;/ul&gt;\n\n    &lt;!-- Right controls --&gt;\n    &lt;div class=\&quot;navbar__actions\&quot;&gt;\n      &lt;!-- Search trigger --&gt;\n      &lt;button class=\&quot;navbar__icon-btn\&quot; id=\&quot;search-trigger\&quot; onclick=\&quot;JekyllHub.openSearch()\&quot; aria-label=\&quot;Search themes\&quot;&gt;\n        &lt;svg width=\&quot;20\&quot; height=\&quot;20\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n          &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\&quot;/&gt;\n        &lt;/svg&gt;\n      &lt;/button&gt;\n\n      &lt;!-- Bookmarks --&gt;\n      &lt;a href=\&quot;/bookmarks/\&quot; class=\&quot;navbar__icon-btn\&quot; aria-label=\&quot;Saved themes\&quot;&gt;\n        &lt;svg width=\&quot;20\&quot; height=\&quot;20\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n          &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z\&quot;/&gt;\n        &lt;/svg&gt;\n        &lt;span class=\&quot;navbar__badge\&quot; id=\&quot;bookmark-count\&quot; style=\&quot;display:none\&quot;&gt;0&lt;/span&gt;\n      &lt;/a&gt;\n\n      &lt;!-- Theme toggle --&gt;\n      &lt;button class=\&quot;navbar__icon-btn theme-toggle\&quot; id=\&quot;theme-toggle\&quot; onclick=\&quot;JekyllHub.toggleTheme()\&quot; aria-label=\&quot;Toggle dark mode\&quot;&gt;\n        &lt;svg class=\&quot;theme-toggle__sun\&quot; width=\&quot;20\&quot; height=\&quot;20\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n          &lt;circle cx=\&quot;12\&quot; cy=\&quot;12\&quot; r=\&quot;5\&quot; stroke-width=\&quot;2\&quot;/&gt;\n          &lt;path stroke-linecap=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42\&quot;/&gt;\n        &lt;/svg&gt;\n        &lt;svg class=\&quot;theme-toggle__moon\&quot; width=\&quot;20\&quot; height=\&quot;20\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n          &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z\&quot;/&gt;\n        &lt;/svg&gt;\n      &lt;/button&gt;\n\n      &lt;!-- Mobile menu toggle --&gt;\n      &lt;button class=\&quot;navbar__mobile-toggle\&quot; @click=\&quot;mobileOpen = !mobileOpen\&quot; :aria-expanded=\&quot;mobileOpen\&quot; aria-label=\&quot;Toggle menu\&quot;&gt;\n        &lt;svg x-show=\&quot;!mobileOpen\&quot; width=\&quot;22\&quot; height=\&quot;22\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n          &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M4 6h16M4 12h16M4 18h16\&quot;/&gt;\n        &lt;/svg&gt;\n        &lt;svg x-show=\&quot;mobileOpen\&quot; width=\&quot;22\&quot; height=\&quot;22\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n          &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M6 18L18 6M6 6l12 12\&quot;/&gt;\n        &lt;/svg&gt;\n      &lt;/button&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;!-- Mobile menu --&gt;\n  &lt;div class=\&quot;navbar__mobile-menu\&quot; x-show=\&quot;mobileOpen\&quot; x-transition:enter=\&quot;slide-down-enter\&quot; x-transition:enter-start=\&quot;slide-down-start\&quot; x-transition:enter-end=\&quot;slide-down-end\&quot; @click.away=\&quot;mobileOpen = false\&quot;&gt;\n    &lt;div class=\&quot;container\&quot;&gt;\n      &lt;ul role=\&quot;list\&quot;&gt;\n        &lt;li&gt;&lt;a href=\&quot;/themes/\&quot; class=\&quot;navbar__mobile-link\&quot;&gt;Browse Themes&lt;/a&gt;&lt;/li&gt;\n        &lt;li&gt;&lt;a href=\&quot;/categories/\&quot; class=\&quot;navbar__mobile-link\&quot;&gt;Categories&lt;/a&gt;&lt;/li&gt;\n        &lt;li&gt;&lt;a href=\&quot;/blog/\&quot; class=\&quot;navbar__mobile-link\&quot;&gt;Blog&lt;/a&gt;&lt;/li&gt;\n        &lt;li&gt;&lt;a href=\&quot;/showcase/\&quot; class=\&quot;navbar__mobile-link\&quot;&gt;Showcase&lt;/a&gt;&lt;/li&gt;\n        &lt;li&gt;&lt;a href=\&quot;/bookmarks/\&quot; class=\&quot;navbar__mobile-link\&quot;&gt;Saved Themes&lt;/a&gt;&lt;/li&gt;\n      &lt;/ul&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/nav&gt;\n\n&lt;!-- Search overlay --&gt;\n&lt;div id=\&quot;search-overlay\&quot; class=\&quot;search-overlay\&quot; role=\&quot;dialog\&quot; aria-modal=\&quot;true\&quot; aria-label=\&quot;Search\&quot; onclick=\&quot;JekyllHub.closeSearch()\&quot;&gt;\n  &lt;div class=\&quot;search-overlay__panel\&quot; onclick=\&quot;event.stopPropagation()\&quot;&gt;\n    &lt;div class=\&quot;search-overlay__input-wrap\&quot;&gt;\n      &lt;svg width=\&quot;20\&quot; height=\&quot;20\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot; class=\&quot;search-overlay__icon\&quot;&gt;\n        &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\&quot;/&gt;\n      &lt;/svg&gt;\n      &lt;input type=\&quot;search\&quot; id=\&quot;search-input\&quot; class=\&quot;search-overlay__input\&quot; placeholder=\&quot;Search themes and articles…\&quot; autocomplete=\&quot;off\&quot; aria-label=\&quot;Search\&quot;&gt;\n      &lt;kbd class=\&quot;search-overlay__esc\&quot; onclick=\&quot;JekyllHub.closeSearch()\&quot;&gt;ESC&lt;/kbd&gt;\n    &lt;/div&gt;\n    &lt;div id=\&quot;search-results\&quot; class=\&quot;search-overlay__results\&quot; role=\&quot;listbox\&quot;&gt;&lt;/div&gt;\n    &lt;div class=\&quot;search-overlay__hint\&quot;&gt;\n      Press &lt;kbd&gt;↑&lt;/kbd&gt; &lt;kbd&gt;↓&lt;/kbd&gt; to navigate, &lt;kbd&gt;↵&lt;/kbd&gt; to select\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n\n  &lt;!-- Inject Jekyll collection data for client-side search, filtering, and bookmarks --&gt;\n  &lt;script&gt;\n    window.SITE_DATA = {\n      baseurl: \&quot;\&quot;,\n      themeCardPlaceholder: \&quot;/assets/images/placeholder/placeholder-card.svg\&quot;,\n      newBadgeDays: 30,\n      themes: [\n        \n        {\n          title: \&quot;Academic Pages Jekyll Theme\&quot;,\n          description: \&quot;An academic portfolio Jekyll theme for researchers and scholars. Supports publications, talks, CV pages, and GitHub Pages out of the box.\&quot;,\n          card_description: \&quot;Academic portfolio for researchers with publications, talks, and CV pages.\&quot;,\n          url: \&quot;/themes/academicpages/\&quot;,\n          category: \&quot;Academic\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://academicpages.github.io/\&quot;,\n          card_image: \&quot;/assets/images/themes/academicpages-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;academicpages\&quot;,\n        },\n        \n        {\n          title: \&quot;Advance Jekyll Theme\&quot;,\n          description: \&quot;A premium multi-purpose Jekyll theme for building advanced marketing and business websites. Includes Services, Projects, and Team content types, a configurable hero section, full blog, dark mode, and Bootstrap 5.2.\&quot;,\n          card_description: \&quot;Premium multi-purpose theme — services, projects, team, blog, and configurable hero.\&quot;,\n          url: \&quot;/themes/advance/\&quot;,\n          category: \&quot;Business\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 79,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://jekyll-advance.netlify.app/\&quot;,\n          card_image: \&quot;/assets/images/themes/advance-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://www.zerostatic.io/theme/jekyll-advance/\&quot;,\n          author: \&quot;Zerostatic\&quot;,\n          added_at: \&quot;2026-06-27\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: true,\n          trending: true,\n          slug: \&quot;advance\&quot;,\n        },\n        \n        {\n          title: \&quot;Agency Jekyll Theme\&quot;,\n          description: \&quot;A striking single-page agency Jekyll theme with full-screen sections, portfolio grid, and team showcase. Based on Start Bootstrap Agency.\&quot;,\n          card_description: \&quot;Striking single-page agency theme with portfolio grid and team showcase.\&quot;,\n          url: \&quot;/themes/agency/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://y7kim.github.io/agency-jekyll-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/agency-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-10\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;agency\&quot;,\n        },\n        \n        {\n          title: \&quot;al-folio Jekyll Theme\&quot;,\n          description: \&quot;A clean, minimal Jekyll theme built for academics and researchers. Beautifully renders publications, projects, and CV with BibTeX support.\&quot;,\n          card_description: \&quot;Clean academic theme for researchers with BibTeX and publications support.\&quot;,\n          url: \&quot;/themes/al-folio/\&quot;,\n          category: \&quot;Academic\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://alshedivat.github.io/al-folio/\&quot;,\n          card_image: \&quot;/assets/images/themes/al-folio-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-15\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;al-folio\&quot;,\n        },\n        \n        {\n          title: \&quot;Alembic Jekyll Theme\&quot;,\n          description: \&quot;A clean, minimal Jekyll theme with great typography and flexible page layouts. Works out of the box as a gem-based theme.\&quot;,\n          card_description: \&quot;Clean, minimal gem-based theme with flexible page layouts.\&quot;,\n          url: \&quot;/themes/alembic/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://alembic.darn.es/\&quot;,\n          card_image: \&quot;/assets/images/themes/alembic-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-02-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;alembic\&quot;,\n        },\n        \n        {\n          title: \&quot;Almace Scaffolding Jekyll Theme\&quot;,\n          description: \&quot;A bold, minimal, and blazing fast Jekyll theme with a distinctive typographic style and performance-first architecture.\&quot;,\n          card_description: \&quot;Bold, minimal, blazing-fast theme with distinctive typographic style.\&quot;,\n          url: \&quot;/themes/almace-scaffolding/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://sparanoid.com/lab/amsf/\&quot;,\n          card_image: \&quot;/assets/images/themes/almace-scaffolding-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;almace-scaffolding\&quot;,\n        },\n        \n        {\n          title: \&quot;Architect Jekyll Theme\&quot;,\n          description: \&quot;A clean GitHub Pages Jekyll theme with a prominent sidebar and crisp typography. Official GitHub Pages theme, ideal for project documentation.\&quot;,\n          card_description: \&quot;Clean GitHub Pages theme with prominent sidebar for project docs.\&quot;,\n          url: \&quot;/themes/architect/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/architect/\&quot;,\n          card_image: \&quot;/assets/images/themes/architect-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;architect\&quot;,\n        },\n        \n        {\n          title: \&quot;Aura Pro Jekyll Theme\&quot;,\n          description: \&quot;The premium upgrade to the Aura Jekyll theme. Includes all Aura features plus advanced blog layouts, star-rated testimonials, Sendy newsletter support, and read-time indicators.\&quot;,\n          card_description: \&quot;Premium upgrade to Aura — advanced layouts, star testimonials, and read time.\&quot;,\n          url: \&quot;/themes/aura-pro/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 9,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://satishw.github.io/jekyll-theme-aura-pro/\&quot;,\n          card_image: \&quot;/assets/images/themes/aura-pro-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://satishw.github.io/jekyll-theme-aura-pro/features/\&quot;,\n          author: \&quot;Satish W\&quot;,\n          added_at: \&quot;2026-06-26\&quot;,\n          discount_label: \&quot;launch_offer\&quot;,\n          discount_original_price: 29,\n          popular: false,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;aura-pro\&quot;,\n        },\n        \n        {\n          title: \&quot;Aura Jekyll Theme\&quot;,\n          description: \&quot;Versatile Jekyll theme designed for content creators, writers, and developers. Ships with blog, projects, testimonials, and portfolio sections — fully compatible with GitHub Pages.\&quot;,\n          card_description: \&quot;Versatile Jekyll theme for creators and developers — blog, projects, and portfolio ready.\&quot;,\n          url: \&quot;/themes/aura/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://satishw.github.io/jekyll-theme-aura/\&quot;,\n          card_image: \&quot;/assets/images/themes/aura-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;Satish W\&quot;,\n          added_at: \&quot;2026-02-10\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;aura\&quot;,\n        },\n        \n        {\n          title: \&quot;Basically Basic Jekyll Theme\&quot;,\n          description: \&quot;Your new Jekyll default theme — a modern, polished substitute for Minima. Six customisable colour skins, resume layout, off-canvas menu, and everything Minima should have been.\&quot;,\n          card_description: \&quot;Modern Minima replacement with six colour skins and a resume layout.\&quot;,\n          url: \&quot;/themes/basically-basic/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://mmistakes.github.io/jekyll-theme-basically-basic/\&quot;,\n          card_image: \&quot;/assets/images/themes/basically-basic-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;basically-basic\&quot;,\n        },\n        \n        {\n          title: \&quot;Beautiful Jekyll\&quot;,\n          description: \&quot;One of the most popular Jekyll blog themes. Easy to set up, highly customisable, and works perfectly on GitHub Pages.\&quot;,\n          card_description: \&quot;Highly popular blog theme — easy setup, works on GitHub Pages.\&quot;,\n          url: \&quot;/themes/beautiful-jekyll/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://beautifuljekyll.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/beautiful-jekyll-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-20\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;beautiful-jekyll\&quot;,\n        },\n        \n        {\n          title: \&quot;Bulma Clean Theme Jekyll Theme\&quot;,\n          description: \&quot;A clean and modern Jekyll theme built with the Bulma CSS framework. Features a blog, portfolio, and docs-ready layout with extensive customisation.\&quot;,\n          card_description: \&quot;Clean, modern Bulma CSS theme for blogs, portfolios, and docs.\&quot;,\n          url: \&quot;/themes/bulma-clean-theme/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://www.csrhymes.com/bulma-clean-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/bulma-clean-theme-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;bulma-clean-theme\&quot;,\n        },\n        \n        {\n          title: \&quot;Cayman Jekyll Theme\&quot;,\n          description: \&quot;A bright, clean GitHub Pages Jekyll theme with a large hero header and fluid typography. Simple and polished for project landing pages.\&quot;,\n          card_description: \&quot;Bright GitHub Pages theme with large hero header for project sites.\&quot;,\n          url: \&quot;/themes/cayman/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/cayman/\&quot;,\n          card_image: \&quot;/assets/images/themes/cayman-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-02-20\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;cayman\&quot;,\n        },\n        \n        {\n          title: \&quot;Centrarium Jekyll Theme\&quot;,\n          description: \&quot;A simple, classy Jekyll blog theme with a large header image, featured posts, category pages, and Google Analytics integration.\&quot;,\n          card_description: \&quot;Classy blog theme with large header images and featured posts.\&quot;,\n          url: \&quot;/themes/centrarium/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://bencentra.com/centrarium/\&quot;,\n          card_image: \&quot;/assets/images/themes/centrarium-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;centrarium\&quot;,\n        },\n        \n        {\n          title: \&quot;Chalk Jekyll Theme\&quot;,\n          description: \&quot;A high quality, completely customisable Jekyll blog theme. Features an elegant two-column layout, full-text search, category filtering, and subtle animations that make the experience feel alive.\&quot;,\n          card_description: \&quot;Elegant two-column blog with full-text search and category filtering.\&quot;,\n          url: \&quot;/themes/chalk/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://chalk.nielsenramon.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/chalk-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;chalk\&quot;,\n        },\n        \n        {\n          title: \&quot;Chirpy Jekyll Theme\&quot;,\n          description: \&quot;A polished, feature-rich blog theme with dark mode, full-text search, reading time, table of contents, and PWA support. One of the fastest-growing Jekyll themes.\&quot;,\n          card_description: \&quot;Feature-rich blog with dark mode, search, TOC, and PWA support.\&quot;,\n          url: \&quot;/themes/chirpy/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://chirpy.cotes.page/\&quot;,\n          card_image: \&quot;/assets/images/themes/chirpy-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-05\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;chirpy\&quot;,\n        },\n        \n        {\n          title: \&quot;Clean Blog Jekyll Theme\&quot;,\n          description: \&quot;A clean, distraction-free blog theme with full-width header images per post. A Start Bootstrap original ported to Jekyll.\&quot;,\n          card_description: \&quot;Distraction-free blog with full-width header images per post.\&quot;,\n          url: \&quot;/themes/clean-blog/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://startbootstrap.github.io/startbootstrap-clean-blog-jekyll/\&quot;,\n          card_image: \&quot;/assets/images/themes/clean-blog-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-02-25\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;clean-blog\&quot;,\n        },\n        \n        {\n          title: \&quot;Contrast Jekyll Theme\&quot;,\n          description: \&quot;A simple, minimal Jekyll blog theme with strong typographic contrast, clean post listings, and support for tags and pagination.\&quot;,\n          card_description: \&quot;Minimal blog with strong typographic contrast and tag support.\&quot;,\n          url: \&quot;/themes/contrast/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://niklasbuschmann.github.io/contrast/\&quot;,\n          card_image: \&quot;/assets/images/themes/contrast-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;contrast\&quot;,\n        },\n        \n        {\n          title: \&quot;Creative Jekyll Theme\&quot;,\n          description: \&quot;A one-page Bootstrap landing page Jekyll theme with a fullscreen hero image, smooth scroll navigation, and portfolio sections.\&quot;,\n          card_description: \&quot;One-page Bootstrap landing page with fullscreen hero and portfolio.\&quot;,\n          url: \&quot;/themes/creative/\&quot;,\n          category: \&quot;Landing Page\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://volny.github.io/creative-theme-jekyll/\&quot;,\n          card_image: \&quot;/assets/images/themes/creative-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;creative\&quot;,\n        },\n        \n        {\n          title: \&quot;Devlopr Jekyll Theme\&quot;,\n          description: \&quot;A feature-rich developer portfolio Jekyll theme with an integrated blog, skills section, CMS support, and dark mode built in.\&quot;,\n          card_description: \&quot;Developer portfolio with blog, skills section, and dark mode built in.\&quot;,\n          url: \&quot;/themes/devlopr-jekyll/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://devlopr.netlify.app/\&quot;,\n          card_image: \&quot;/assets/images/themes/devlopr-jekyll-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;devlopr-jekyll\&quot;,\n        },\n        \n        {\n          title: \&quot;Dinky Jekyll Theme\&quot;,\n          description: \&quot;A compact GitHub Pages Jekyll theme with a fixed sidebar and clean layout. Great for small documentation pages and personal project sites.\&quot;,\n          card_description: \&quot;Compact GitHub Pages theme with fixed sidebar for small project sites.\&quot;,\n          url: \&quot;/themes/dinky/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/dinky/\&quot;,\n          card_image: \&quot;/assets/images/themes/dinky-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;dinky\&quot;,\n        },\n        \n        {\n          title: \&quot;Documentation Jekyll Theme\&quot;,\n          description: \&quot;A documentation and help system Jekyll theme with search, navigation sidebar, and clean typography for technical writing.\&quot;,\n          card_description: \&quot;Help system theme with search, sidebar navigation, and clean typography.\&quot;,\n          url: \&quot;/themes/documentation/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://docs.cloudcannon.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/documentation-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;documentation\&quot;,\n        },\n        \n        {\n          title: \&quot;Feeling Responsive Jekyll Theme\&quot;,\n          description: \&quot;A multipurpose responsive Jekyll theme built on the Foundation framework with flexible layouts, widgets, and rich customisation options.\&quot;,\n          card_description: \&quot;Multipurpose Foundation theme with flexible layouts and rich widgets.\&quot;,\n          url: \&quot;/themes/feeling-responsive/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://phlow.github.io/feeling-responsive/\&quot;,\n          card_image: \&quot;/assets/images/themes/feeling-responsive-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;feeling-responsive\&quot;,\n        },\n        \n        {\n          title: \&quot;Flexible Jekyll\&quot;,\n          description: \&quot;A simple and clean Jekyll theme with a minimal design, dark mode support, tag pages, and a flexible two-column layout.\&quot;,\n          card_description: \&quot;Simple, clean blog with dark mode and flexible two-column layout.\&quot;,\n          url: \&quot;/themes/flexible-jekyll/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://artemsheludko.github.io/flexible-jekyll/\&quot;,\n          card_image: \&quot;/assets/images/themes/flexible-jekyll-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;flexible-jekyll\&quot;,\n        },\n        \n        {\n          title: \&quot;Forty Jekyll Theme\&quot;,\n          description: \&quot;A visually striking multipurpose Jekyll theme inspired by HTML5 UP. Features tiled project sections and high-impact full-screen headers.\&quot;,\n          card_description: \&quot;Visually striking multipurpose theme with tiled sections and full-screen headers.\&quot;,\n          url: \&quot;/themes/forty/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://andrewbanchich.github.io/forty-jekyll-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/forty-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-03-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;forty\&quot;,\n        },\n        \n        {\n          title: \&quot;Freelancer Jekyll Theme\&quot;,\n          description: \&quot;A flat design landing page and portfolio Jekyll theme based on the popular Freelancer Bootstrap theme by Start Bootstrap.\&quot;,\n          card_description: \&quot;Flat design portfolio and landing page theme for freelancers.\&quot;,\n          url: \&quot;/themes/freelancer/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://jeromelachaud.com/freelancer-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/freelancer-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;freelancer\&quot;,\n        },\n        \n        {\n          title: \&quot;Hacker Blog Jekyll Theme\&quot;,\n          description: \&quot;A minimal, terminal-inspired dark Jekyll blog theme for developers. Pure CLI aesthetic — black background, monospace font, zero distractions.\&quot;,\n          card_description: \&quot;Terminal-inspired dark blog — monospace, minimal, distraction-free.\&quot;,\n          url: \&quot;/themes/hacker-blog/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://tocttou.github.io/hacker-blog/\&quot;,\n          card_image: \&quot;/assets/images/themes/hacker-blog-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-03-05\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hacker-blog\&quot;,\n        },\n        \n        {\n          title: \&quot;Hacker Jekyll Theme\&quot;,\n          description: \&quot;The official GitHub Pages hacker Jekyll theme. Dark terminal-style design with monospace typography, built for developer project pages.\&quot;,\n          card_description: \&quot;Official GitHub Pages hacker theme with dark terminal-style design.\&quot;,\n          url: \&quot;/themes/hacker/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/hacker/\&quot;,\n          card_image: \&quot;/assets/images/themes/hacker-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hacker\&quot;,\n        },\n        \n        {\n          title: \&quot;Hitchens Jekyll Theme\&quot;,\n          description: \&quot;An unfussy Jekyll theme for serious writers. Minimal design, elegant typography, and a dark mode — inspired by the prose of Christopher Hitchens.\&quot;,\n          card_description: \&quot;Unfussy, elegant theme for serious writers with dark mode built in.\&quot;,\n          url: \&quot;/themes/hitchens/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://hitchens.patdryburgh.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/hitchens-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hitchens\&quot;,\n        },\n        \n        {\n          title: \&quot;HPSTR Jekyll Theme\&quot;,\n          description: \&quot;A responsive, full-featured Jekyll blog theme by Michael Rose. Rich with image-forward posts, sliding panel navigation, and social sharing.\&quot;,\n          card_description: \&quot;Image-forward blog with sliding panel navigation and social sharing.\&quot;,\n          url: \&quot;/themes/hpstr/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://mmistakes.github.io/hpstr-jekyll-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/hpstr-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hpstr\&quot;,\n        },\n        \n        {\n          title: \&quot;Huxpro Jekyll Theme\&quot;,\n          description: \&quot;A beautiful, cover-image-driven Jekyll blog theme inspired by Ghost&apos;s Casper. Features full-screen hero images, smooth transitions, and a clean reading experience.\&quot;,\n          card_description: \&quot;Cover-image-driven blog inspired by Ghost&apos;s Casper theme.\&quot;,\n          url: \&quot;/themes/huxpro/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://huxpro.github.io/\&quot;,\n          card_image: \&quot;/assets/images/themes/huxpro-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-08\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;huxpro\&quot;,\n        },\n        \n        {\n          title: \&quot;Hyde Jekyll Theme\&quot;,\n          description: \&quot;A brazen two-column Jekyll theme that pairs a prominent sidebar with uncomplicated content. Based on Poole, by Mark Otto.\&quot;,\n          card_description: \&quot;Two-column theme with prominent sidebar — elegant and timeless.\&quot;,\n          url: \&quot;/themes/hyde/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://hyde.getpoole.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/hyde-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-25\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hyde\&quot;,\n        },\n        \n        {\n          title: \&quot;Hydejack Jekyll Theme\&quot;,\n          description: \&quot;A boutique Jekyll theme with a rich sidebar, smooth page transitions, and portfolio support. The premium evolution of Hyde.\&quot;,\n          card_description: \&quot;Boutique theme with smooth page transitions and portfolio support.\&quot;,\n          url: \&quot;/themes/hydejack/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://hydejack.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/hydejack-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-30\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hydejack\&quot;,\n        },\n        \n        {\n          title: \&quot;Hydra Jekyll Theme\&quot;,\n          description: \&quot;A product and SaaS marketing Jekyll theme with a clean hero section, feature grid, pricing table, and testimonials.\&quot;,\n          card_description: \&quot;SaaS marketing theme with hero, feature grid, and pricing table.\&quot;,\n          url: \&quot;/themes/hydra/\&quot;,\n          category: \&quot;Landing Page\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://orange-ape.cloudvent.net/\&quot;,\n          card_image: \&quot;/assets/images/themes/hydra-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;hydra\&quot;,\n        },\n        \n        {\n          title: \&quot;Jasper Jekyll Theme\&quot;,\n          description: \&quot;A Jekyll port of Ghost&apos;s default Casper theme. Brings the polished, editorial feel of Ghost blogging to static Jekyll sites.\&quot;,\n          card_description: \&quot;Jekyll port of Ghost&apos;s Casper — polished, editorial feel.\&quot;,\n          url: \&quot;/themes/jasper/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://jekyllt.github.io/jasper/\&quot;,\n          card_image: \&quot;/assets/images/themes/jasper-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;jasper\&quot;,\n        },\n        \n        {\n          title: \&quot;Jekyll Now\&quot;,\n          description: \&quot;The quickest way to start a Jekyll blog. Fork on GitHub, enable Pages, and you have a live blog in under a minute — zero command line required.\&quot;,\n          card_description: \&quot;Quickest way to start a Jekyll blog — fork, enable Pages, done.\&quot;,\n          url: \&quot;/themes/jekyll-now/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://barryclark.github.io/jekyll-now/\&quot;,\n          card_image: \&quot;/assets/images/themes/jekyll-now-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;jekyll-now\&quot;,\n        },\n        \n        {\n          title: \&quot;TeXt Jekyll Theme\&quot;,\n          description: \&quot;A highly customisable Jekyll theme inspired by iOS 11 style. Features multiple skins, rich built-in components, full internationalisation, and support for blogs, documentation, and team sites.\&quot;,\n          card_description: \&quot;iOS-inspired theme with multiple skins and rich built-in components.\&quot;,\n          url: \&quot;/themes/jekyll-text-theme/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://kitian616.github.io/jekyll-TeXt-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/jekyll-text-theme-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;jekyll-text-theme\&quot;,\n        },\n        \n        {\n          title: \&quot;Just the Docs Jekyll Theme\&quot;,\n          description: \&quot;The most popular Jekyll documentation theme. Clean sidebar navigation, full-text search, and excellent code block support.\&quot;,\n          card_description: \&quot;Most popular Jekyll docs theme with sidebar navigation and search.\&quot;,\n          url: \&quot;/themes/just-the-docs/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://just-the-docs.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/just-the-docs-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-08\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;just-the-docs\&quot;,\n        },\n        \n        {\n          title: \&quot;Klisé Jekyll Theme\&quot;,\n          description: \&quot;A minimalist Jekyll theme with seamless light and dark mode. Clean typography, fast performance, and a modern aesthetic — designed for personal sites and blogs that value simplicity.\&quot;,\n          card_description: \&quot;Minimalist theme with seamless dark mode and clean typography.\&quot;,\n          url: \&quot;/themes/klise/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://klise.vercel.app/\&quot;,\n          card_image: \&quot;/assets/images/themes/klise-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;klise\&quot;,\n        },\n        \n        {\n          title: \&quot;Lanyon Jekyll Theme\&quot;,\n          description: \&quot;A Jekyll theme that hides its sidebar until you need it. Clean, spacious reading layout with a smooth slide-out navigation drawer.\&quot;,\n          card_description: \&quot;Clean blog theme with a smooth slide-out navigation drawer.\&quot;,\n          url: \&quot;/themes/lanyon/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://lanyon.getpoole.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/lanyon-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-02-05\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;lanyon\&quot;,\n        },\n        \n        {\n          title: \&quot;Leonids Jekyll Theme\&quot;,\n          description: \&quot;A simple and clean two-column Jekyll blog theme. Fixed sidebar with author bio and social links, clean post listing, and a timeless layout that puts content front and centre.\&quot;,\n          card_description: \&quot;Two-column blog with fixed sidebar and timeless content-first layout.\&quot;,\n          url: \&quot;/themes/leonids/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://renyuanz.github.io/leonids/\&quot;,\n          card_image: \&quot;/assets/images/themes/leonids-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;leonids\&quot;,\n        },\n        \n        {\n          title: \&quot;Livvic Jekyll Theme\&quot;,\n          description: \&quot;A clean, creative, and unique Jekyll theme for agency and personal portfolio websites. Features a flat modern design, unique effects, Bootstrap 4, and Font Awesome — ready to customise and launch in hours.\&quot;,\n          card_description: \&quot;Clean creative portfolio theme for agencies and freelancers — minimal, unique, responsive.\&quot;,\n          url: \&quot;/themes/livvic/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 49,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://livvic-jekyll.tortoizthemes.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/livvic-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://tortoizthemes.com/theme/livvic-jekyll-theme/\&quot;,\n          author: \&quot;Tortoiz Themes\&quot;,\n          added_at: \&quot;2026-06-27\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;livvic\&quot;,\n        },\n        \n        {\n          title: \&quot;Long Haul Jekyll Theme\&quot;,\n          description: \&quot;A minimal, type-focused Jekyll theme designed for long-form writing. Understated design that keeps the reader&apos;s attention on the words.\&quot;,\n          card_description: \&quot;Minimal, type-focused theme designed for long-form writing.\&quot;,\n          url: \&quot;/themes/long-haul/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://brianmaierjr.com/long-haul/\&quot;,\n          card_image: \&quot;/assets/images/themes/long-haul-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;long-haul\&quot;,\n        },\n        \n        {\n          title: \&quot;Massively Jekyll Theme\&quot;,\n          description: \&quot;A bold, image-driven Jekyll blog theme ported from HTML5 UP. Full-screen background image on the homepage, large featured post images, and a striking visual identity unlike any other Jekyll theme.\&quot;,\n          card_description: \&quot;Bold, image-driven blog with full-screen homepage background.\&quot;,\n          url: \&quot;/themes/massively/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://jekyllup.github.io/jekyll-theme-massively/\&quot;,\n          card_image: \&quot;/assets/images/themes/massively-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;massively\&quot;,\n        },\n        \n        {\n          title: \&quot;Mediator Jekyll Theme\&quot;,\n          description: \&quot;A medium-inspired Jekyll blog theme with large featured images, clean typography, and a focus on long-form reading.\&quot;,\n          card_description: \&quot;Medium-inspired blog with large featured images and clean typography.\&quot;,\n          url: \&quot;/themes/mediator/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://blog.base68.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/mediator-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;mediator\&quot;,\n        },\n        \n        {\n          title: \&quot;Mediumish Jekyll Theme\&quot;,\n          description: \&quot;A Medium-inspired blog theme with card-based post listings, author pages, and a clean reading layout. One of the most popular Jekyll blog starters.\&quot;,\n          card_description: \&quot;Medium-inspired blog with card post listings and author pages.\&quot;,\n          url: \&quot;/themes/mediumish/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://wowthemesnet.github.io/mediumish-theme-jekyll/\&quot;,\n          card_image: \&quot;/assets/images/themes/mediumish-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-03-10\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;mediumish\&quot;,\n        },\n        \n        {\n          title: \&quot;Merlot Jekyll Theme\&quot;,\n          description: \&quot;A warm, editorial GitHub Pages Jekyll theme with classic typographic styling. Official GitHub Pages theme for personal and project sites.\&quot;,\n          card_description: \&quot;Warm, editorial GitHub Pages theme with classic typographic styling.\&quot;,\n          url: \&quot;/themes/merlot/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/merlot/\&quot;,\n          card_image: \&quot;/assets/images/themes/merlot-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;merlot\&quot;,\n        },\n        \n        {\n          title: \&quot;Midnight Jekyll Theme\&quot;,\n          description: \&quot;A dark, sleek GitHub Pages Jekyll theme with light text on deep backgrounds. Official GitHub Pages theme ideal for personal projects and portfolios.\&quot;,\n          card_description: \&quot;Dark, sleek GitHub Pages theme with light text on deep backgrounds.\&quot;,\n          url: \&quot;/themes/midnight/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/midnight/\&quot;,\n          card_image: \&quot;/assets/images/themes/midnight-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;midnight\&quot;,\n        },\n        \n        {\n          title: \&quot;Miles Jekyll Theme\&quot;,\n          description: \&quot;A creative portfolio and agency Jekyll theme with 12+ homepage layouts, 6 portfolio styles, and 4 blog layouts. Designed for agencies, freelancers, and creative professionals who want a stunning site in hours not days.\&quot;,\n          card_description: \&quot;Creative agency and portfolio theme — 12+ homepages, 6 portfolio styles, dark design.\&quot;,\n          url: \&quot;/themes/miles/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 79,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://miles-jekyll.tortoizthemes.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/miles-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://tortoizthemes.com/demo/miles/\&quot;,\n          author: \&quot;Tortoiz Themes\&quot;,\n          added_at: \&quot;2026-06-27\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;miles\&quot;,\n        },\n        \n        {\n          title: \&quot;Millennial Jekyll Theme\&quot;,\n          description: \&quot;A minimalist, responsive Jekyll blog theme with a clean layout, tag support, pagination, and social share buttons.\&quot;,\n          card_description: \&quot;Minimalist responsive blog with tag support and social share buttons.\&quot;,\n          url: \&quot;/themes/millennial/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://lenpaul.github.io/Millennial/\&quot;,\n          card_image: \&quot;/assets/images/themes/millennial-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;millennial\&quot;,\n        },\n        \n        {\n          title: \&quot;Minima Jekyll Theme\&quot;,\n          description: \&quot;Jekyll&apos;s built-in default theme. Minimal, clean, and battle-tested. The foundation every Jekyll developer knows.\&quot;,\n          card_description: \&quot;Jekyll&apos;s default theme — minimal, clean, and battle-tested.\&quot;,\n          url: \&quot;/themes/minima/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://jekyll.github.io/minima/\&quot;,\n          card_image: \&quot;/assets/images/themes/minima-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;minima\&quot;,\n        },\n        \n        {\n          title: \&quot;Minimal Mistakes Jekyll Theme\&quot;,\n          description: \&quot;The most popular Jekyll theme on GitHub. A flexible two-column theme perfect for personal sites, blogs, documentation, and portfolios — with 12 layout skins.\&quot;,\n          card_description: \&quot;Most popular Jekyll theme — flexible two-column with 12 layout skins.\&quot;,\n          url: \&quot;/themes/minimal-mistakes/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://mmistakes.github.io/minimal-mistakes/\&quot;,\n          card_image: \&quot;/assets/images/themes/minimal-mistakes-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-01-02\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;minimal-mistakes\&quot;,\n        },\n        \n        {\n          title: \&quot;Minimal Jekyll Theme\&quot;,\n          description: \&quot;The official minimal GitHub Pages Jekyll theme. Clean and lightweight with great default typography for personal projects and documentation.\&quot;,\n          card_description: \&quot;Official minimal GitHub Pages theme — clean and lightweight.\&quot;,\n          url: \&quot;/themes/minimal/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/minimal/\&quot;,\n          card_image: \&quot;/assets/images/themes/minimal-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;minimal\&quot;,\n        },\n        \n        {\n          title: \&quot;Modern Resume Theme Jekyll Theme\&quot;,\n          description: \&quot;A sleek, single-page resume/CV theme for Jekyll. Dark header, clean timeline layout, and sections for experience, education, skills, and projects.\&quot;,\n          card_description: \&quot;Sleek single-page resume/CV with timeline and skills sections.\&quot;,\n          url: \&quot;/themes/modern-resume-theme/\&quot;,\n          category: \&quot;Resume / CV\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: true,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://sproogen.github.io/modern-resume-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/modern-resume-theme-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-02-28\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;modern-resume-theme\&quot;,\n        },\n        \n        {\n          title: \&quot;Moonwalk Jekyll Theme\&quot;,\n          description: \&quot;A dark, minimal Jekyll blog theme with a focus on typography and whitespace. Elegant simplicity for serious writers.\&quot;,\n          card_description: \&quot;Dark, minimal blog focused on typography and generous whitespace.\&quot;,\n          url: \&quot;/themes/moonwalk/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://abhinavs.github.io/moonwalk/\&quot;,\n          card_image: \&quot;/assets/images/themes/moonwalk-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-03-12\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;moonwalk\&quot;,\n        },\n        \n        {\n          title: \&quot;Mundana Jekyll Theme\&quot;,\n          description: \&quot;A modern Jekyll theme for bloggers built with Bootstrap 4. Features featured posts, category pages, newsletter signup, and clean card layouts.\&quot;,\n          card_description: \&quot;Modern Bootstrap 4 blog with featured posts and newsletter signup.\&quot;,\n          url: \&quot;/themes/mundana/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://mundana.amitmerchant.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/mundana-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;mundana\&quot;,\n        },\n        \n        {\n          title: \&quot;Online CV Jekyll Theme\&quot;,\n          description: \&quot;A one-page Jekyll CV and resume theme for creating a beautiful online portfolio. Minimal, readable design perfect for job seekers and freelancers.\&quot;,\n          card_description: \&quot;One-page CV/resume theme for a beautiful online portfolio.\&quot;,\n          url: \&quot;/themes/online-cv/\&quot;,\n          category: \&quot;Resume / CV\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://sharu725.github.io/online-cv/\&quot;,\n          card_image: \&quot;/assets/images/themes/online-cv-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-03-15\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;online-cv\&quot;,\n        },\n        \n        {\n          title: \&quot;Origin Jekyll Theme\&quot;,\n          description: \&quot;A fully featured and highly configurable modern blog theme for Jekyll. Includes categories, authors, comments, pagination, dark mode, and a perfect 100/100 Google Lighthouse score.\&quot;,\n          card_description: \&quot;Modern blog theme with dark mode, authors, categories, and 100/100 Lighthouse.\&quot;,\n          url: \&quot;/themes/origin/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 49,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://jekyll-origin.netlify.app/\&quot;,\n          card_image: \&quot;/assets/images/themes/origin-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://www.zerostatic.io/theme/jekyll-origin/\&quot;,\n          author: \&quot;Zerostatic\&quot;,\n          added_at: \&quot;2026-06-27\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;origin\&quot;,\n        },\n        \n        {\n          title: \&quot;Phantom Jekyll Theme\&quot;,\n          description: \&quot;A minimalist, responsive portfolio Jekyll theme with a project grid, modal image viewer, and subtle hover animations.\&quot;,\n          card_description: \&quot;Minimalist portfolio with project grid and modal image viewer.\&quot;,\n          url: \&quot;/themes/phantom/\&quot;,\n          category: \&quot;Portfolio\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://jamigibbs.github.io/phantom/\&quot;,\n          card_image: \&quot;/assets/images/themes/phantom-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;phantom\&quot;,\n        },\n        \n        {\n          title: \&quot;Pixyll Jekyll Theme\&quot;,\n          description: \&quot;A simple, beautiful Jekyll theme that puts your content first. Mobile-first, fluidly responsive, and delightfully lightweight — built around great typography and generous whitespace.\&quot;,\n          card_description: \&quot;Simple, beautiful theme that puts content first with generous whitespace.\&quot;,\n          url: \&quot;/themes/pixyll/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pixyll.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/pixyll-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;pixyll\&quot;,\n        },\n        \n        {\n          title: \&quot;Primer Jekyll Theme\&quot;,\n          description: \&quot;The official GitHub Pages primer Jekyll theme. Clean, GitHub-style design with great readability — perfect for documentation and project pages.\&quot;,\n          card_description: \&quot;Official GitHub Pages primer theme — clean GitHub-style for docs.\&quot;,\n          url: \&quot;/themes/primer/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/primer/\&quot;,\n          card_image: \&quot;/assets/images/themes/primer-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;primer\&quot;,\n        },\n        \n        {\n          title: \&quot;Researcher Jekyll Theme\&quot;,\n          description: \&quot;A minimal, clean Jekyll theme for a single-page academic CV. Presents your education, experience, publications, and skills in a clear, professional layout that loads instantly.\&quot;,\n          card_description: \&quot;Minimal single-page academic CV with a clean, professional layout.\&quot;,\n          url: \&quot;/themes/researcher/\&quot;,\n          category: \&quot;Resume / CV\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://ankitsultana.com/researcher/\&quot;,\n          card_image: \&quot;/assets/images/themes/researcher-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;researcher\&quot;,\n        },\n        \n        {\n          title: \&quot;Reverie Jekyll Theme\&quot;,\n          description: \&quot;A ridiculously elegant, fully responsive Jekyll blog theme based on Poole. Supports categories, tags, Disqus comments, and Google Analytics.\&quot;,\n          card_description: \&quot;Elegantly responsive blog based on Poole with categories and tags.\&quot;,\n          url: \&quot;/themes/reverie/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://reverie.amitmerchant.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/reverie-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;reverie\&quot;,\n        },\n        \n        {\n          title: \&quot;Sandbox Jekyll Theme\&quot;,\n          description: \&quot;A massive multipurpose Jekyll theme with 27 home pages, 130+ ready-to-use blocks, and 250+ UI elements. Built with Bootstrap 5 and zero jQuery — perfect for startups, SaaS, agencies, portfolios, and eCommerce sites.\&quot;,\n          card_description: \&quot;Multipurpose theme — 27 homepages, 130+ blocks, 250+ UI elements, Bootstrap 5.\&quot;,\n          url: \&quot;/themes/sandbox/\&quot;,\n          category: \&quot;Business\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 99,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://sandbox.tortoizthemes.com/demo28/\&quot;,\n          card_image: \&quot;/assets/images/themes/sandbox-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://tortoizthemes.com/theme/sandbox/\&quot;,\n          author: \&quot;Tortoiz Themes\&quot;,\n          added_at: \&quot;2026-06-27\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: true,\n          trending: true,\n          slug: \&quot;sandbox\&quot;,\n        },\n        \n        {\n          title: \&quot;Scriptor Jekyll Theme\&quot;,\n          description: \&quot;A minimal, clean, and modern Jekyll theme for writers and bloggers. Elegant typography, featured images, and a distraction-free reading layout built for long-form content.\&quot;,\n          card_description: \&quot;Minimal, modern theme for writers with elegant typography.\&quot;,\n          url: \&quot;/themes/scriptor/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://scriptor-jekyll.netlify.app/\&quot;,\n          card_image: \&quot;/assets/images/themes/scriptor-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;scriptor\&quot;,\n        },\n        \n        {\n          title: \&quot;Serif Jekyll Theme\&quot;,\n          description: \&quot;A beautiful small business Jekyll theme by CloudCannon. Elegant serif typography, warm tones, and sections for services, team members, and contact.\&quot;,\n          card_description: \&quot;Beautiful small business theme with serif typography and service sections.\&quot;,\n          url: \&quot;/themes/serif/\&quot;,\n          category: \&quot;Business\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://serif.cloudcannon.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/serif-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-02-08\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;serif\&quot;,\n        },\n        \n        {\n          title: \&quot;Slate Jekyll Theme\&quot;,\n          description: \&quot;A bold, dark GitHub Pages Jekyll theme with prominent sidebar navigation and strong code styling. Official GitHub Pages theme for developer docs.\&quot;,\n          card_description: \&quot;Bold, dark GitHub Pages theme for developer docs with sidebar nav.\&quot;,\n          url: \&quot;/themes/slate/\&quot;,\n          category: \&quot;Documentation\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/slate/\&quot;,\n          card_image: \&quot;/assets/images/themes/slate-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;slate\&quot;,\n        },\n        \n        {\n          title: \&quot;Snowlake Jekyll Theme\&quot;,\n          description: \&quot;A versatile multipurpose Jekyll theme with 27 unique demos, 17 color schemes, 5 font options, Slider Revolution, and 4 icon sets with 2300+ icons. Built on Jekyll 4.3+ and Bootstrap 5 — ideal for businesses, agencies, SaaS, and creatives.\&quot;,\n          card_description: \&quot;Multipurpose theme — 27 demos, 17 color schemes, Slider Revolution, Bootstrap 5.\&quot;,\n          url: \&quot;/themes/snowlake/\&quot;,\n          category: \&quot;Business\&quot;,\n          price_type: \&quot;premium\&quot;,\n          price: 79,\n          featured: true,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://snowlake.tortoizthemes.com/\&quot;,\n          card_image: \&quot;/assets/images/themes/snowlake-card.webp\&quot;,\n          premium: false,\n          buy_url: \&quot;https://tortoizthemes.com/theme/snowlake-jekyll-theme/\&quot;,\n          author: \&quot;Tortoiz Themes\&quot;,\n          added_at: \&quot;2026-06-27\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;snowlake\&quot;,\n        },\n        \n        {\n          title: \&quot;So Simple Jekyll Theme\&quot;,\n          description: \&quot;A simple Jekyll theme for words and pictures. Clean reading layout with support for author profiles, social links, and Google Analytics.\&quot;,\n          card_description: \&quot;Simple theme for words and pictures with author profile support.\&quot;,\n          url: \&quot;/themes/so-simple/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://mmistakes.github.io/so-simple-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/so-simple-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-04-01\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: true,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;so-simple\&quot;,\n        },\n        \n        {\n          title: \&quot;Swiss Jekyll Theme\&quot;,\n          description: \&quot;A bold, typographic Jekyll theme inspired by International Swiss Style design. Strong grid, oversized headings, and a clean black-and-white palette that puts typography first.\&quot;,\n          card_description: \&quot;Bold, typographic theme inspired by Swiss International Style design.\&quot;,\n          url: \&quot;/themes/swiss/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://broccolini.net/swiss/\&quot;,\n          card_image: \&quot;/assets/images/themes/swiss-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;swiss\&quot;,\n        },\n        \n        {\n          title: \&quot;Tactile Jekyll Theme\&quot;,\n          description: \&quot;A textured, warm GitHub Pages Jekyll theme with a hand-crafted sidebar style. Official GitHub Pages theme with classic personality and charm.\&quot;,\n          card_description: \&quot;Textured, warm GitHub Pages theme with hand-crafted sidebar style.\&quot;,\n          url: \&quot;/themes/tactile/\&quot;,\n          category: \&quot;Personal\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://pages-themes.github.io/tactile/\&quot;,\n          card_image: \&quot;/assets/images/themes/tactile-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;tactile\&quot;,\n        },\n        \n        {\n          title: \&quot;Tale Jekyll Theme\&quot;,\n          description: \&quot;An minimal Jekyll theme focused on content. Elegant single-column layout with beautiful typography, clean post listings, and zero visual noise — perfect for long-form writing.\&quot;,\n          card_description: \&quot;Minimal, elegant single-column blog for long-form writing.\&quot;,\n          url: \&quot;/themes/tale/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://chesterhow.github.io/tale/\&quot;,\n          card_image: \&quot;/assets/images/themes/tale-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;tale\&quot;,\n        },\n        \n        {\n          title: \&quot;Type Theme Jekyll Theme\&quot;,\n          description: \&quot;A free, open-source theme for Jekyll focused purely on typography and reading. Minimal design, fast load times, and a beautifully simple blog layout for writers who mean business.\&quot;,\n          card_description: \&quot;Typography-focused minimal theme for writers who value clean reading.\&quot;,\n          url: \&quot;/themes/type-theme/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: false,\n          responsive: true,\n          demo_url: \&quot;https://rohanchandra.github.io/type-theme/\&quot;,\n          card_image: \&quot;/assets/images/themes/type-theme-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: false,\n          slug: \&quot;type-theme\&quot;,\n        },\n        \n        {\n          title: \&quot;YAT Jekyll Theme\&quot;,\n          description: \&quot;Yet Another Theme — a modern, flat-design Jekyll blog theme with night mode, multi-language support, and beautiful typography. Clean, fast, and elegant for writers and developers alike.\&quot;,\n          card_description: \&quot;Modern flat-design blog with night mode and multi-language support.\&quot;,\n          url: \&quot;/themes/yat/\&quot;,\n          category: \&quot;Blog\&quot;,\n          price_type: \&quot;free\&quot;,\n          price: null,\n          featured: false,\n          dark_mode: true,\n          responsive: true,\n          demo_url: \&quot;https://jeffreytse.github.io/jekyll-theme-yat/\&quot;,\n          card_image: \&quot;/assets/images/themes/yat-card.webp\&quot;,\n          premium: false,\n          buy_url: null,\n          author: \&quot;GitHub Community\&quot;,\n          added_at: \&quot;2026-06-07\&quot;,\n          discount_label: null,\n          discount_original_price: null,\n          popular: false,\n          bestseller: false,\n          trending: true,\n          slug: \&quot;yat\&quot;,\n        }\n        \n      ],\n      posts: [\n        \n        {\n          title: \&quot;Jekyll vs Gatsby: Which Static Site Generator Should You Choose in 2026?\&quot;,\n          excerpt: \&quot;Jekyll and Gatsby both produce fast, static websites — but they come from completely different worlds. Jekyll is a mature, Ruby-based generator built for sim...\&quot;,\n          url: \&quot;/comparison/2026/07/03/jekyll-vs-gatsby/\&quot;,\n          tags: [],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;July 3, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-gatsby.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Static Files and Assets: How to Manage Images, CSS, and JS\&quot;,\n          excerpt: \&quot;Jekyll processes some files (Markdown, Liquid templates, Sass) and copies others unchanged. Understanding which is which — and how to reference assets correc...\&quot;,\n          url: \&quot;/tutorial/2026/07/02/jekyll-static-files-assets/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;July 2, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-static-files-assets.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Drafts and Publishing Workflow: How to Manage Content\&quot;,\n          excerpt: \&quot;Jekyll gives you several ways to keep content out of your public site while you work on it: the _drafts/ folder, published: false front matter, and future-da...\&quot;,\n          url: \&quot;/tutorial/2026/07/01/jekyll-drafts-publishing-workflow/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;July 1, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-drafts-publishing-workflow.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Use Sass and SCSS with Jekyll (Complete Guide)\&quot;,\n          excerpt: \&quot;Jekyll has built-in Sass processing — no Node.js, no build tools, no webpack required. Write SCSS files, Jekyll compiles them to CSS automatically. This guid...\&quot;,\n          url: \&quot;/tutorial/2026/06/30/jekyll-sass-scss-guide/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 30, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-sass-scss-guide.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Permalinks and URL Structure: The Complete Guide\&quot;,\n          excerpt: \&quot;Jekyll gives you precise control over the URL structure of every page on your site. Understanding how permalinks work is important for clean URLs, SEO, and e...\&quot;,\n          url: \&quot;/tutorial/2026/06/29/jekyll-permalinks-url-structure/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 29, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-permalinks-url-structure.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Variables Reference: site, page, layout, and More\&quot;,\n          excerpt: \&quot;Jekyll makes a set of variables available in every template through Liquid. Knowing which variables exist and what they contain is essential for building and...\&quot;,\n          url: \&quot;/tutorial/2026/06/28/jekyll-variables-reference/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 28, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-variables-reference.webp\&quot;\n        },\n        \n        {\n          title: \&quot;What Makes a Good Jekyll Theme? (Checklist Before You Buy)\&quot;,\n          excerpt: \&quot;A Jekyll theme can look polished in a screenshot and be a nightmare to work with in practice. Bad themes have hard-coded values scattered across templates, S...\&quot;,\n          url: \&quot;/themes/2026/06/27/what-makes-a-good-jekyll-theme/\&quot;,\n          tags: [\&quot;jekyll themes\&quot;,\&quot;jekyll theme quality\&quot;,\&quot;best jekyll themes\&quot;,\&quot;premium jekyll themes\&quot;,\&quot;jekyll theme checklist\&quot;],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;June 27, 2026\&quot;,\n          image: \&quot;/assets/images/blog/what-makes-a-good-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Liquid Tags: The Complete Reference Guide\&quot;,\n          excerpt: \&quot;Liquid tags are the logic layer of Jekyll templates. Wrapped in {% %} delimiters, they control flow, create variables, loop over data, and embed content  wi...\&quot;,\n          url: \&quot;/tutorial/2026/06/26/jekyll-liquid-tags-reference/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 26, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-liquid-tags-reference.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Liquid Templating: A Beginner&apos;s Complete Guide\&quot;,\n          excerpt: \&quot;Liquid is the template language Jekyll uses to make HTML dynamic. It was created by Shopify and is also used in many other platforms. In Jekyll, Liquid lets ...\&quot;,\n          url: \&quot;/tutorial/2026/06/25/jekyll-liquid-templating-basics/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 25, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-liquid-templating-basics.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Directory Structure Explained: What Every File and Folder Does\&quot;,\n          excerpt: \&quot;When you first open a Jekyll project, the folder structure can look confusing. Underscores everywhere, a _site folder that appears after building, special fi...\&quot;,\n          url: \&quot;/tutorial/2026/06/24/jekyll-directory-structure/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 24, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-directory-structure.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Remote Themes: How to Use Any GitHub Theme Without Installing It\&quot;,\n          excerpt: \&quot;Remote themes are one of the most convenient ways to use a Jekyll theme  especially on GitHub Pages. Instead of installing a theme as a Ruby gem, you refere...\&quot;,\n          url: \&quot;/tutorial/2026/06/23/jekyll-remote-themes/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 23, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-remote-themes.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll _config.yml: The Complete Configuration Guide\&quot;,\n          excerpt: \&quot;_config.yml is the single most important file in a Jekyll project. It controls everything: your site’s URL, which plugins run, how collections are defined, w...\&quot;,\n          url: \&quot;/tutorial/2026/06/22/jekyll-config-yml-guide/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 22, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-config-yml-guide.webp\&quot;\n        },\n        \n        {\n          title: \&quot;10 Things to Check Before Installing a Jekyll Theme\&quot;,\n          excerpt: \&quot;Installing a Jekyll theme takes minutes. Undoing a bad choice takes hours. Before you run bundle install, it is worth spending ten minutes checking these ten...\&quot;,\n          url: \&quot;/themes/2026/06/21/jekyll-theme-checklist-before-installing/\&quot;,\n          tags: [\&quot;jekyll themes\&quot;,\&quot;jekyll theme checklist\&quot;,\&quot;install jekyll theme\&quot;,\&quot;jekyll theme quality\&quot;],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;June 21, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-theme-checklist-before-installing.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Includes vs Layouts: What&apos;s the Difference and When to Use Each\&quot;,\n          excerpt: \&quot;Jekyll has two ways to reuse HTML across your site: layouts and includes. Both reduce repetition, but they work differently and serve different purposes. Und...\&quot;,\n          url: \&quot;/tutorial/2026/06/20/jekyll-includes-vs-layouts/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 20, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-includes-vs-layouts.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Layouts Explained: How to Structure Your Site Templates\&quot;,\n          excerpt: \&quot;Layouts are Jekyll’s template system  reusable HTML wrappers that surround your content. Every page on your Jekyll site uses a layout, even if you have not ...\&quot;,\n          url: \&quot;/tutorial/2026/06/19/jekyll-layouts-explained/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 19, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-layouts-explained.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Front Matter: The Complete Guide\&quot;,\n          excerpt: \&quot;Front matter is how Jekyll knows what to do with a file. Without it, Jekyll treats a file as a static asset and copies it unchanged. With it, Jekyll processe...\&quot;,\n          url: \&quot;/tutorial/2026/06/18/jekyll-front-matter-guide/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 18, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-front-matter-guide.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Deploy a Jekyll Site to Firebase Hosting (2026 Guide)\&quot;,\n          excerpt: \&quot;Firebase Hosting is Google’s static hosting platform  part of the Firebase suite alongside Firestore, Auth, and Cloud Functions. For a Jekyll site, it offer...\&quot;,\n          url: \&quot;/tutorial/2026/06/17/deploy-jekyll-firebase/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 17, 2026\&quot;,\n          image: \&quot;/assets/images/blog/deploy-jekyll-firebase.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Deploy a Jekyll Site to AWS (S3 + CloudFront Guide)\&quot;,\n          excerpt: \&quot;Deploying a Jekyll site to AWS gives you enterprise-grade infrastructure with granular control over every aspect of your hosting. The standard setup combines...\&quot;,\n          url: \&quot;/tutorial/2026/06/16/deploy-jekyll-aws/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 16, 2026\&quot;,\n          image: \&quot;/assets/images/blog/deploy-jekyll-aws.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Pick the Perfect Jekyll Theme for Your Website\&quot;,\n          excerpt: \&quot;Picking a Jekyll theme feels simple until you are staring at hundreds of options and realise they all look good in the screenshots. The wrong choice means ho...\&quot;,\n          url: \&quot;/themes/2026/06/15/how-to-pick-jekyll-theme/\&quot;,\n          tags: [\&quot;jekyll themes\&quot;,\&quot;choose jekyll theme\&quot;,\&quot;jekyll theme guide\&quot;,\&quot;jekyll for beginners\&quot;],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;June 15, 2026\&quot;,\n          image: \&quot;/assets/images/blog/how-to-pick-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Deploy a Jekyll Site to Vercel (2026 Guide)\&quot;,\n          excerpt: \&quot;Vercel is best known as the home of Next.js, but it works equally well for Jekyll sites. Its build infrastructure is fast, the developer experience is polish...\&quot;,\n          url: \&quot;/tutorial/2026/06/14/deploy-jekyll-vercel/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 14, 2026\&quot;,\n          image: \&quot;/assets/images/blog/deploy-jekyll-vercel.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Deploy a Jekyll Site to Netlify (Complete 2026 Guide)\&quot;,\n          excerpt: \&quot;Netlify was the platform that made deploying static sites simple and it remains one of the best choices for Jekyll in 2026. Automatic deploys from Git, previ...\&quot;,\n          url: \&quot;/tutorial/2026/06/13/deploy-jekyll-netlify/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 13, 2026\&quot;,\n          image: \&quot;/assets/images/blog/deploy-jekyll-netlify.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Deploy a Jekyll Site to Cloudflare Pages (Step-by-Step Guide)\&quot;,\n          excerpt: \&quot;Cloudflare Pages is one of the best places to host a Jekyll site in 2026. It is free for unlimited sites, has 300+ CDN locations worldwide, deploys automatic...\&quot;,\n          url: \&quot;/tutorial/2026/06/12/deploy-jekyll-cloudflare-pages/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 12, 2026\&quot;,\n          image: \&quot;/assets/images/blog/deploy-jekyll-cloudflare-pages.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Grow Traffic to Your Jekyll Blog (A Practical Guide for 2026)\&quot;,\n          excerpt: \&quot;A Jekyll blog with zero visitors is just a collection of Markdown files. Getting consistent organic traffic requires deliberate effort  but it is not myster...\&quot;,\n          url: \&quot;/tutorial/2026/06/11/grow-jekyll-blog-traffic/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 11, 2026\&quot;,\n          image: \&quot;/assets/images/blog/grow-jekyll-blog-traffic.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Monetize a Jekyll Blog in 2026 (7 Strategies That Actually Work)\&quot;,\n          excerpt: \&quot;Jekyll is a static site  it has no built-in monetization features. But that does not mean you cannot make money from it. The absence of a CMS or plugin mark...\&quot;,\n          url: \&quot;/tutorial/2026/06/10/jekyll-blog-monetization/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 10, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-blog-monetization.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add a Custom 404 Page to Your Jekyll Site\&quot;,\n          excerpt: \&quot;A default 404 page is a dead end. A custom 404 page turns a broken link into an opportunity  pointing visitors to your most popular content, your search pag...\&quot;,\n          url: \&quot;/tutorial/2026/06/09/jekyll-custom-404-page/\&quot;,\n          tags: [\&quot;jekyll 404 page\&quot;,\&quot;custom 404 jekyll\&quot;,\&quot;jekyll error page\&quot;,\&quot;jekyll not found page\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 9, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-custom-404.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Using Jekyll for Open Source Project Documentation\&quot;,\n          excerpt: \&quot;Jekyll powers documentation for thousands of open source projects  Bootstrap, Jekyll itself, GitHub’s own docs, and hundreds of others. It is the natural ch...\&quot;,\n          url: \&quot;/tutorial/2026/06/08/jekyll-open-source-documentation/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 8, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-open-source-documentation.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Build a Resume or CV Website with Jekyll\&quot;,\n          excerpt: \&quot;An online resume or CV is one of the most valuable things a developer, designer, academic, or job seeker can have. A Jekyll-based CV gives you full control o...\&quot;,\n          url: \&quot;/tutorial/2026/06/07/jekyll-resume-cv-website/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 7, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-resume-cv-website.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Core Web Vitals for Jekyll Sites: A Practical Optimisation Guide (2026)\&quot;,\n          excerpt: \&quot;Jekyll sites start with an inherent performance advantage  no database, no server-side rendering, no PHP. But Core Web Vitals are not just about server spee...\&quot;,\n          url: \&quot;/tutorial/2026/06/06/jekyll-core-web-vitals/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 6, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-core-web-vitals.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll with a Headless CMS: Contentful, Sanity, and Decap Compared\&quot;,\n          excerpt: \&quot;Jekyll stores content as Markdown files  ideal for developers, frustrating for non-technical editors who want a visual dashboard. A headless CMS solves this...\&quot;,\n          url: \&quot;/tutorial/2026/06/05/jekyll-headless-cms/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 5, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-headless-cms.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add a CMS to Jekyll with Decap CMS (Formerly Netlify CMS)\&quot;,\n          excerpt: \&quot;Jekyll is code-first  posts are Markdown files, publishing means a Git commit. That’s great for developers but a barrier for non-technical collaborators. De...\&quot;,\n          url: \&quot;/tutorial/2026/06/04/jekyll-decap-cms/\&quot;,\n          tags: [\&quot;jekyll cms\&quot;,\&quot;decap cms jekyll\&quot;,\&quot;netlify cms jekyll\&quot;,\&quot;jekyll headless cms\&quot;,\&quot;jekyll admin panel\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 4, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-decap-cms.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Interactivity to Jekyll with Alpine.js\&quot;,\n          excerpt: \&quot;Jekyll produces static HTML  no JavaScript framework, no reactive state, just pages. That is a feature, not a bug. But sometimes you need a little interacti...\&quot;,\n          url: \&quot;/tutorial/2026/06/03/jekyll-alpine-js/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 3, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-alpine-js.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Use Tailwind CSS with Jekyll (2026 Guide)\&quot;,\n          excerpt: \&quot;Tailwind CSS and Jekyll are a natural combination  Tailwind’s utility-first approach works beautifully in Liquid templates, and the purging process eliminat...\&quot;,\n          url: \&quot;/tutorial/2026/06/02/jekyll-tailwind-css/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;June 2, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-tailwind-css.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs Webflow: Which Is Right for Your Website in 2026?\&quot;,\n          excerpt: \&quot;Jekyll and Webflow represent two very different approaches to building websites. Jekyll is a code-first static site generator. Webflow is a visual design too...\&quot;,\n          url: \&quot;/comparison/2026/06/01/jekyll-vs-webflow/\&quot;,\n          tags: [],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;June 1, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-webflow.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs Ghost: Which Platform Is Right for Your Blog in 2026?\&quot;,\n          excerpt: \&quot;Jekyll and Ghost are both popular choices for bloggers and writers, but they come from opposite ends of the web publishing spectrum. Jekyll is a static site ...\&quot;,\n          url: \&quot;/comparison/2026/05/31/jekyll-vs-ghost/\&quot;,\n          tags: [],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;May 31, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-ghost.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs Astro: Which Static Site Generator Should You Use in 2026?\&quot;,\n          excerpt: \&quot;Astro launched in 2021 and quickly became one of the most talked-about static site generators. Jekyll has been around since 2008 and remains one of the most ...\&quot;,\n          url: \&quot;/comparison/2026/05/30/jekyll-vs-astro/\&quot;,\n          tags: [],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;May 30, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-astro.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Accessibility Best Practices for Jekyll Themes (WCAG 2.2 Guide)\&quot;,\n          excerpt: \&quot;Accessibility is not a nice-to-have  it determines whether your content reaches everyone. An inaccessible Jekyll theme excludes users with visual, motor, an...\&quot;,\n          url: \&quot;/tutorial/2026/05/29/jekyll-accessibility-wcag/\&quot;,\n          tags: [\&quot;jekyll accessibility\&quot;,\&quot;wcag jekyll\&quot;,\&quot;accessible jekyll theme\&quot;,\&quot;jekyll aria\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 29, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-accessibility.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Sell a Jekyll Theme: A Complete Guide for Developers\&quot;,\n          excerpt: \&quot;Building a great Jekyll theme is one thing. Turning it into a product people will pay for is another. This guide covers everything  from what buyers expect ...\&quot;,\n          url: \&quot;/tutorial/2026/05/28/how-to-sell-jekyll-theme/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 28, 2026\&quot;,\n          image: \&quot;/assets/images/blog/how-to-sell-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Best Jekyll Themes for Writers and Bloggers in 2026\&quot;,\n          excerpt: \&quot;Writers have different needs from developers. You want beautiful typography, generous line spacing, a clean reading experience, and a design that makes your ...\&quot;,\n          url: \&quot;/themes/2026/05/27/jekyll-themes-for-writers/\&quot;,\n          tags: [],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;May 27, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-themes-for-writers.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Set Up a Multi-Author Jekyll Blog\&quot;,\n          excerpt: \&quot;Jekyll does not have user accounts or a login system, but it handles multiple authors elegantly using collections. You define each author as a data file or c...\&quot;,\n          url: \&quot;/tutorial/2026/05/26/jekyll-multi-author-blog/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 26, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-multi-author-blog.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Best Jekyll Themes for Small Business Websites in 2026\&quot;,\n          excerpt: \&quot;Jekyll is an excellent choice for small business websites. Pages load in milliseconds, hosting is free or nearly free, and there is no database to hack or Wo...\&quot;,\n          url: \&quot;/themes/2026/05/25/best-jekyll-themes-small-business/\&quot;,\n          tags: [],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;May 25, 2026\&quot;,\n          image: \&quot;/assets/images/blog/best-jekyll-themes-small-business.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add an Email Newsletter Signup to Your Jekyll Site\&quot;,\n          excerpt: \&quot;Building an email list is one of the highest-value things you can do for a content site  owned audience, no algorithm dependency. Jekyll doesn’t have a buil...\&quot;,\n          url: \&quot;/tutorial/2026/05/24/jekyll-newsletter-signup/\&quot;,\n          tags: [\&quot;jekyll newsletter\&quot;,\&quot;mailchimp jekyll\&quot;,\&quot;convertkit jekyll\&quot;,\&quot;jekyll email signup\&quot;,\&quot;static site newsletter\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 24, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-newsletter-signup.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll E-commerce with Snipcart: Add a Shopping Cart to Your Static Site\&quot;,\n          excerpt: \&quot;Jekyll is a static site generator  it does not have a database, a server, or a shopping cart. But that does not mean you cannot sell online. Snipcart is a J...\&quot;,\n          url: \&quot;/tutorial/2026/05/23/jekyll-ecommerce-snipcart/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 23, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-ecommerce-snipcart.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Environment Variables: The Complete Guide\&quot;,\n          excerpt: \&quot;Environment variables in Jekyll are simpler than you might expect  but also more limited than many developers assume coming from Node.js or Python. Here is ...\&quot;,\n          url: \&quot;/tutorial/2026/05/22/jekyll-environment-variables/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 22, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-environment-variables.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Liquid Filters: The Complete Cheatsheet (2026)\&quot;,\n          excerpt: \&quot;Liquid filters transform output in Jekyll templates. They are chained with the pipe character | and applied to variables, strings, numbers, arrays, and dates...\&quot;,\n          url: \&quot;/tutorial/2026/05/21/jekyll-liquid-filters-cheatsheet/\&quot;,\n          tags: [],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 21, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-liquid-filters-cheatsheet.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)\&quot;,\n          excerpt: \&quot;Minimal themes are the most popular category in the Jekyll ecosystem  and for good reason. A minimal design puts the focus on your content, loads in millise...\&quot;,\n          url: \&quot;/themes/2026/05/20/jekyll-minimal-themes/\&quot;,\n          tags: [],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;May 20, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-minimal-themes.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs Next.js: A Practical Comparison for 2026\&quot;,\n          excerpt: \&quot;Jekyll and Next.js are both capable of producing fast, statically-generated websites. But comparing them is a bit like comparing a bicycle to a car  they ar...\&quot;,\n          url: \&quot;/comparison/2026/05/19/jekyll-vs-nextjs/\&quot;,\n          tags: [],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;May 19, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-nextjs.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Set Up a Custom Domain for Your Jekyll Site\&quot;,\n          excerpt: \&quot;Getting your Jekyll site onto a custom domain takes about 10–30 minutes. The process is the same regardless of which registrar you use  you update DNS recor...\&quot;,\n          url: \&quot;/tutorial/2026/05/18/jekyll-custom-domain/\&quot;,\n          tags: [\&quot;jekyll custom domain\&quot;,\&quot;github pages custom domain\&quot;,\&quot;netlify custom domain\&quot;,\&quot;jekyll domain setup\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 18, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-custom-domain.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add a Table of Contents to Jekyll Posts\&quot;,\n          excerpt: \&quot;A table of contents helps readers navigate long posts and signals to Google that your content is structured and comprehensive. Jekyll has three ways to add o...\&quot;,\n          url: \&quot;/tutorial/2026/05/13/jekyll-table-of-contents/\&quot;,\n          tags: [\&quot;jekyll table of contents\&quot;,\&quot;jekyll toc\&quot;,\&quot;jekyll kramdown toc\&quot;,\&quot;jekyll post navigation\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 13, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-table-of-contents.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Data Files: The Complete Guide to _data\&quot;,\n          excerpt: \&quot;The _data folder is one of Jekyll’s most underused features. It lets you store structured content  navigation menus, team members, FAQs, pricing tables, soc...\&quot;,\n          url: \&quot;/tutorial/2026/05/07/jekyll-data-files/\&quot;,\n          tags: [\&quot;jekyll data files\&quot;,\&quot;jekyll _data\&quot;,\&quot;jekyll yaml\&quot;,\&quot;jekyll liquid data\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;May 7, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-data-files.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs WordPress: Should You Switch in 2026?\&quot;,\n          excerpt: \&quot;WordPress powers 43% of the web. Jekyll powers a fraction of that. So why would anyone switch? For the right kind of site, Jekyll is dramatically better  fa...\&quot;,\n          url: \&quot;/comparison/2026/05/02/jekyll-vs-wordpress/\&quot;,\n          tags: [\&quot;jekyll vs wordpress\&quot;,\&quot;switch wordpress to jekyll\&quot;,\&quot;wordpress alternative\&quot;,\&quot;static site vs wordpress\&quot;],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;May 2, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-wordpress.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add a Contact Form to Your Jekyll Site\&quot;,\n          excerpt: \&quot;Jekyll generates static HTML  there’s no server-side code to process form submissions. But you don’t need one. Three services handle form submissions for st...\&quot;,\n          url: \&quot;/tutorial/2026/04/26/jekyll-contact-form/\&quot;,\n          tags: [\&quot;jekyll contact form\&quot;,\&quot;formspree jekyll\&quot;,\&quot;netlify forms jekyll\&quot;,\&quot;static site contact form\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;April 26, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-contact-form.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Google Analytics to Your Jekyll Site\&quot;,\n          excerpt: \&quot;Adding Google Analytics to Jekyll takes about 5 minutes. This guide covers Google Analytics 4 (GA4), the only version Google currently supports, plus tips fo...\&quot;,\n          url: \&quot;/tutorial/2026/04/21/add-google-analytics-jekyll/\&quot;,\n          tags: [\&quot;jekyll google analytics\&quot;,\&quot;google analytics 4 jekyll\&quot;,\&quot;jekyll analytics\&quot;,\&quot;jekyll tracking\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;April 21, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-google-analytics.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Hosting Comparison: GitHub Pages vs Netlify vs Cloudflare Pages vs Vercel\&quot;,\n          excerpt: \&quot;Choosing where to host your Jekyll site is one of the first decisions you’ll make  and all four major platforms are free for personal projects. The differen...\&quot;,\n          url: \&quot;/tutorial/2026/04/15/jekyll-hosting-comparison/\&quot;,\n          tags: [\&quot;jekyll hosting\&quot;,\&quot;github pages vs netlify\&quot;,\&quot;cloudflare pages jekyll\&quot;,\&quot;vercel jekyll\&quot;,\&quot;static site hosting\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;April 15, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-hosting-comparison.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Migrate from WordPress to Jekyll Without Losing SEO\&quot;,\n          excerpt: \&quot;Migrating from WordPress to Jekyll can destroy your search rankings if done carelessly  or preserve them completely if done right. The difference is almost ...\&quot;,\n          url: \&quot;/tutorial/2026/04/10/migrate-wordpress-to-jekyll-seo/\&quot;,\n          tags: [\&quot;wordpress to jekyll\&quot;,\&quot;migrate without losing seo\&quot;,\&quot;jekyll seo migration\&quot;,\&quot;301 redirects jekyll\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;April 10, 2026\&quot;,\n          image: \&quot;/assets/images/blog/migrate-wordpress-jekyll-seo.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Create Dynamic Navigation and Smart Sidebars in Jekyll\&quot;,\n          excerpt: \&quot;Hard-coded navigation and static sidebars are the first thing that makes a Jekyll theme feel unpolished. This guide covers building dynamic navigation driven...\&quot;,\n          url: \&quot;/tutorial/2026/04/05/jekyll-navigation-sidebars/\&quot;,\n          tags: [\&quot;jekyll navigation\&quot;,\&quot;jekyll sidebar\&quot;,\&quot;jekyll menu\&quot;,\&quot;jekyll liquid\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;April 5, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-navigation-sidebars.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Theme Architecture: Best Practices for Clean &amp; Scalable Code\&quot;,\n          excerpt: \&quot;Most Jekyll sites start as a quick setup and slowly become hard to maintain  styles scattered across files, layouts duplicating logic, includes tangled with...\&quot;,\n          url: \&quot;/tutorial/2026/03/30/jekyll-theme-architecture/\&quot;,\n          tags: [\&quot;jekyll theme development\&quot;,\&quot;jekyll architecture\&quot;,\&quot;jekyll best practices\&quot;,\&quot;jekyll sass structure\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;March 30, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-theme-architecture.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Build a Jekyll Theme from Scratch\&quot;,\n          excerpt: \&quot;Building a Jekyll theme from scratch is the fastest way to deeply understand Jekyll  and it’s more achievable than it sounds. This guide walks through build...\&quot;,\n          url: \&quot;/tutorial/2026/03/25/build-jekyll-theme-from-scratch/\&quot;,\n          tags: [\&quot;jekyll theme development\&quot;,\&quot;create jekyll theme\&quot;,\&quot;jekyll gem theme\&quot;,\&quot;build jekyll theme\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;March 25, 2026\&quot;,\n          image: \&quot;/assets/images/blog/build-jekyll-theme-scratch.webp\&quot;\n        },\n        \n        {\n          title: \&quot;25 Best Jekyll Themes for Blogs and Portfolios in 2026\&quot;,\n          excerpt: \&quot;Looking for a Jekyll theme in 2026? There are thousands on GitHub, but most are outdated, poorly maintained, or just not that good. This list covers the 25 b...\&quot;,\n          url: \&quot;/themes/2026/03/19/best-jekyll-themes-blogs-portfolios/\&quot;,\n          tags: [\&quot;best jekyll themes\&quot;,\&quot;jekyll blog themes\&quot;,\&quot;jekyll portfolio themes\&quot;,\&quot;jekyll themes 2026\&quot;],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;March 19, 2026\&quot;,\n          image: \&quot;/assets/images/blog/best-jekyll-themes-2026.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs Hugo vs Eleventy: Which Static Site Generator in 2026?\&quot;,\n          excerpt: \&quot;Jekyll, Hugo, and Eleventy are the three most popular static site generators in 2026. They all produce fast, secure static sites  but they make very differe...\&quot;,\n          url: \&quot;/comparison/2026/03/14/jekyll-vs-hugo-eleventy/\&quot;,\n          tags: [\&quot;jekyll vs hugo\&quot;,\&quot;jekyll vs eleventy\&quot;,\&quot;static site generators 2026\&quot;,\&quot;best static site generator\&quot;],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;March 14, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-hugo-vs-eleventy.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Build a Portfolio Website with Jekyll\&quot;,\n          excerpt: \&quot;A Jekyll portfolio site is fast, free to host, and lives in a GitHub repository  which itself signals professionalism to employers and clients. This guide c...\&quot;,\n          url: \&quot;/tutorial/2026/03/08/jekyll-portfolio-website/\&quot;,\n          tags: [\&quot;jekyll portfolio\&quot;,\&quot;portfolio website jekyll\&quot;,\&quot;jekyll developer portfolio\&quot;,\&quot;github pages portfolio\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;March 8, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-portfolio.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Convert an HTML Template to a Jekyll Theme\&quot;,\n          excerpt: \&quot;You have an HTML template you like  clean design, good structure  but you want to run it as a Jekyll site so you can write in Markdown and deploy to GitHub...\&quot;,\n          url: \&quot;/tutorial/2026/03/03/convert-html-to-jekyll-theme/\&quot;,\n          tags: [\&quot;jekyll theme development\&quot;,\&quot;html to jekyll\&quot;,\&quot;create jekyll theme\&quot;,\&quot;jekyll tutorial\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;March 3, 2026\&quot;,\n          image: \&quot;/assets/images/blog/convert-html-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Auto-Generate Tag and Category Pages in Jekyll\&quot;,\n          excerpt: \&quot;If you click a tag on most Jekyll blogs, you get a 404. That’s because Jekyll doesn’t generate tag or category pages by default. The jekyll-archives plugin f...\&quot;,\n          url: \&quot;/tutorial/2026/02/25/jekyll-tag-category-pages/\&quot;,\n          tags: [\&quot;jekyll tags\&quot;,\&quot;jekyll categories\&quot;,\&quot;jekyll archives\&quot;,\&quot;jekyll tag pages\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;February 25, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-tag-category-pages.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Schema Markup to Your Jekyll Site\&quot;,\n          excerpt: \&quot;Schema markup tells search engines what your content is about  not just the words, but the type of content. It can earn your site rich snippets in Google’s ...\&quot;,\n          url: \&quot;/seo/2026/02/20/jekyll-schema-markup/\&quot;,\n          tags: [\&quot;jekyll schema markup\&quot;,\&quot;json-ld jekyll\&quot;,\&quot;structured data jekyll\&quot;,\&quot;jekyll rich snippets\&quot;],\n          category: \&quot;SEO\&quot;,\n          date: \&quot;February 20, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-schema-markup.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Make Your Jekyll Site Load Under 1 Second\&quot;,\n          excerpt: \&quot;Jekyll sites are inherently fast  there’s no PHP, no database, no server-side rendering. But “fast” isn’t automatic. Poor image handling, unminified CSS, an...\&quot;,\n          url: \&quot;/tutorial/2026/02/14/jekyll-performance/\&quot;,\n          tags: [\&quot;jekyll performance\&quot;,\&quot;jekyll speed\&quot;,\&quot;static site performance\&quot;,\&quot;core web vitals jekyll\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;February 14, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-performance.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Pagination to Your Jekyll Blog\&quot;,\n          excerpt: \&quot;By default, Jekyll lists all your posts on a single page. Once you have 20+ posts, that page becomes slow and hard to navigate. Pagination splits posts acros...\&quot;,\n          url: \&quot;/tutorial/2026/02/09/jekyll-pagination/\&quot;,\n          tags: [\&quot;jekyll pagination\&quot;,\&quot;jekyll paginate\&quot;,\&quot;jekyll blog pagination\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;February 9, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-pagination.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Collections: The Complete Guide\&quot;,\n          excerpt: \&quot;Collections are one of Jekyll’s most powerful features  and one of the most underused. They let you create custom content types beyond posts and pages: prod...\&quot;,\n          url: \&quot;/tutorial/2026/02/04/jekyll-collections-guide/\&quot;,\n          tags: [\&quot;jekyll collections\&quot;,\&quot;jekyll custom content types\&quot;,\&quot;jekyll _config.yml\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;February 4, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-collections.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Search to a Jekyll Site (Lunr.js vs Algolia)\&quot;,\n          excerpt: \&quot;Jekyll doesn’t include search out of the box  but adding it is simpler than you might think. This guide covers the two best options: Lunr.js for a free, no-...\&quot;,\n          url: \&quot;/tutorial/2026/01/29/add-search-jekyll/\&quot;,\n          tags: [\&quot;jekyll search\&quot;,\&quot;lunr.js jekyll\&quot;,\&quot;algolia jekyll\&quot;,\&quot;static site search\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;January 29, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-search.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Automate Jekyll Builds with GitHub Actions\&quot;,\n          excerpt: \&quot;GitHub Actions can build, test, and deploy your Jekyll site automatically on every push. This guide covers everything from the basic setup to advanced workfl...\&quot;,\n          url: \&quot;/tutorial/2026/01/24/jekyll-github-actions/\&quot;,\n          tags: [\&quot;jekyll github actions\&quot;,\&quot;jekyll ci cd\&quot;,\&quot;github actions jekyll\&quot;,\&quot;jekyll deployment\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;January 24, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-github-actions.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Build a Documentation Site with Jekyll\&quot;,\n          excerpt: \&quot;Jekyll is one of the best tools for documentation sites. The result is fast, searchable, version-controllable, and free to host. This guide walks through bui...\&quot;,\n          url: \&quot;/tutorial/2026/01/18/jekyll-documentation-site/\&quot;,\n          tags: [\&quot;jekyll documentation\&quot;,\&quot;jekyll docs site\&quot;,\&quot;just the docs\&quot;,\&quot;static documentation\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;January 18, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-documentation-site.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Comments to Jekyll: Disqus vs Giscus vs Utterances\&quot;,\n          excerpt: \&quot;Jekyll doesn’t have a built-in comment system  it’s a static site generator. But you have three solid options that work well with static sites. Here’s how e...\&quot;,\n          url: \&quot;/tutorial/2026/01/13/add-comments-jekyll/\&quot;,\n          tags: [\&quot;jekyll comments\&quot;,\&quot;giscus jekyll\&quot;,\&quot;disqus jekyll\&quot;,\&quot;utterances jekyll\&quot;,\&quot;static site comments\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;January 13, 2026\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-comments.webp\&quot;\n        },\n        \n        {\n          title: \&quot;15 Must-Have Jekyll Plugins for 2026\&quot;,\n          excerpt: \&quot;Jekyll’s plugin ecosystem is smaller than WordPress’s, but it has everything you need. These 15 plugins cover SEO, performance, content management, and quali...\&quot;,\n          url: \&quot;/tutorial/2026/01/07/must-have-jekyll-plugins/\&quot;,\n          tags: [\&quot;jekyll plugins\&quot;,\&quot;best jekyll plugins\&quot;,\&quot;jekyll seo tag\&quot;,\&quot;jekyll sitemap\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;January 7, 2026\&quot;,\n          image: \&quot;/assets/images/blog/must-have-jekyll-plugins.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Add Dark Mode to Your Jekyll Site\&quot;,\n          excerpt: \&quot;Dark mode is no longer optional  it’s expected. This guide shows you how to add a proper dark mode toggle to any Jekyll site, with the user’s preference sav...\&quot;,\n          url: \&quot;/tutorial/2026/01/02/add-dark-mode-jekyll/\&quot;,\n          tags: [\&quot;jekyll dark mode\&quot;,\&quot;dark mode toggle\&quot;,\&quot;css dark mode\&quot;,\&quot;jekyll tutorial\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;January 2, 2026\&quot;,\n          image: \&quot;/assets/images/blog/add-dark-mode-jekyll.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Deploy Jekyll to GitHub Pages in 10 Minutes\&quot;,\n          excerpt: \&quot;GitHub Pages is the fastest way to get a Jekyll site online  and it’s completely free. This guide gets you from zero to a live site in 10 minutes.\\n\\n\&quot;,\n          url: \&quot;/tutorial/2025/12/27/deploy-jekyll-github-pages/\&quot;,\n          tags: [\&quot;deploy jekyll github pages\&quot;,\&quot;jekyll github pages\&quot;,\&quot;github pages tutorial\&quot;,\&quot;jekyll hosting\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;December 27, 2025\&quot;,\n          image: \&quot;/assets/images/blog/deploy-jekyll-github-pages.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Free vs Premium Jekyll Themes: What&apos;s Actually Worth Paying For?\&quot;,\n          excerpt: \&quot;There are thousands of free Jekyll themes on GitHub. So why would anyone pay for one? The honest answer: it depends on what you need. This post breaks down w...\&quot;,\n          url: \&quot;/themes/2025/12/22/free-vs-premium-jekyll-themes/\&quot;,\n          tags: [\&quot;free jekyll themes\&quot;,\&quot;premium jekyll themes\&quot;,\&quot;jekyll theme comparison\&quot;,\&quot;buy jekyll theme\&quot;],\n          category: \&quot;Themes\&quot;,\n          date: \&quot;December 22, 2025\&quot;,\n          image: \&quot;/assets/images/blog/free-vs-premium-jekyll-themes.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll SEO Guide: How to Rank Higher on Google\&quot;,\n          excerpt: \&quot;Jekyll gives you a significant SEO head start over WordPress  no bloated plugins, no slow database queries, and near-perfect Core Web Vitals out of the box....\&quot;,\n          url: \&quot;/seo/2025/12/16/jekyll-seo-guide/\&quot;,\n          tags: [\&quot;jekyll seo\&quot;,\&quot;seo for jekyll\&quot;,\&quot;jekyll meta tags\&quot;,\&quot;jekyll sitemap\&quot;,\&quot;static site seo\&quot;],\n          category: \&quot;SEO\&quot;,\n          date: \&quot;December 16, 2025\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-seo-guide.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Migrate from WordPress to Jekyll (Complete Guide)\&quot;,\n          excerpt: \&quot;Moving from WordPress to Jekyll is one of the most common migrations in the static site world  and for good reason. Jekyll sites are faster, cheaper to host...\&quot;,\n          url: \&quot;/tutorial/2025/12/11/migrate-wordpress-to-jekyll/\&quot;,\n          tags: [\&quot;wordpress to jekyll\&quot;,\&quot;migrate wordpress jekyll\&quot;,\&quot;jekyll migration\&quot;,\&quot;static site migration\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;December 11, 2025\&quot;,\n          image: \&quot;/assets/images/blog/migrate-wordpress-to-jekyll.webp\&quot;\n        },\n        \n        {\n          title: \&quot;25 Common Jekyll Errors and How to Fix Them Fast\&quot;,\n          excerpt: \&quot;Jekyll errors can stop your build dead in its tracks. Whether you are setting up for the first time or have been running Jekyll for years, these errors show ...\&quot;,\n          url: \&quot;/tutorial/2025/12/05/common-jekyll-errors/\&quot;,\n          tags: [\&quot;jekyll errors\&quot;,\&quot;jekyll troubleshooting\&quot;,\&quot;jekyll build errors\&quot;,\&quot;jekyll fix\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;December 5, 2025\&quot;,\n          image: \&quot;/assets/images/blog/common-jekyll-errors.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Theme Setup Tutorial: Complete Walkthrough (2026)\&quot;,\n          excerpt: \&quot;This tutorial walks you through the complete process of setting up a Jekyll theme  from a blank machine to a fully configured, live website. No prior Jekyll...\&quot;,\n          url: \&quot;/tutorial/2025/11/30/jekyll-theme-setup-tutorial/\&quot;,\n          tags: [\&quot;jekyll theme setup\&quot;,\&quot;jekyll tutorial\&quot;,\&quot;jekyll configuration\&quot;,\&quot;github pages\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;November 30, 2025\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-theme-setup-tutorial.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Blog Setup Guide: From Zero to Live in 30 Minutes (2026)\&quot;,\n          excerpt: \&quot;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, ...\&quot;,\n          url: \&quot;/tutorial/2025/11/25/jekyll-blog-setup-guide/\&quot;,\n          tags: [\&quot;jekyll blog\&quot;,\&quot;jekyll setup\&quot;,\&quot;github pages\&quot;,\&quot;beginner guide\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;November 25, 2025\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-blog-setup-guide.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Best Jekyll Themes for a Portfolio Website (2026)\&quot;,\n          excerpt: \&quot;A portfolio is one of the best use cases for Jekyll. Static files load instantly, hosting is free on GitHub Pages, and the result looks as good as any dynami...\&quot;,\n          url: \&quot;/roundup/2025/11/19/jekyll-theme-portfolio-website/\&quot;,\n          tags: [\&quot;jekyll portfolio theme\&quot;,\&quot;portfolio website\&quot;,\&quot;jekyll themes\&quot;,\&quot;developer portfolio\&quot;],\n          category: \&quot;Roundup\&quot;,\n          date: \&quot;November 19, 2025\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-portfolio-themes.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll vs Hugo: Full Comparison for 2026 (Themes, Speed, Hosting)\&quot;,\n          excerpt: \&quot;Jekyll and Hugo are the two most popular static site generators. Both produce fast, secure static websites  but they approach it differently. This compariso...\&quot;,\n          url: \&quot;/comparison/2025/11/14/jekyll-vs-hugo-themes/\&quot;,\n          tags: [\&quot;jekyll vs hugo\&quot;,\&quot;static site generators\&quot;,\&quot;jekyll themes\&quot;,\&quot;hugo themes\&quot;,\&quot;github pages\&quot;],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;November 14, 2025\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-hugo-themes.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Best Static Site Themes in 2026 (Jekyll, Hugo &amp; Eleventy)\&quot;,\n          excerpt: \&quot;Static site generators have matured into a serious alternative to WordPress and other CMS platforms. Jekyll, Hugo, and Eleventy each have strong theme ecosys...\&quot;,\n          url: \&quot;/roundup/2025/11/08/best-static-site-themes/\&quot;,\n          tags: [\&quot;static site themes\&quot;,\&quot;best jekyll themes\&quot;,\&quot;hugo themes\&quot;,\&quot;eleventy themes\&quot;],\n          category: \&quot;Roundup\&quot;,\n          date: \&quot;November 8, 2025\&quot;,\n          image: \&quot;/assets/images/blog/best-static-site-themes.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Jekyll Theme vs WordPress Theme: Which Should You Choose in 2026?\&quot;,\n          excerpt: \&quot;Choosing between Jekyll and WordPress is one of the most common decisions developers and bloggers face. Both power millions of websites  but they are fundam...\&quot;,\n          url: \&quot;/comparison/2025/11/03/jekyll-theme-vs-wordpress-theme/\&quot;,\n          tags: [\&quot;jekyll vs wordpress\&quot;,\&quot;static site vs cms\&quot;,\&quot;jekyll theme\&quot;,\&quot;wordpress theme\&quot;],\n          category: \&quot;Comparison\&quot;,\n          date: \&quot;November 3, 2025\&quot;,\n          image: \&quot;/assets/images/blog/jekyll-vs-wordpress.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Change Your Jekyll Theme (Without Losing Content)\&quot;,\n          excerpt: \&quot;Changing a Jekyll theme is straightforward if you follow the right steps. The key is understanding what belongs to the theme and what belongs to your content...\&quot;,\n          url: \&quot;/tutorial/2025/10/28/how-to-change-jekyll-theme/\&quot;,\n          tags: [\&quot;change jekyll theme\&quot;,\&quot;switch jekyll theme\&quot;,\&quot;jekyll migration\&quot;,\&quot;tutorial\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;October 28, 2025\&quot;,\n          image: \&quot;/assets/images/blog/how-to-change-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;GitHub Pages Jekyll Theme: Complete Setup Guide (2026)\&quot;,\n          excerpt: \&quot;GitHub Pages is the most popular way to host a Jekyll site  it’s free, integrates directly with your repository, and rebuilds automatically on every push. T...\&quot;,\n          url: \&quot;/tutorial/2025/10/23/github-pages-jekyll-theme/\&quot;,\n          tags: [\&quot;github pages\&quot;,\&quot;jekyll theme\&quot;,\&quot;github pages jekyll\&quot;,\&quot;tutorial\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;October 23, 2025\&quot;,\n          image: \&quot;/assets/images/blog/github-pages-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Customize a Jekyll Theme (Complete Guide 2026)\&quot;,\n          excerpt: \&quot;Customizing a Jekyll theme doesn’t mean editing the theme files directly  that approach breaks every time you update the theme. The right way is to use Jeky...\&quot;,\n          url: \&quot;/tutorial/2025/10/17/how-to-customize-jekyll-theme/\&quot;,\n          tags: [\&quot;customize jekyll theme\&quot;,\&quot;jekyll scss\&quot;,\&quot;jekyll layouts\&quot;,\&quot;tutorial\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;October 17, 2025\&quot;,\n          image: \&quot;/assets/images/blog/how-to-customize-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;How to Install a Jekyll Theme (Step-by-Step Guide for 2026)\&quot;,\n          excerpt: \&quot;Installing a Jekyll theme is one of the first things you will do when building a static site. Whether you are using GitHub Pages, a local Jekyll setup, or de...\&quot;,\n          url: \&quot;/tutorial/2025/10/12/how-to-install-jekyll-theme/\&quot;,\n          tags: [\&quot;install jekyll theme\&quot;,\&quot;jekyll setup\&quot;,\&quot;github pages\&quot;,\&quot;tutorial\&quot;],\n          category: \&quot;Tutorial\&quot;,\n          date: \&quot;October 12, 2025\&quot;,\n          image: \&quot;/assets/images/blog/how-to-install-jekyll-theme.webp\&quot;\n        },\n        \n        {\n          title: \&quot;Best Free Jekyll Themes for GitHub Pages (2026)\&quot;,\n          excerpt: \&quot;GitHub Pages is the easiest way to host a Jekyll site  free, reliable, and zero configuration. The catch is that it only supports a whitelist of plugins and...\&quot;,\n          url: \&quot;/blog/2025/10/06/free-jekyll-themes-github-pages/\&quot;,\n          tags: [\&quot;free jekyll themes\&quot;,\&quot;github pages\&quot;,\&quot;open source\&quot;],\n          category: \&quot;Blog\&quot;,\n          date: \&quot;October 6, 2025\&quot;,\n          image: \&quot;/assets/images/blog/free-jekyll-themes-github-pages.webp\&quot;\n        },\n        \n        {\n          title: \&quot;35 Best Jekyll Themes for 2026 (Free + Premium)\&quot;,\n          excerpt: \&quot;Jekyll remains one of the most reliable static site generators in 2026  fast, GitHub Pages native, and backed by a thriving theme ecosystem. Whether you are...\&quot;,\n          url: \&quot;/blog/2025/10/01/best-jekyll-themes-2026/\&quot;,\n          tags: [\&quot;jekyll themes\&quot;,\&quot;best themes\&quot;,\&quot;free themes\&quot;,\&quot;premium themes\&quot;],\n          category: \&quot;Blog\&quot;,\n          date: \&quot;October 1, 2025\&quot;,\n          image: \&quot;/assets/images/blog/best-jekyll-themes-2026.webp\&quot;\n        }\n        \n      ],\n      testimonials: [\n        \n        {\n          name:   \&quot;Sarah Reynolds\&quot;,\n          role:   \&quot;Freelance Developer\&quot;,\n          rating: 5,\n          quote:  \&quot;Found the perfect portfolio theme in minutes. Clean code, well documented, and looks stunning out of the box. Saved me days of work.\&quot;\n        },\n        \n        {\n          name:   \&quot;Marcus Thornton\&quot;,\n          role:   \&quot;Full-Stack Engineer\&quot;,\n          rating: 5,\n          quote:  \&quot;Switched from WordPress and couldn&apos;t be happier. The themes here are modern, fast, and actually work with Jekyll without hacks.\&quot;\n        },\n        \n        {\n          name:   \&quot;James Kowalski\&quot;,\n          role:   \&quot;Open Source Maintainer\&quot;,\n          rating: 5,\n          quote:  \&quot;The documentation theme I picked made my open source project look incredibly professional. My users noticed the difference immediately.\&quot;\n        },\n        \n        {\n          name:   \&quot;Aisha Langford\&quot;,\n          role:   \&quot;Technical Writer\&quot;,\n          rating: 4.5,\n          quote:  \&quot;Great selection of blog themes. I launched my personal blog in an afternoon  setup was painless and the design is exactly what I wanted.\&quot;\n        },\n        \n        {\n          name:   \&quot;David Carver\&quot;,\n          role:   \&quot;Product Designer\&quot;,\n          rating: 4,\n          quote:  \&quot;Really impressed by the quality. The premium theme I bought had more features than themes costing 3× the price on other marketplaces.\&quot;\n        },\n        \n        {\n          name:   \&quot;Nina Patel\&quot;,\n          role:   \&quot;UX Designer\&quot;,\n          rating: 5,\n          quote:  \&quot;Finally a Jekyll marketplace that takes design seriously. Every theme looks hand-crafted, not like a generic template with the colours swapped.\&quot;\n        },\n        \n        {\n          name:   \&quot;Tom Whitfield\&quot;,\n          role:   \&quot;Indie Hacker\&quot;,\n          rating: 5,\n          quote:  \&quot;Launched my SaaS landing page using a JekyllHub theme. Got compliments on the design before I even launched the product.\&quot;\n        },\n        \n        {\n          name:   \&quot;Elena Marchetti\&quot;,\n          role:   \&quot;Academic Researcher\&quot;,\n          rating: 4.5,\n          quote:  \&quot;The academic theme I found here is exactly what my lab website needed  clean, fast, and easy for non-technical colleagues to update.\&quot;\n        },\n        \n        {\n          name:   \&quot;Ryan Summers\&quot;,\n          role:   \&quot;Backend Developer\&quot;,\n          rating: 4.5,\n          quote:  \&quot;I&apos;m not a designer but my site looks like I am. The theme was drop-in ready and the customisation was straightforward.\&quot;\n        }\n        \n      ]\n    };\n  &lt;/script&gt;\n\n    &lt;main id=\&quot;main-content\&quot;&gt;\n    &lt;div class=\&quot;read-progress\&quot; id=\&quot;read-progress\&quot;&gt;&lt;/div&gt;\n\n&lt;article class=\&quot;post\&quot; itemscope itemtype=\&quot;https://schema.org/BlogPosting\&quot;&gt;\n\n  &lt;header class=\&quot;post-hero\&quot;&gt;\n    &lt;div class=\&quot;container\&quot;&gt;\n      &lt;div class=\&quot;post-hero__breadcrumb\&quot;&gt;\n        &lt;a href=\&quot;/\&quot;&gt;Home&lt;/a&gt;\n        &lt;span class=\&quot;breadcrumb-sep\&quot;&gt;›&lt;/span&gt;\n        &lt;a href=\&quot;/blog/\&quot;&gt;Blog&lt;/a&gt;\n        &lt;span class=\&quot;breadcrumb-sep\&quot;&gt;›&lt;/span&gt;\n        &lt;span&gt;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)&lt;/span&gt;\n      &lt;/div&gt;\n\n      &lt;div class=\&quot;post-hero__inner\&quot;&gt;\n        \n        &lt;span class=\&quot;post-hero__cat\&quot;&gt;Themes&lt;/span&gt;\n        \n\n        &lt;h1 class=\&quot;post-hero__title\&quot; itemprop=\&quot;name\&quot;&gt;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)&lt;/h1&gt;\n\n        \n        &lt;p class=\&quot;post-hero__desc\&quot; itemprop=\&quot;description\&quot;&gt;The best minimal Jekyll themes for blogs, portfolios, and personal sites  clean typography, fast load times, and zero visual clutter.&lt;/p&gt;\n        \n\n        &lt;div class=\&quot;post-hero__meta\&quot;&gt;\n          &lt;span class=\&quot;post-meta-item\&quot;&gt;\n            &lt;svg width=\&quot;15\&quot; height=\&quot;15\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\&quot;/&gt;&lt;/svg&gt;\n            Updated &lt;time itemprop=\&quot;dateModified\&quot; datetime=\&quot;2026-07-05T00:00:00+00:00\&quot;&gt;July 5, 2026&lt;/time&gt;\n          &lt;/span&gt;\n\n          &lt;span class=\&quot;post-meta-item\&quot;&gt;\n            &lt;svg width=\&quot;15\&quot; height=\&quot;15\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z\&quot;/&gt;&lt;/svg&gt;\n            4 min read\n          &lt;/span&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/header&gt;\n\n  \n  &lt;div class=\&quot;post-cover\&quot;&gt;\n    &lt;div class=\&quot;container\&quot;&gt;\n      &lt;img src=\&quot;/assets/images/blog/jekyll-minimal-themes.webp\&quot; alt=\&quot;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)\&quot; class=\&quot;post-cover__img\&quot; itemprop=\&quot;image\&quot;&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  \n\n  &lt;div class=\&quot;container\&quot;&gt;\n    &lt;div class=\&quot;post-body\&quot;&gt;\n      &lt;div class=\&quot;post-body__main\&quot;&gt;\n        \n        &lt;div class=\&quot;post-toc\&quot; id=\&quot;post-toc\&quot; data-collapsed=\&quot;false\&quot; style=\&quot;display:none\&quot;&gt;\n          &lt;button class=\&quot;post-toc__label\&quot; id=\&quot;toc-toggle\&quot; aria-expanded=\&quot;false\&quot; aria-controls=\&quot;toc-body\&quot;&gt;\n            &lt;span class=\&quot;post-toc__label-left\&quot;&gt;\n              &lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M4 6h16M4 10h16M4 14h10\&quot;/&gt;&lt;/svg&gt;\n              Table of Contents\n            &lt;/span&gt;\n            &lt;svg class=\&quot;post-toc__chevron\&quot; width=\&quot;14\&quot; height=\&quot;14\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M19 9l-7 7-7-7\&quot;/&gt;&lt;/svg&gt;\n          &lt;/button&gt;\n          &lt;nav id=\&quot;toc-body\&quot; class=\&quot;toc\&quot;&gt;&lt;/nav&gt;\n        &lt;/div&gt;\n        \n\n        &lt;div class=\&quot;prose\&quot; itemprop=\&quot;articleBody\&quot;&gt;\n          &lt;p&gt;Minimal themes are the most popular category in the Jekyll ecosystem  and for good reason. A minimal design puts the focus on your content, loads in milliseconds, and never goes out of style. Here are the best minimal Jekyll themes in 2026.&lt;/p&gt;\n\n&lt;h2 id=\&quot;what-makes-a-theme-truly-minimal\&quot;&gt;What makes a theme truly minimal?&lt;/h2&gt;\n\n&lt;p&gt;A minimal Jekyll theme is not just a theme with less CSS. The best ones share a few key characteristics:&lt;/p&gt;\n\n&lt;ul&gt;\n  &lt;li&gt;&lt;strong&gt;Typography-first&lt;/strong&gt;  the reading experience is the design&lt;/li&gt;\n  &lt;li&gt;&lt;strong&gt;No unnecessary widgets&lt;/strong&gt;  no popups, cookie banners, social share floods, or autoplay anything&lt;/li&gt;\n  &lt;li&gt;&lt;strong&gt;Fast by default&lt;/strong&gt;  no large hero images, no heavy JavaScript frameworks&lt;/li&gt;\n  &lt;li&gt;&lt;strong&gt;Easy to customise&lt;/strong&gt;  minimal markup means less to override&lt;/li&gt;\n  &lt;li&gt;&lt;strong&gt;Responsive&lt;/strong&gt;  works perfectly on mobile without a complex grid system&lt;/li&gt;\n&lt;/ul&gt;\n\n&lt;h2 id=\&quot;best-free-minimal-jekyll-themes\&quot;&gt;Best free minimal Jekyll themes&lt;/h2&gt;\n\n&lt;h3 id=\&quot;minima\&quot;&gt;Minima&lt;/h3&gt;\n\n&lt;p&gt;The default Jekyll theme and arguably the most used Jekyll theme in existence. Minima ships with every new Jekyll install. It is bare-bones by design: clean typography, a simple nav, an archive list, and not much else.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Getting started, technical blogs, personal sites where content is everything.&lt;br /&gt;\n&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href=\&quot;https://github.com/jekyll/minima\&quot;&gt;jekyll/minima&lt;/a&gt;  3,000+ stars&lt;/p&gt;\n\n&lt;h3 id=\&quot;klise\&quot;&gt;Klise&lt;/h3&gt;\n\n&lt;p&gt;Klise is a minimal, high contrast Jekyll theme with dark mode support. It focuses entirely on readability  clean sans-serif type, generous line height, and a subtle dark/light toggle. No hero, no sidebar, no decorative elements.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Developer blogs, writing-focused sites.&lt;br /&gt;\n&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href=\&quot;https://github.com/piharpi/jekyll-klise\&quot;&gt;piharpi/jekyll-klise&lt;/a&gt;  800+ stars&lt;/p&gt;\n\n&lt;h3 id=\&quot;chirpy\&quot;&gt;Chirpy&lt;/h3&gt;\n\n&lt;p&gt;Chirpy is minimal but feature-complete. It adds a left sidebar with categories and tags, a table of contents that follows the reader, and dark mode  all without visual noise. The design is calm and professional.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Technical blogs that need categories and navigation without sacrificing simplicity.&lt;br /&gt;\n&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href=\&quot;https://github.com/cotes2020/jekyll-theme-chirpy\&quot;&gt;cotes2020/jekyll-theme-chirpy&lt;/a&gt;  8,000+ stars&lt;/p&gt;\n\n&lt;h3 id=\&quot;no-style-please\&quot;&gt;No Style Please!&lt;/h3&gt;\n\n&lt;p&gt;Exactly what the name says. This theme applies almost no CSS  content renders in the browser’s default styles. Intentionally ugly, intentionally fast. Popular in the indie web and “small web” communities.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Experimental sites, writers who want the ultimate zero-distraction canvas.&lt;br /&gt;\n&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href=\&quot;https://github.com/riggraz/no-style-please\&quot;&gt;riggraz/no-style-please&lt;/a&gt;  800+ stars&lt;/p&gt;\n\n&lt;h3 id=\&quot;so-simple\&quot;&gt;So Simple&lt;/h3&gt;\n\n&lt;p&gt;A simple-is-better theme with a single-column layout, large readable type, and support for author profiles. The name is accurate. It is maintained by Michael Rose, who also built the excellent Minimal Mistakes theme.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Personal sites, writing portfolios, minimalist blogs.&lt;/p&gt;\n\n&lt;h3 id=\&quot;researcher\&quot;&gt;Researcher&lt;/h3&gt;\n\n&lt;p&gt;Researcher is built for academic and research professionals who want a clean, no-frills presence online. It outputs a single-page site with sections for bio, publications, and projects. Nothing more.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Academics, PhD students, researchers, scientists.&lt;br /&gt;\n&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href=\&quot;https://github.com/ankitsultana/researcher\&quot;&gt;ankitsultana/researcher&lt;/a&gt;&lt;/p&gt;\n\n&lt;h2 id=\&quot;what-to-look-for-when-choosing-a-minimal-theme\&quot;&gt;What to look for when choosing a minimal theme&lt;/h2&gt;\n\n&lt;p&gt;&lt;strong&gt;Typography:&lt;/strong&gt; Check the font pairing, line height, and measure (line length). The ideal measure for body text is 50–75 characters per line. If the theme stretches text full-width on desktop, skip it.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Dark mode:&lt;/strong&gt; In 2026, dark mode is expected. Look for themes with a clean system-respecting dark mode rather than a garish inverted palette.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Performance:&lt;/strong&gt; Open the theme’s demo in PageSpeed Insights. A good minimal theme should score 95+ on mobile without any optimisation from you.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Front matter support:&lt;/strong&gt; Check what fields the theme supports: &lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;description&lt;/code&gt;, &lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;image&lt;/code&gt;, &lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;author&lt;/code&gt;, &lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;toc&lt;/code&gt;. Themes that support rich front matter give you more flexibility as your site grows.&lt;/p&gt;\n\n&lt;h2 id=\&quot;premium-minimal-options\&quot;&gt;Premium minimal options&lt;/h2&gt;\n\n&lt;p&gt;Free minimal themes are excellent, but if you want something more refined  custom typography, polished dark mode, better SEO defaults, and actual support  a premium theme is worth considering.&lt;/p&gt;\n\n&lt;p&gt;Browse &lt;a href=\&quot;/themes/?category=Blog\&quot;&gt;minimal Jekyll themes on JekyllHub&lt;/a&gt; to compare free and premium options side by side.&lt;/p&gt;\n\n&lt;h2 id=\&quot;the-right-amount-of-minimal\&quot;&gt;The right amount of minimal&lt;/h2&gt;\n\n&lt;p&gt;“Minimal” is not the same as “unfinished.” The best minimal themes are the result of careful design decisions  every element has a reason to be there, and everything unnecessary has been removed. They are not lazy; they are deliberate.&lt;/p&gt;\n\n&lt;p&gt;When you find the right one, you will spend your time writing. That is the point.&lt;/p&gt;\n\n        &lt;/div&gt;\n\n        \n        &lt;div class=\&quot;post-tags\&quot;&gt;\n          \n        &lt;/div&gt;\n        \n\n        &lt;div class=\&quot;post-share\&quot;&gt;\n          &lt;span class=\&quot;post-share__label\&quot;&gt;Share&lt;/span&gt;\n          &lt;a href=\&quot;https://twitter.com/intent/tweet?url=https%3A%2F%2Fjekyllhub.com%2Fthemes%2F2026%2F05%2F20%2Fjekyll-minimal-themes%2F&amp;text=Best+Minimal+Jekyll+Themes+in+2026+%28Clean%2C+Fast%2C+Distraction-Free%29\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener\&quot; class=\&quot;post-share__btn post-share__btn--twitter\&quot;&gt;\n            &lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; viewBox=\&quot;0 0 24 24\&quot; fill=\&quot;currentColor\&quot;&gt;&lt;path d=\&quot;M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z\&quot;/&gt;&lt;/svg&gt;\n            X / Twitter\n          &lt;/a&gt;\n          &lt;a href=\&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A%2F%2Fjekyllhub.com%2Fthemes%2F2026%2F05%2F20%2Fjekyll-minimal-themes%2F&amp;title=Best+Minimal+Jekyll+Themes+in+2026+%28Clean%2C+Fast%2C+Distraction-Free%29\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener\&quot; class=\&quot;post-share__btn post-share__btn--linkedin\&quot;&gt;\n            &lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; viewBox=\&quot;0 0 24 24\&quot; fill=\&quot;currentColor\&quot;&gt;&lt;path d=\&quot;M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\&quot;/&gt;&lt;/svg&gt;\n            LinkedIn\n          &lt;/a&gt;\n          &lt;button class=\&quot;post-share__btn post-share__btn--copy\&quot; onclick=\&quot;JekyllHub.copyPostLink(this)\&quot;&gt;\n            &lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\&quot;/&gt;&lt;/svg&gt;\n            &lt;span&gt;Copy Link&lt;/span&gt;\n          &lt;/button&gt;\n        &lt;/div&gt;\n\n        \n\n        &lt;nav class=\&quot;post-nav\&quot; aria-label=\&quot;Post navigation\&quot;&gt;\n          &lt;div class=\&quot;post-nav__prev\&quot;&gt;\n            \n            &lt;a href=\&quot;/comparison/2026/05/19/jekyll-vs-nextjs/\&quot; class=\&quot;post-nav__link\&quot;&gt;\n              &lt;span class=\&quot;post-nav__label\&quot;&gt;← Previous&lt;/span&gt;\n              &lt;span class=\&quot;post-nav__title\&quot;&gt;Jekyll vs Next.js: A Practical Comparison for 2026&lt;/span&gt;\n            &lt;/a&gt;\n            \n          &lt;/div&gt;\n          &lt;div class=\&quot;post-nav__center\&quot;&gt;\n            &lt;a href=\&quot;/blog/\&quot; class=\&quot;btn btn--secondary btn--sm\&quot;&gt;All Posts&lt;/a&gt;\n          &lt;/div&gt;\n          &lt;div class=\&quot;post-nav__next\&quot;&gt;\n            \n            &lt;a href=\&quot;/tutorial/2026/05/21/jekyll-liquid-filters-cheatsheet/\&quot; class=\&quot;post-nav__link post-nav__link--next\&quot;&gt;\n              &lt;span class=\&quot;post-nav__label\&quot;&gt;Next →&lt;/span&gt;\n              &lt;span class=\&quot;post-nav__title\&quot;&gt;Jekyll Liquid Filters: The Complete Cheatsheet (2026)&lt;/span&gt;\n            &lt;/a&gt;\n            \n          &lt;/div&gt;\n        &lt;/nav&gt;\n      &lt;/div&gt;\n\n      &lt;aside class=\&quot;post-body__sidebar\&quot;&gt;\n        &lt;div class=\&quot;sidebar-card\&quot;&gt;\n          &lt;h3 class=\&quot;sidebar-card__title\&quot;&gt;Browse Themes&lt;/h3&gt;\n          &lt;ul class=\&quot;post-sidebar__links\&quot;&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-academic-themes/\&quot;&gt;🎓 Academic Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-blog-themes/\&quot;&gt;✍️ Blog Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-business-themes/\&quot;&gt;💼 Business Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-documentation-themes/\&quot;&gt;📚 Documentation Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-e-commerce-themes/\&quot;&gt;🛒 E-commerce Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-landing-page-themes/\&quot;&gt;🚀 Landing Page Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-personal-themes/\&quot;&gt;👤 Personal Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-portfolio-themes/\&quot;&gt;🎨 Portfolio Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-resume-cv-themes/\&quot;&gt;📄 Resume/CV Themes&lt;/a&gt;&lt;/li&gt;\n            \n            &lt;li&gt;&lt;a href=\&quot;/jekyll-github-pages-themes/\&quot;&gt;&lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; viewBox=\&quot;0 0 24 24\&quot; fill=\&quot;currentColor\&quot; style=\&quot;display:inline;vertical-align:middle;margin-right:4px\&quot;&gt;&lt;path d=\&quot;M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z\&quot;/&gt;&lt;/svg&gt;GitHub Pages Themes&lt;/a&gt;&lt;/li&gt;\n          &lt;/ul&gt;\n          &lt;a href=\&quot;/themes/\&quot; class=\&quot;btn btn--primary btn--full\&quot; style=\&quot;margin-top:var(--space-5)\&quot;&gt;Browse All Themes →&lt;/a&gt;\n        &lt;/div&gt;\n\n        &lt;div class=\&quot;sidebar-card\&quot; style=\&quot;margin-top:var(--space-6)\&quot;&gt;\n          &lt;h3 class=\&quot;sidebar-card__title\&quot;&gt;Submit Your Theme&lt;/h3&gt;\n          &lt;p style=\&quot;font-size:0.875rem;color:var(--text-3);line-height:1.6;margin-bottom:var(--space-4)\&quot;&gt;Built a Jekyll theme? Share it with thousands of developers.&lt;/p&gt;\n          &lt;a href=\&quot;/submit/\&quot; class=\&quot;btn btn--secondary btn--full\&quot;&gt;Submit a Theme →&lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/aside&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;!-- Related Themes  rendered by JS from SITE_DATA, shuffled per page load --&gt;\n\n  \n\n  \n  &lt;section class=\&quot;post-related-themes\&quot; style=\&quot;display:none\&quot;&gt;\n    &lt;div class=\&quot;container\&quot;&gt;\n      &lt;h2 class=\&quot;post-related-themes__title\&quot;&gt;Themes You Might Like&lt;/h2&gt;\n      &lt;div class=\&quot;themes-grid themes-grid--4\&quot; id=\&quot;post-related-themes-grid\&quot;\n           data-tags=\&quot;[]\&quot;\n           data-related-category=\&quot;Blog\&quot;&gt;&lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/section&gt;\n  \n\n&lt;/article&gt;\n\n&lt;!-- Back to top --&gt;\n&lt;button class=\&quot;back-to-top\&quot; id=\&quot;back-to-top\&quot; aria-label=\&quot;Back to top\&quot; onclick=\&quot;window.scrollTo({top:0,behavior:&apos;smooth&apos;})\&quot;&gt;\n  &lt;svg fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n    &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2.5\&quot; d=\&quot;M5 15l7-7 7 7\&quot;/&gt;\n  &lt;/svg&gt;\n&lt;/button&gt;\n&lt;script src=\&quot;/assets/js/post.js\&quot; defer&gt;&lt;/script&gt;\n\n  &lt;/main&gt;\n\n  &lt;footer class=\&quot;footer\&quot;&gt;\n  &lt;div class=\&quot;container\&quot;&gt;\n    &lt;div class=\&quot;footer__grid\&quot;&gt;\n      &lt;!-- Brand --&gt;\n      &lt;div class=\&quot;footer__brand\&quot;&gt;\n        &lt;a href=\&quot;/\&quot; class=\&quot;footer__logo\&quot;&gt;\n          &lt;svg width=\&quot;28\&quot; height=\&quot;28\&quot; viewBox=\&quot;0 0 32 32\&quot; fill=\&quot;none\&quot;&gt;\n            &lt;rect width=\&quot;32\&quot; height=\&quot;32\&quot; rx=\&quot;9\&quot; fill=\&quot;#2563EB\&quot;/&gt;\n            &lt;path d=\&quot;M19 8h-6v1h5v10c0 2.2-1.8 4-4 4s-4-1.8-4-4v-1H9v1c0 2.76 2.24 5 5 5s5-2.24 5-5V8z\&quot; fill=\&quot;white\&quot;/&gt;\n            &lt;circle cx=\&quot;23\&quot; cy=\&quot;9\&quot; r=\&quot;2.5\&quot; fill=\&quot;#F0C94B\&quot;/&gt;\n          &lt;/svg&gt;\n          Jekyll&lt;span style=\&quot;color:var(--color-brand)\&quot;&gt;Hub&lt;/span&gt;\n        &lt;/a&gt;\n        &lt;p class=\&quot;footer__tagline\&quot;&gt;The premier marketplace for Jekyll themes. Build something beautiful.&lt;/p&gt;\n        &lt;div class=\&quot;footer__social\&quot;&gt;\n          &lt;a href=\&quot;https://github.com/jekyllhub\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener\&quot; aria-label=\&quot;GitHub\&quot;&gt;\n            &lt;svg width=\&quot;18\&quot; height=\&quot;18\&quot; fill=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot; aria-hidden=\&quot;true\&quot;&gt;&lt;path d=\&quot;M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z\&quot;/&gt;&lt;/svg&gt;\n\n          &lt;/a&gt;\n          &lt;a href=\&quot;https://twitter.com/jekyllhub\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener\&quot; aria-label=\&quot;Twitter\&quot;&gt;\n            &lt;svg width=\&quot;18\&quot; height=\&quot;18\&quot; fill=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path d=\&quot;M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z\&quot;/&gt;&lt;/svg&gt;\n          &lt;/a&gt;\n          &lt;a href=\&quot;/feed.xml\&quot; aria-label=\&quot;RSS Feed\&quot;&gt;\n            &lt;svg width=\&quot;18\&quot; height=\&quot;18\&quot; fill=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;&lt;path d=\&quot;M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z\&quot;/&gt;&lt;/svg&gt;\n          &lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n\n      &lt;!-- Explore --&gt;\n      &lt;div class=\&quot;footer__col\&quot;&gt;\n        &lt;h3 class=\&quot;footer__heading\&quot;&gt;Explore&lt;/h3&gt;\n        &lt;ul class=\&quot;footer__links\&quot; role=\&quot;list\&quot;&gt;\n          &lt;li&gt;&lt;a href=\&quot;/themes/\&quot;&gt;All Themes&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/themes/?price=premium\&quot;&gt;Premium Themes&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/themes/?price=free\&quot;&gt;Free Themes&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/themes/?sort=newest\&quot;&gt;Newest&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/themes/?sort=updated\&quot;&gt;Recently Updated&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/themes/?featured=true\&quot;&gt;Featured&lt;/a&gt;&lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/div&gt;\n\n      &lt;!-- Categories --&gt;\n      &lt;div class=\&quot;footer__col\&quot;&gt;\n        &lt;h3 class=\&quot;footer__heading\&quot;&gt;Categories&lt;/h3&gt;\n        &lt;ul class=\&quot;footer__links\&quot; role=\&quot;list\&quot;&gt;\n          \n          &lt;li&gt;&lt;a href=\&quot;/jekyll-academic-themes/\&quot;&gt;Academic&lt;/a&gt;&lt;/li&gt;\n          \n          &lt;li&gt;&lt;a href=\&quot;/jekyll-blog-themes/\&quot;&gt;Blog&lt;/a&gt;&lt;/li&gt;\n          \n          &lt;li&gt;&lt;a href=\&quot;/jekyll-business-themes/\&quot;&gt;Business&lt;/a&gt;&lt;/li&gt;\n          \n          &lt;li&gt;&lt;a href=\&quot;/jekyll-documentation-themes/\&quot;&gt;Documentation&lt;/a&gt;&lt;/li&gt;\n          \n          &lt;li&gt;&lt;a href=\&quot;/jekyll-e-commerce-themes/\&quot;&gt;E-commerce&lt;/a&gt;&lt;/li&gt;\n          \n          &lt;li&gt;&lt;a href=\&quot;/jekyll-github-pages-themes/\&quot;&gt;GitHub Pages Themes&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/categories/\&quot;&gt;View all →&lt;/a&gt;&lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/div&gt;\n\n      &lt;!-- Resources --&gt;\n      &lt;div class=\&quot;footer__col\&quot;&gt;\n        &lt;h3 class=\&quot;footer__heading\&quot;&gt;Learn&lt;/h3&gt;\n        &lt;ul class=\&quot;footer__links\&quot; role=\&quot;list\&quot;&gt;\n          &lt;li&gt;&lt;a href=\&quot;/jekyll-resources/\&quot;&gt;Jekyll Resources&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/installation/\&quot;&gt;Installation Guide&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/submit/\&quot;&gt;Submit a Theme&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;https://jekyllrb.com\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener\&quot;&gt;Jekyll Docs&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/faq/\&quot;&gt;FAQ&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/authors/\&quot;&gt;Authors&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/about/\&quot;&gt;About&lt;/a&gt;&lt;/li&gt;\n          &lt;li&gt;&lt;a href=\&quot;/contact/\&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n\n    &lt;div class=\&quot;footer__bottom\&quot;&gt;\n      &lt;p class=\&quot;footer__copy\&quot;&gt;© 2026 JekyllHub. Built with ❤️ and &lt;a href=\&quot;https://jekyllrb.com\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener\&quot;&gt;Jekyll&lt;/a&gt;.&lt;/p&gt;\n      &lt;div class=\&quot;footer__legal\&quot;&gt;\n        &lt;a href=\&quot;/privacy/\&quot;&gt;Privacy&lt;/a&gt;\n        &lt;a href=\&quot;/terms/\&quot;&gt;Terms&lt;/a&gt;\n        &lt;a href=\&quot;/refunds/\&quot;&gt;Refunds&lt;/a&gt;\n        &lt;a href=\&quot;/sitemap.xml\&quot;&gt;Sitemap&lt;/a&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/footer&gt;\n\n\n  &lt;!-- Alpine.js  pinned to 3.13.5 for stability (handles mobile nav toggle) --&gt;\n  &lt;script defer src=\&quot;https://unpkg.com/alpinejs@3.13.5/dist/cdn.min.js\&quot;&gt;&lt;/script&gt;\n\n  &lt;!-- Main JS --&gt;\n  &lt;script src=\&quot;/assets/js/main.js\&quot;&gt;&lt;/script&gt;\n\n  &lt;!-- Page-specific scripts --&gt;\n  \n&lt;/body&gt;\n&lt;/html&gt;\n&quot;,
    &quot;content&quot;: &quot;&lt;p&gt;Minimal themes are the most popular category in the Jekyll ecosystem  and for good reason. A minimal design puts the focus on your content, loads in milliseconds, and never goes out of style. Here are the best minimal Jekyll themes in 2026.&lt;/p&gt;\n\n&lt;h2 id=\&quot;what-makes-a-theme-truly-minimal\&quot;&gt;What makes a theme truly minimal?&lt;/h2&gt;\n\n&lt;p&gt;A minimal Jekyll theme is not just a theme with less CSS. The best ones share a few key characteristics:&lt;/p&gt;\n\n&lt;ul&gt;\n  &lt;li&gt;&lt;strong&gt;Typography-first&lt;/strong&gt;  the reading experience is the design&lt;/li&gt;\n  &lt;li&gt;&lt;strong&gt;No unnecessary widgets&lt;/strong&gt;  no popups, cookie banners, social share floods, or autoplay anything&lt;/li&gt;\n  &lt;li&gt;&lt;strong&gt;Fast by default&lt;/strong&gt;  no large hero images, no heavy JavaScript frameworks&lt;/li&gt;\n  &lt;li&gt;&lt;strong&gt;Easy to customise&lt;/strong&gt;  minimal markup means less to override&lt;/li&gt;\n  &lt;li&gt;&lt;strong&gt;Responsive&lt;/strong&gt;  works perfectly on mobile without a complex grid system&lt;/li&gt;\n&lt;/ul&gt;\n\n&lt;h2 id=\&quot;best-free-minimal-jekyll-themes\&quot;&gt;Best free minimal Jekyll themes&lt;/h2&gt;\n\n&lt;h3 id=\&quot;minima\&quot;&gt;Minima&lt;/h3&gt;\n\n&lt;p&gt;The default Jekyll theme and arguably the most used Jekyll theme in existence. Minima ships with every new Jekyll install. It is bare-bones by design: clean typography, a simple nav, an archive list, and not much else.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Getting started, technical blogs, personal sites where content is everything.&lt;br /&gt;\n&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href=\&quot;https://github.com/jekyll/minima\&quot;&gt;jekyll/minima&lt;/a&gt;  3,000+ stars&lt;/p&gt;\n\n&lt;h3 id=\&quot;klise\&quot;&gt;Klise&lt;/h3&gt;\n\n&lt;p&gt;Klise is a minimal, high contrast Jekyll theme with dark mode support. It focuses entirely on readability  clean sans-serif type, generous line height, and a subtle dark/light toggle. No hero, no sidebar, no decorative elements.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Developer blogs, writing-focused sites.&lt;br /&gt;\n&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href=\&quot;https://github.com/piharpi/jekyll-klise\&quot;&gt;piharpi/jekyll-klise&lt;/a&gt;  800+ stars&lt;/p&gt;\n\n&lt;h3 id=\&quot;chirpy\&quot;&gt;Chirpy&lt;/h3&gt;\n\n&lt;p&gt;Chirpy is minimal but feature-complete. It adds a left sidebar with categories and tags, a table of contents that follows the reader, and dark mode  all without visual noise. The design is calm and professional.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Technical blogs that need categories and navigation without sacrificing simplicity.&lt;br /&gt;\n&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href=\&quot;https://github.com/cotes2020/jekyll-theme-chirpy\&quot;&gt;cotes2020/jekyll-theme-chirpy&lt;/a&gt;  8,000+ stars&lt;/p&gt;\n\n&lt;h3 id=\&quot;no-style-please\&quot;&gt;No Style Please!&lt;/h3&gt;\n\n&lt;p&gt;Exactly what the name says. This theme applies almost no CSS  content renders in the browser’s default styles. Intentionally ugly, intentionally fast. Popular in the indie web and “small web” communities.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Experimental sites, writers who want the ultimate zero-distraction canvas.&lt;br /&gt;\n&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href=\&quot;https://github.com/riggraz/no-style-please\&quot;&gt;riggraz/no-style-please&lt;/a&gt;  800+ stars&lt;/p&gt;\n\n&lt;h3 id=\&quot;so-simple\&quot;&gt;So Simple&lt;/h3&gt;\n\n&lt;p&gt;A simple-is-better theme with a single-column layout, large readable type, and support for author profiles. The name is accurate. It is maintained by Michael Rose, who also built the excellent Minimal Mistakes theme.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Personal sites, writing portfolios, minimalist blogs.&lt;/p&gt;\n\n&lt;h3 id=\&quot;researcher\&quot;&gt;Researcher&lt;/h3&gt;\n\n&lt;p&gt;Researcher is built for academic and research professionals who want a clean, no-frills presence online. It outputs a single-page site with sections for bio, publications, and projects. Nothing more.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Academics, PhD students, researchers, scientists.&lt;br /&gt;\n&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href=\&quot;https://github.com/ankitsultana/researcher\&quot;&gt;ankitsultana/researcher&lt;/a&gt;&lt;/p&gt;\n\n&lt;h2 id=\&quot;what-to-look-for-when-choosing-a-minimal-theme\&quot;&gt;What to look for when choosing a minimal theme&lt;/h2&gt;\n\n&lt;p&gt;&lt;strong&gt;Typography:&lt;/strong&gt; Check the font pairing, line height, and measure (line length). The ideal measure for body text is 50–75 characters per line. If the theme stretches text full-width on desktop, skip it.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Dark mode:&lt;/strong&gt; In 2026, dark mode is expected. Look for themes with a clean system-respecting dark mode rather than a garish inverted palette.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Performance:&lt;/strong&gt; Open the theme’s demo in PageSpeed Insights. A good minimal theme should score 95+ on mobile without any optimisation from you.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Front matter support:&lt;/strong&gt; Check what fields the theme supports: &lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;description&lt;/code&gt;, &lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;image&lt;/code&gt;, &lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;author&lt;/code&gt;, &lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;toc&lt;/code&gt;. Themes that support rich front matter give you more flexibility as your site grows.&lt;/p&gt;\n\n&lt;h2 id=\&quot;premium-minimal-options\&quot;&gt;Premium minimal options&lt;/h2&gt;\n\n&lt;p&gt;Free minimal themes are excellent, but if you want something more refined  custom typography, polished dark mode, better SEO defaults, and actual support  a premium theme is worth considering.&lt;/p&gt;\n\n&lt;p&gt;Browse &lt;a href=\&quot;/themes/?category=Blog\&quot;&gt;minimal Jekyll themes on JekyllHub&lt;/a&gt; to compare free and premium options side by side.&lt;/p&gt;\n\n&lt;h2 id=\&quot;the-right-amount-of-minimal\&quot;&gt;The right amount of minimal&lt;/h2&gt;\n\n&lt;p&gt;“Minimal” is not the same as “unfinished.” The best minimal themes are the result of careful design decisions  every element has a reason to be there, and everything unnecessary has been removed. They are not lazy; they are deliberate.&lt;/p&gt;\n\n&lt;p&gt;When you find the right one, you will spend your time writing. That is the point.&lt;/p&gt;\n&quot;,
    &quot;url&quot;: &quot;/themes/2026/05/20/jekyll-minimal-themes/&quot;,
    &quot;draft&quot;: false,
    &quot;categories&quot;: [
      &quot;Themes&quot;
    ],
    &quot;layout&quot;: &quot;post&quot;,
    &quot;title&quot;: &quot;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)&quot;,
    &quot;description&quot;: &quot;The best minimal Jekyll themes for blogs, portfolios, and personal sites  clean typography, fast load times, and zero visual clutter.&quot;,
    &quot;date&quot;: &quot;2026-05-20 00:00:00 +0000&quot;,
    &quot;last_modified_at&quot;: &quot;2026-07-05&quot;,
    &quot;image&quot;: &quot;/assets/images/blog/jekyll-minimal-themes.webp&quot;,
    &quot;author&quot;: &quot;Marcus Webb&quot;,
    &quot;category&quot;: &quot;Themes&quot;,
    &quot;featured&quot;: false,
    &quot;related_category&quot;: &quot;Blog&quot;,
    &quot;toc&quot;: true,
    &quot;slug&quot;: &quot;jekyll-minimal-themes&quot;,
    &quot;ext&quot;: &quot;.md&quot;,
    &quot;tags&quot;: [

    ]
  },
  &quot;id&quot;: &quot;/tutorial/2026/05/21/jekyll-liquid-filters-cheatsheet&quot;,
  &quot;collection&quot;: &quot;posts&quot;,
  &quot;next&quot;: {
    &quot;path&quot;: &quot;_posts/2026-05-22-jekyll-environment-variables.md&quot;,
    &quot;relative_path&quot;: &quot;_posts/2026-05-22-jekyll-environment-variables.md&quot;,
    &quot;excerpt&quot;: &quot;&lt;p&gt;Environment variables in Jekyll are simpler than you might expect  but also more limited than many developers assume coming from Node.js or Python. Here is everything you need to know.&lt;/p&gt;\n\n&quot;,
    &quot;previous&quot;: {
      &quot;path&quot;: &quot;_posts/2026-05-21-jekyll-liquid-filters-cheatsheet.md&quot;,
      &quot;relative_path&quot;: &quot;_posts/2026-05-21-jekyll-liquid-filters-cheatsheet.md&quot;,
      &quot;excerpt&quot;: &quot;&lt;p&gt;Liquid filters transform output in Jekyll templates. They are chained with the pipe character &lt;code class=\&quot;language-plaintext highlighter-rouge\&quot;&gt;|&lt;/code&gt; and applied to variables, strings, numbers, arrays, and dates. This cheatsheet covers every filter you will actually use, with real examples.&lt;/p&gt;\n\n&quot;,
      &quot;previous&quot;: {
        &quot;path&quot;: &quot;_posts/2026-05-20-jekyll-minimal-themes.md&quot;,
        &quot;relative_path&quot;: &quot;_posts/2026-05-20-jekyll-minimal-themes.md&quot;,
        &quot;id&quot;: &quot;/themes/2026/05/20/jekyll-minimal-themes&quot;,
        &quot;collection&quot;: &quot;posts&quot;,
        &quot;url&quot;: &quot;/themes/2026/05/20/jekyll-minimal-themes/&quot;,
        &quot;draft&quot;: false,
        &quot;categories&quot;: [
          &quot;Themes&quot;
        ],
        &quot;layout&quot;: &quot;post&quot;,
        &quot;title&quot;: &quot;Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)&quot;,
        &quot;description&quot;: &quot;The best minimal Jekyll themes for blogs, portfolios, and personal sites  clean typography, fast load times, and zero visual clutter.&quot;,
        &quot;date&quot;: &quot;2026-05-20 00:00:00 +0000&quot;,
        &quot;last_modified_at&quot;: &quot;2026-07-05&quot;,
        &quot;image&quot;: &quot;/assets/images/blog/jekyll-minimal-themes.webp&quot;,
        &quot;author&quot;: &quot;Marcus Webb&quot;,
        &quot;category&quot;: &quot;Themes&quot;,
        &quot;featured&quot;: false,
        &quot;related_category&quot;: &quot;Blog&quot;,
        &quot;toc&quot;: true,
        &quot;slug&quot;: &quot;jekyll-minimal-themes&quot;,
        &quot;ext&quot;: &quot;.md&quot;,
        &quot;tags&quot;: [

        ]
      },
      &quot;id&quot;: &quot;/tutorial/2026/05/21/jekyll-liquid-filters-cheatsheet&quot;,
      &quot;collection&quot;: &quot;posts&quot;,
      &quot;next&quot;: {
        &quot;path&quot;: &quot;_posts/2026-05-22-jekyll-environment-variables.md&quot;,
        &quot;relative_path&quot;: &quot;_posts/2026-05-22-jekyll-environment-variables.md&quot;,
        &quot;id&quot;: &quot;/tutorial/2026/05/22/jekyll-environment-variables&quot;,
        &quot;collection&quot;: &quot;posts&quot;,
        &quot;url&quot;: &quot;/tutorial/2026/05/22/jekyll-environment-variables/&quot;,
        &quot;draft&quot;: false,
        &quot;categories&quot;: [
          &quot;Tutorial&quot;
        ],
        &quot;layout&quot;: &quot;post&quot;,
        &quot;title&quot;: &quot;Jekyll Environment Variables: The Complete Guide&quot;,
        &quot;description&quot;: &quot;How to use environment variables in Jekyll  JEKYLL_ENV, accessing env vars in config, conditional builds, and best practices for managing secrets.&quot;,
        &quot;date&quot;: &quot;2026-05-22 00:00:00 +0000&quot;,
        &quot;last_modified_at&quot;: &quot;2026-07-07&quot;,
        &quot;image&quot;: &quot;/assets/images/blog/jekyll-environment-variables.webp&quot;,
        &quot;author&quot;: &quot;Marcus Webb&quot;,
        &quot;category&quot;: &quot;Tutorial&quot;,
        &quot;featured&quot;: false,
        &quot;related_category&quot;: &quot;Blog&quot;,
        &quot;toc&quot;: true,
        &quot;slug&quot;: &quot;jekyll-environment-variables&quot;,
        &quot;ext&quot;: &quot;.md&quot;,
        &quot;tags&quot;: [

        ]
      },
      &quot;output&quot;: null,
      &quot;content&quot;: &quot;Liquid filters transform output in Jekyll templates. They are chained with the pipe character `|` and applied to variables, strings, numbers, arrays, and dates. This cheatsheet covers every filter you will actually use, with real examples.\n\n## String filters\n\n### append and prepend\n\n```liquid\n{{ \&quot;Jekyll\&quot; | append: \&quot; Themes\&quot; }}\n&lt;!-- output: Jekyll Themes --&gt;\n\n{{ \&quot;Themes\&quot; | prepend: \&quot;Jekyll \&quot; }}\n&lt;!-- output: Jekyll Themes --&gt;\n```\n\n### upcase, downcase, capitalize\n\n```liquid\n{{ \&quot;hello world\&quot; | upcase }}\n&lt;!-- output: HELLO WORLD --&gt;\n\n{{ \&quot;HELLO WORLD\&quot; | downcase }}\n&lt;!-- output: hello world --&gt;\n\n{{ \&quot;hello world\&quot; | capitalize }}\n&lt;!-- output: Hello world --&gt;\n```\n\n### strip, lstrip, rstrip\n\nRemoves whitespace from both ends, left only, or right only.\n\n```liquid\n{{ \&quot;  hello  \&quot; | strip }}\n&lt;!-- output: hello --&gt;\n```\n\n### replace and replace_first\n\n```liquid\n{{ \&quot;Jekyll is great, Jekyll is fast\&quot; | replace: \&quot;Jekyll\&quot;, \&quot;JekyllHub\&quot; }}\n&lt;!-- output: JekyllHub is great, JekyllHub is fast --&gt;\n\n{{ \&quot;Jekyll is great, Jekyll is fast\&quot; | replace_first: \&quot;Jekyll\&quot;, \&quot;JekyllHub\&quot; }}\n&lt;!-- output: JekyllHub is great, Jekyll is fast --&gt;\n```\n\n### remove and remove_first\n\n```liquid\n{{ \&quot;Hello, World!\&quot; | remove: \&quot;,\&quot; }}\n&lt;!-- output: Hello World! --&gt;\n```\n\n### truncate and truncatewords\n\n```liquid\n{{ \&quot;The quick brown fox\&quot; | truncate: 10 }}\n&lt;!-- output: The qui... --&gt;\n\n{{ \&quot;The quick brown fox\&quot; | truncatewords: 3 }}\n&lt;!-- output: The quick brown... --&gt;\n```\n\n### split and join\n\n```liquid\n{% raw %}\n{% assign tags = \&quot;jekyll,blog,themes\&quot; | split: \&quot;,\&quot; %}\n{{ tags | join: \&quot; · \&quot; }}\n&lt;!-- output: jekyll · blog · themes --&gt;\n{% endraw %}\n```\n\n### slice\n\nReturns a substring starting at the given index.\n\n```liquid\n{{ \&quot;Jekyll\&quot; | slice: 0, 3 }}\n&lt;!-- output: Jek --&gt;\n```\n\n### strip_html\n\nRemoves all HTML tags from a string — useful for generating meta descriptions from post content.\n\n```liquid\n{{ post.content | strip_html | truncate: 160 }}\n```\n\n### strip_newlines\n\n```liquid\n{{ content | strip_newlines }}\n```\n\n### newline_to_br\n\nConverts newlines to `&lt;br&gt;` tags.\n\n```liquid\n{{ content | newline_to_br }}\n```\n\n### escape and escape_once\n\nHTML-encodes a string.\n\n```liquid\n{{ &apos;&lt;script&gt;&apos; | escape }}\n&lt;!-- output: &amp;lt;script&amp;gt; --&gt;\n```\n\n### url_encode and url_decode\n\n```liquid\n{{ \&quot;hello world\&quot; | url_encode }}\n&lt;!-- output: hello+world --&gt;\n```\n\n### markdownify\n\nConverts a Markdown string to HTML. Useful for front matter fields written in Markdown.\n\n```liquid\n{{ page.description | markdownify }}\n```\n\n### jsonify\n\nConverts an object to JSON. Essential for passing Jekyll data to JavaScript.\n\n```liquid\n&lt;script&gt;\n  var themes = {{ site.themes | jsonify }};\n&lt;/script&gt;\n```\n\n## Number filters\n\n### plus, minus, times, divided_by, modulo\n\n```liquid\n{{ 10 | plus: 5 }}       &lt;!-- 15 --&gt;\n{{ 10 | minus: 3 }}      &lt;!-- 7 --&gt;\n{{ 4 | times: 3 }}       &lt;!-- 12 --&gt;\n{{ 10 | divided_by: 3 }} &lt;!-- 3 (integer division) --&gt;\n{{ 10 | modulo: 3 }}     &lt;!-- 1 --&gt;\n```\n\n### ceil, floor, round, abs\n\n```liquid\n{{ 4.3 | ceil }}   &lt;!-- 5 --&gt;\n{{ 4.7 | floor }}  &lt;!-- 4 --&gt;\n{{ 4.567 | round: 2 }} &lt;!-- 4.57 --&gt;\n{{ -5 | abs }}     &lt;!-- 5 --&gt;\n```\n\n## Array filters\n\n### size\n\nWorks on strings and arrays.\n\n```liquid\n{{ site.themes | size }}\n{{ \&quot;Jekyll\&quot; | size }} &lt;!-- 6 --&gt;\n```\n\n### first and last\n\n```liquid\n{{ site.themes | first }}\n{{ site.themes | last }}\n```\n\n### push and pop, shift and unshift\n\nAdd or remove items from an array.\n\n```liquid\n{% raw %}\n{% assign updated = site.themes | push: new_theme %}\n{% endraw %}\n```\n\n### concat\n\nMerges two arrays.\n\n```liquid\n{% raw %}\n{% assign all_posts = site.posts | concat: site.pages %}\n{% endraw %}\n```\n\n### map\n\nExtracts a single property from an array of objects.\n\n```liquid\n{% raw %}\n{% assign titles = site.themes | map: \&quot;title\&quot; %}\n{{ titles | join: \&quot;, \&quot; }}\n{% endraw %}\n```\n\n### where and where_exp\n\nFilter an array by a property value.\n\n```liquid\n{% raw %}\n{% assign premium = site.themes | where: \&quot;price_type\&quot;, \&quot;premium\&quot; %}\n\n{% assign recent = site.posts | where_exp: \&quot;post\&quot;, \&quot;post.date &gt; &apos;2026-01-01&apos;\&quot; %}\n{% endraw %}\n```\n\n### sort and sort_natural\n\n```liquid\n{% raw %}\n{% assign sorted = site.themes | sort: \&quot;title\&quot; %}\n{% assign sorted = site.themes | sort_natural: \&quot;title\&quot; %}\n{% endraw %}\n```\n\n### reverse\n\n```liquid\n{% raw %}\n{% assign reversed = site.posts | reverse %}\n{% endraw %}\n```\n\n### uniq\n\nRemoves duplicate values from an array.\n\n```liquid\n{% raw %}\n{% assign unique_cats = site.themes | map: \&quot;category\&quot; | uniq %}\n{% endraw %}\n```\n\n### group_by and group_by_exp\n\nGroups an array of objects by a property.\n\n```liquid\n{% raw %}\n{% assign by_category = site.themes | group_by: \&quot;category\&quot; %}\n{% for group in by_category %}\n  &lt;h2&gt;{{ group.name }}&lt;/h2&gt;\n  {% for theme in group.items %}\n    &lt;p&gt;{{ theme.title }}&lt;/p&gt;\n  {% endfor %}\n{% endfor %}\n{% endraw %}\n```\n\n### find and find_exp\n\nReturns the first item matching a condition (Jekyll 4+).\n\n```liquid\n{% raw %}\n{% assign featured = site.themes | find: \&quot;featured\&quot;, true %}\n{% endraw %}\n```\n\n### sum\n\nAdds up a numeric property across an array.\n\n```liquid\n{{ site.themes | map: \&quot;stars\&quot; | sum }}\n```\n\n### compact\n\nRemoves nil values from an array.\n\n```liquid\n{% raw %}\n{% assign clean = array | compact %}\n{% endraw %}\n```\n\n### flatten\n\nFlattens a nested array.\n\n```liquid\n{% raw %}\n{% assign flat = nested_array | flatten %}\n{% endraw %}\n```\n\n## Date filters\n\n### date\n\nFormats a date using `strftime` syntax.\n\n```liquid\n{{ page.date | date: \&quot;%B %-d, %Y\&quot; }}\n&lt;!-- output: July 3, 2026 --&gt;\n\n{{ page.date | date: \&quot;%Y-%m-%d\&quot; }}\n&lt;!-- output: 2026-07-03 --&gt;\n\n{{ page.date | date: \&quot;%d %b %Y\&quot; }}\n&lt;!-- output: 03 Jul 2026 --&gt;\n```\n\nCommon format codes:\n- `%Y` — four-digit year\n- `%m` — zero-padded month (01–12)\n- `%-m` — month without padding (1–12)\n- `%B` — full month name\n- `%b` — abbreviated month name\n- `%d` — zero-padded day\n- `%-d` — day without padding\n- `%A` — full weekday name\n- `%H:%M` — 24-hour time\n\n### date_to_long_string and date_to_string\n\nJekyll shortcuts for common date formats.\n\n```liquid\n{{ page.date | date_to_long_string }}\n&lt;!-- output: 03 July 2026 --&gt;\n\n{{ page.date | date_to_string }}\n&lt;!-- output: 03 Jul 2026 --&gt;\n```\n\n### date_to_xmlschema and date_to_rfc822\n\nUsed in feeds and structured data.\n\n```liquid\n{{ page.date | date_to_xmlschema }}\n&lt;!-- output: 2026-07-03T00:00:00+00:00 --&gt;\n```\n\n## URL and path filters\n\n### relative_url and absolute_url\n\nEssential — always use these instead of hardcoded paths.\n\n```liquid\n&lt;a href=\&quot;{{ &apos;/themes/&apos; | relative_url }}\&quot;&gt;Browse themes&lt;/a&gt;\n&lt;meta property=\&quot;og:url\&quot; content=\&quot;{{ page.url | absolute_url }}\&quot;&gt;\n```\n\n### slugify\n\nConverts a string to a URL-safe slug.\n\n```liquid\n{{ \&quot;Hello World! How are you?\&quot; | slugify }}\n&lt;!-- output: hello-world-how-are-you --&gt;\n```\n\n### uri_escape\n\nPercent-encodes a URI.\n\n```liquid\n{{ \&quot;search query\&quot; | uri_escape }}\n&lt;!-- output: search%20query --&gt;\n```\n\n### cgi_escape\n\nCGI-escapes a string (spaces become `+`).\n\n```liquid\n{{ \&quot;hello world\&quot; | cgi_escape }}\n&lt;!-- output: hello+world --&gt;\n```\n\n## Miscellaneous\n\n### default\n\nReturns a default value when the variable is nil, false, or empty.\n\n```liquid\n{{ page.author | default: site.author.name }}\n{{ page.image | default: site.og_image | relative_url }}\n```\n\n### inspect\n\nOutputs a Ruby representation of the object — invaluable for debugging.\n\n```liquid\n{{ page | inspect }}\n```\n\n### sample\n\nReturns a random element from an array.\n\n```liquid\n{{ site.themes | sample }}\n```\n\n### number_of_words\n\nCounts words in a string.\n\n```liquid\n{{ content | number_of_words }}\n```\n\n## Chaining filters\n\nFilters can be chained — output from one becomes input to the next.\n\n```liquid\n{{ page.title | downcase | replace: \&quot; \&quot;, \&quot;-\&quot; | prepend: \&quot;/blog/\&quot; }}\n\n{{ post.content | strip_html | truncatewords: 30 | append: \&quot;…\&quot; }}\n```\n\n## Quick reference card\n\n| Filter | What it does |\n|--------|-------------|\n| `append` / `prepend` | Add text before or after |\n| `upcase` / `downcase` | Change case |\n| `strip_html` | Remove HTML tags |\n| `truncate` / `truncatewords` | Shorten text |\n| `replace` | Find and replace |\n| `date` | Format a date |\n| `where` | Filter array by property |\n| `map` | Extract one property from array |\n| `sort` | Sort an array |\n| `size` | Count items |\n| `default` | Fallback value |\n| `relative_url` | Prefix baseurl |\n| `jsonify` | Convert to JSON |\n| `markdownify` | Render Markdown |\n\nBookmark this page — you will reference it constantly.\n&quot;,
      &quot;url&quot;: &quot;/tutorial/2026/05/21/jekyll-liquid-filters-cheatsheet/&quot;,
      &quot;draft&quot;: false,
      &quot;categories&quot;: [
        &quot;Tutorial&quot;
      ],
      &quot;layout&quot;: &quot;post&quot;,
      &quot;title&quot;: &quot;Jekyll Liquid Filters: The Complete Cheatsheet (2026)&quot;,
      &quot;description&quot;: &quot;Every Liquid filter you need for Jekyll — string manipulation, date formatting, array filters, URL helpers, and Jekyll-specific additions. With examples.&quot;,
      &quot;date&quot;: &quot;2026-05-21 00:00:00 +0000&quot;,
      &quot;last_modified_at&quot;: &quot;2026-07-06&quot;,
      &quot;image&quot;: &quot;/assets/images/blog/jekyll-liquid-filters-cheatsheet.webp&quot;,
      &quot;author&quot;: &quot;Marcus Webb&quot;,
      &quot;category&quot;: &quot;Tutorial&quot;,
      &quot;featured&quot;: false,
      &quot;related_category&quot;: &quot;Blog&quot;,
      &quot;toc&quot;: true,
      &quot;slug&quot;: &quot;jekyll-liquid-filters-cheatsheet&quot;,
      &quot;ext&quot;: &quot;.md&quot;,
      &quot;tags&quot;: [

      ]
    },
    &quot;id&quot;: &quot;/tutorial/2026/05/22/jekyll-environment-variables&quot;,
    &quot;collection&quot;: &quot;posts&quot;,
    &quot;next&quot;: {
      &quot;path&quot;: &quot;_posts/2026-05-23-jekyll-ecommerce-snipcart.md&quot;,
      &quot;relative_path&quot;: &quot;_posts/2026-05-23-jekyll-ecommerce-snipcart.md&quot;,
      &quot;excerpt&quot;: &quot;&lt;p&gt;Jekyll is a static site generator — it does not have a database, a server, or a shopping cart. But that does not mean you cannot sell online. Snipcart is a JavaScript-powered shopping cart that adds to any static site with a few lines of HTML. No backend, no database, no hosting complexity.&lt;/p&gt;\n\n&quot;,
      &quot;previous&quot;: {
        &quot;path&quot;: &quot;_posts/2026-05-22-jekyll-environment-variables.md&quot;,
        &quot;relative_path&quot;: &quot;_posts/2026-05-22-jekyll-environment-variables.md&quot;,
        &quot;id&quot;: &quot;/tutorial/2026/05/22/jekyll-environment-variables&quot;,
        &quot;collection&quot;: &quot;posts&quot;,
        &quot;url&quot;: &quot;/tutorial/2026/05/22/jekyll-environment-variables/&quot;,
        &quot;draft&quot;: false,
        &quot;categories&quot;: [
          &quot;Tutorial&quot;
        ],
        &quot;layout&quot;: &quot;post&quot;,
        &quot;title&quot;: &quot;Jekyll Environment Variables: The Complete Guide&quot;,
        &quot;description&quot;: &quot;How to use environment variables in Jekyll — JEKYLL_ENV, accessing env vars in config, conditional builds, and best practices for managing secrets.&quot;,
        &quot;date&quot;: &quot;2026-05-22 00:00:00 +0000&quot;,
        &quot;last_modified_at&quot;: &quot;2026-07-07&quot;,
        &quot;image&quot;: &quot;/assets/images/blog/jekyll-environment-variables.webp&quot;,
        &quot;author&quot;: &quot;Marcus Webb&quot;,
        &quot;category&quot;: &quot;Tutorial&quot;,
        &quot;featured&quot;: false,
        &quot;related_category&quot;: &quot;Blog&quot;,
        &quot;toc&quot;: true,
        &quot;slug&quot;: &quot;jekyll-environment-variables&quot;,
        &quot;ext&quot;: &quot;.md&quot;,
        &quot;tags&quot;: [

        ]
      },
      &quot;id&quot;: &quot;/tutorial/2026/05/23/jekyll-ecommerce-snipcart&quot;,
      &quot;collection&quot;: &quot;posts&quot;,
      &quot;next&quot;: {
        &quot;path&quot;: &quot;_posts/2026-05-24-jekyll-newsletter-signup.md&quot;,
        &quot;relative_path&quot;: &quot;_posts/2026-05-24-jekyll-newsletter-signup.md&quot;,
        &quot;id&quot;: &quot;/tutorial/2026/05/24/jekyll-newsletter-signup&quot;,
        &quot;collection&quot;: &quot;posts&quot;,
        &quot;url&quot;: &quot;/tutorial/2026/05/24/jekyll-newsletter-signup/&quot;,
        &quot;draft&quot;: false,
        &quot;categories&quot;: [
          &quot;Tutorial&quot;
        ],
        &quot;layout&quot;: &quot;post&quot;,
        &quot;title&quot;: &quot;How to Add an Email Newsletter Signup to Your Jekyll Site&quot;,
        &quot;description&quot;: &quot;Add a working email newsletter signup form to Jekyll — using Mailchimp, ConvertKit, Buttondown, or Netlify Forms. Setup guides, embedded forms, and popup options.&quot;,
        &quot;date&quot;: &quot;2026-05-24 00:00:00 +0000&quot;,
        &quot;last_modified_at&quot;: &quot;2026-05-24&quot;,
        &quot;image&quot;: &quot;/assets/images/blog/jekyll-newsletter-signup.webp&quot;,
        &quot;author&quot;: &quot;Marcus Webb&quot;,
        &quot;category&quot;: &quot;Tutorial&quot;,
        &quot;featured&quot;: false,
        &quot;related_category&quot;: &quot;Blog&quot;,
        &quot;toc&quot;: true,
        &quot;tags&quot;: [
          &quot;jekyll newsletter&quot;,
          &quot;mailchimp jekyll&quot;,
          &quot;convertkit jekyll&quot;,
          &quot;jekyll email signup&quot;,
          &quot;static site newsletter&quot;
        ],
        &quot;slug&quot;: &quot;jekyll-newsletter-signup&quot;,
        &quot;ext&quot;: &quot;.md&quot;
      },
      &quot;output&quot;: null,
      &quot;content&quot;: &quot;Jekyll is a static site generator — it does not have a database, a server, or a shopping cart. But that does not mean you cannot sell online. Snipcart is a JavaScript-powered shopping cart that adds to any static site with a few lines of HTML. No backend, no database, no hosting complexity.\n\nHere is how to build a fully functional Jekyll store with Snipcart.\n\n## What is Snipcart?\n\nSnipcart is a headless e-commerce platform. You add their JavaScript to your site, mark your products with HTML data attributes, and Snipcart handles the cart, checkout, payment processing (via Stripe), and order management through their dashboard.\n\nYou keep full control of your site&apos;s design. Snipcart handles everything that requires a server.\n\n**Pricing:** 2% transaction fee on sales up to $500/month, then $20/month flat fee. Free to test with a sandbox mode.\n\n## Setting up Snipcart in Jekyll\n\n### Step 1: Create a Snipcart account\n\nSign up at [snipcart.com](https://snipcart.com). You will get a public API key for testing (sandbox) and one for production.\n\n### Step 2: Add Snipcart to your Jekyll layout\n\nAdd the following to your `_layouts/default.html` before the closing `&lt;/body&gt;` tag:\n\n```html\n{% raw %}\n{% if site.snipcart_key != \&quot;\&quot; %}\n&lt;link rel=\&quot;preconnect\&quot; href=\&quot;https://app.snipcart.com\&quot;&gt;\n&lt;link rel=\&quot;preconnect\&quot; href=\&quot;https://cdn.snipcart.com\&quot;&gt;\n&lt;link rel=\&quot;stylesheet\&quot; href=\&quot;https://cdn.snipcart.com/themes/v3.3.3/default/snipcart.css\&quot; /&gt;\n&lt;div hidden id=\&quot;snipcart\&quot; data-api-key=\&quot;{{ site.snipcart_key }}\&quot;&gt;&lt;/div&gt;\n&lt;script async src=\&quot;https://cdn.snipcart.com/themes/v3.3.3/default/snipcart.js\&quot;&gt;&lt;/script&gt;\n{% endif %}\n{% endraw %}\n```\n\n### Step 3: Add your API key to _config.yml\n\n```yaml\n# _config.yml\nsnipcart_key: \&quot;\&quot;  # Add your Snipcart public API key here\n```\n\nKeep your test key for local development and your live key in your hosting platform&apos;s environment variables.\n\n### Step 4: Define products in front matter\n\nCreate a `_products` collection in `_config.yml`:\n\n```yaml\ncollections:\n  products:\n    output: true\n    permalink: /shop/:slug/\n```\n\nCreate a product file at `_products/jekyll-starter-theme.md`:\n\n```yaml\n---\nlayout: product\ntitle: \&quot;Jekyll Starter Theme\&quot;\nprice: 29.00\nsku: \&quot;JST-001\&quot;\ndescription: \&quot;A clean, minimal Jekyll theme for developers. Includes dark mode, SEO optimisation, and full documentation.\&quot;\nimage: /assets/images/products/jekyll-starter-theme.jpg\ncategory: Themes\nin_stock: true\n---\n\nYour full product description here in Markdown...\n```\n\n### Step 5: Create the Add to Cart button\n\nIn your product layout or product listing, add a button with Snipcart&apos;s data attributes:\n\n```html\n{% raw %}\n&lt;button\n  class=\&quot;snipcart-add-item btn btn--primary\&quot;\n  data-item-id=\&quot;{{ product.sku }}\&quot;\n  data-item-name=\&quot;{{ product.title }}\&quot;\n  data-item-price=\&quot;{{ product.price }}\&quot;\n  data-item-url=\&quot;{{ product.url | absolute_url }}\&quot;\n  data-item-description=\&quot;{{ product.description | strip_html | truncate: 255 }}\&quot;\n  data-item-image=\&quot;{{ product.image | absolute_url }}\&quot;\n&gt;\n  Add to Cart — ${{ product.price }}\n&lt;/button&gt;\n{% endraw %}\n```\n\nThe `data-item-url` must point to the live product page where Snipcart can verify the price. This is Snipcart&apos;s anti-fraud mechanism — it crawls the URL and confirms the price matches what was passed to the cart.\n\n### Step 6: Add the cart button to your nav\n\n```html\n&lt;button class=\&quot;snipcart-checkout navbar__icon-btn\&quot; aria-label=\&quot;Shopping cart\&quot;&gt;\n  &lt;svg width=\&quot;20\&quot; height=\&quot;20\&quot; fill=\&quot;none\&quot; stroke=\&quot;currentColor\&quot; viewBox=\&quot;0 0 24 24\&quot;&gt;\n    &lt;path stroke-linecap=\&quot;round\&quot; stroke-linejoin=\&quot;round\&quot; stroke-width=\&quot;2\&quot; d=\&quot;M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z\&quot;/&gt;\n  &lt;/svg&gt;\n  &lt;span class=\&quot;snipcart-items-count\&quot;&gt;0&lt;/span&gt;\n&lt;/button&gt;\n```\n\nThe `snipcart-items-count` class is updated automatically by Snipcart with the current cart item count.\n\n## Creating a product listing page\n\nCreate `_pages/shop.html`:\n\n```html\n---\nlayout: default\ntitle: \&quot;Shop\&quot;\npermalink: /shop/\n---\n\n&lt;div class=\&quot;product-grid\&quot;&gt;\n  {% raw %}{% for product in site.products %}{% endraw %}\n  &lt;div class=\&quot;product-card\&quot;&gt;\n    &lt;img src=\&quot;{% raw %}{{ product.image | relative_url }}{% endraw %}\&quot; alt=\&quot;{% raw %}{{ product.title }}{% endraw %}\&quot;&gt;\n    &lt;h3&gt;{% raw %}{{ product.title }}{% endraw %}&lt;/h3&gt;\n    &lt;p&gt;{% raw %}{{ product.description | truncate: 120 }}{% endraw %}&lt;/p&gt;\n    &lt;p class=\&quot;price\&quot;&gt;${% raw %}{{ product.price }}{% endraw %}&lt;/p&gt;\n    &lt;button\n      class=\&quot;snipcart-add-item btn btn--primary\&quot;\n      data-item-id=\&quot;{% raw %}{{ product.sku }}{% endraw %}\&quot;\n      data-item-name=\&quot;{% raw %}{{ product.title }}{% endraw %}\&quot;\n      data-item-price=\&quot;{% raw %}{{ product.price }}{% endraw %}\&quot;\n      data-item-url=\&quot;{% raw %}{{ product.url | absolute_url }}{% endraw %}\&quot;\n      data-item-description=\&quot;{% raw %}{{ product.description | strip_html | truncate: 255 }}{% endraw %}\&quot;\n      data-item-image=\&quot;{% raw %}{{ product.image | absolute_url }}{% endraw %}\&quot;\n    &gt;\n      Add to Cart\n    &lt;/button&gt;\n  &lt;/div&gt;\n  {% raw %}{% endfor %}{% endraw %}\n&lt;/div&gt;\n```\n\n## Handling digital products\n\nSnipcart supports digital product delivery via a file URL. Add it to your button:\n\n```html\ndata-item-file-guid=\&quot;YOUR_FILE_GUID\&quot;\n```\n\nYou upload the file in the Snipcart dashboard and get a GUID. Snipcart delivers a download link to the customer after payment. This is ideal for selling theme files, ebooks, or templates.\n\n## Tax and shipping\n\nConfigure tax rules and shipping rates in the Snipcart dashboard — no code changes needed. You can set rates by country, region, or product category.\n\n## Alternatives to Snipcart\n\n| Option | Best for |\n|--------|----------|\n| **Snipcart** | Most Jekyll stores — simplest setup |\n| **Gumroad** | Digital products only — embed a Gumroad button |\n| **Stripe Payment Links** | Single products, no cart needed |\n| **Shopify Buy Button** | Larger catalogues with existing Shopify store |\n| **Lemon Squeezy** | SaaS products, subscriptions, software |\n\n## Is Jekyll right for e-commerce?\n\nJekyll works well for stores with a small to medium catalogue (under a few hundred products), digital goods, or marketplaces where the product pages are mostly static content. It is not the right choice for large catalogues with complex inventory management, real-time stock levels, or customer accounts.\n\nFor selling a Jekyll theme or digital download, Jekyll plus Snipcart is a perfectly reasonable stack. For a 10,000-SKU physical goods store, reach for Shopify.\n&quot;,
      &quot;url&quot;: &quot;/tutorial/2026/05/23/jekyll-ecommerce-snipcart/&quot;,
      &quot;draft&quot;: false,
      &quot;categories&quot;: [
        &quot;Tutorial&quot;
      ],
      &quot;layout&quot;: &quot;post&quot;,
      &quot;title&quot;: &quot;Jekyll E-commerce with Snipcart: Add a Shopping Cart to Your Static Site&quot;,
      &quot;description&quot;: &quot;Learn how to add a fully functional shopping cart to a Jekyll site using Snipcart. Product listings, checkout, payments, and order management — no backend required.&quot;,
      &quot;date&quot;: &quot;2026-05-23 00:00:00 +0000&quot;,
      &quot;last_modified_at&quot;: &quot;2026-07-08&quot;,
      &quot;image&quot;: &quot;/assets/images/blog/jekyll-ecommerce-snipcart.webp&quot;,
      &quot;author&quot;: &quot;Marcus Webb&quot;,
      &quot;category&quot;: &quot;Tutorial&quot;,
      &quot;featured&quot;: false,
      &quot;related_category&quot;: &quot;Blog&quot;,
      &quot;toc&quot;: true,
      &quot;slug&quot;: &quot;jekyll-ecommerce-snipcart&quot;,
      &quot;ext&quot;: &quot;.md&quot;,
      &quot;tags&quot;: [

      ]
    },
    &quot;output&quot;: null,
    &quot;content&quot;: &quot;Environment variables in Jekyll are simpler than you might expect — but also more limited than many developers assume coming from Node.js or Python. Here is everything you need to know.\n\n## JEKYLL_ENV: the key environment variable\n\nJekyll ships with one built-in environment variable: `JEKYLL_ENV`. It defaults to `development` when you run `jekyll serve` or `jekyll build` locally. To set it to production, prefix your build command:\n\n```bash\nJEKYLL_ENV=production jekyll build\n```\n\nOn Netlify, Cloudflare Pages, and most CI platforms, this is set automatically.\n\n### Using JEKYLL_ENV in Liquid templates\n\nYou can read the environment in your templates using `jekyll.environment`:\n\n```liquid\n{% raw %}\n{% if jekyll.environment == \&quot;production\&quot; %}\n  {% include analytics.html %}\n{% endif %}\n{% endraw %}\n```\n\nThis is the standard pattern for including analytics, chat widgets, and other scripts only in production builds — keeping your development output clean and your test data separate from real analytics.\n\n### Common production-only includes\n\n```liquid\n{% raw %}\n{% comment %} In _layouts/default.html {% endcomment %}\n{% if jekyll.environment == \&quot;production\&quot; %}\n  {% include analytics.html %}\n  {% include cookie-banner.html %}\n{% endif %}\n{% endraw %}\n```\n\n## Can Jekyll read system environment variables?\n\nYes — but only through `_config.yml` using ERB interpolation, and only when Jekyll is run with the `--config` flag pointing to a `.yml` file processed as ERB. This is not supported out of the box in standard Jekyll.\n\nThe most reliable approach for secrets in Jekyll is to use your hosting platform&apos;s environment variable system and inject values at build time.\n\n## Injecting environment variables via _config.yml on Netlify\n\nNetlify lets you set environment variables in your site dashboard (Site settings → Environment variables). You can then reference them in `netlify.toml`:\n\n```toml\n[build]\n  command = \&quot;JEKYLL_ENV=production jekyll build\&quot;\n  publish = \&quot;_site\&quot;\n\n[build.environment]\n  JEKYLL_ENV = \&quot;production\&quot;\n```\n\nFor values you want available in your Liquid templates, the cleanest approach is to set them in `_config.yml` directly — keeping non-secret config in version control and only truly secret values (API keys, tokens) in the platform&apos;s environment variable system.\n\n## Environment-specific config files\n\nJekyll supports multiple config files merged at build time. This is the recommended pattern for environment-specific settings:\n\n```bash\n# Development (default)\njekyll serve\n\n# Production\njekyll build --config _config.yml,_config.production.yml\n\n# Staging\njekyll build --config _config.yml,_config.staging.yml\n```\n\nYour `_config.production.yml` overrides only the values that differ:\n\n```yaml\n# _config.production.yml\nurl: \&quot;https://yourdomain.com\&quot;\ngoogle_analytics: \&quot;G-XXXXXXXXXX\&quot;\nshow_drafts: false\n```\n\nYour `_config.yml` keeps safe defaults:\n\n```yaml\n# _config.yml\nurl: \&quot;http://localhost:4000\&quot;\ngoogle_analytics: \&quot;\&quot;\nshow_drafts: true\n```\n\n## Practical examples\n\n### Analytics only in production\n\n```liquid\n{% raw %}\n{% comment %} _includes/analytics.html {% endcomment %}\n{% if jekyll.environment == \&quot;production\&quot; and site.google_analytics != \&quot;\&quot; %}\n&lt;script async src=\&quot;https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}\&quot;&gt;&lt;/script&gt;\n&lt;script&gt;\n  window.dataLayer = window.dataLayer || [];\n  function gtag(){dataLayer.push(arguments);}\n  gtag(\&quot;js\&quot;, new Date());\n  gtag(\&quot;config\&quot;, \&quot;{{ site.google_analytics }}\&quot;);\n&lt;/script&gt;\n{% endif %}\n{% endraw %}\n```\n\n### Draft posts visible in development only\n\n```yaml\n# _config.yml\nshow_drafts: false\n\n# _config.development.yml  \nshow_drafts: true\n```\n\n```bash\njekyll serve --config _config.yml,_config.development.yml --drafts\n```\n\n### Different base URLs per environment\n\n```yaml\n# _config.yml\nurl: \&quot;https://jekyllhub.com\&quot;\nbaseurl: \&quot;\&quot;\n\n# _config.staging.yml\nurl: \&quot;https://staging.jekyllhub.com\&quot;\nbaseurl: \&quot;/staging\&quot;\n```\n\n### Banner or maintenance mode\n\n```yaml\n# _config.yml\nmaintenance_mode: false\n```\n\n```liquid\n{% raw %}\n{% if site.maintenance_mode %}\n  &lt;div class=\&quot;maintenance-banner\&quot;&gt;We are performing maintenance. Back shortly.&lt;/div&gt;\n{% endif %}\n{% endraw %}\n```\n\n## What you cannot do directly\n\nJekyll does not have a `.env` file loader like Node.js projects. You cannot write:\n\n```bash\n# This does NOT work in Jekyll\nAPI_KEY=abc123\n```\n\n...and then access `{{ ENV.API_KEY }}` in a template. Jekyll does not read shell environment variables into the Liquid context.\n\nIf you need to expose an API key to client-side JavaScript, remember that anything in your built `_site` folder is public. Never embed secret API keys in static HTML. Use a proxy function (Netlify Functions, Cloudflare Workers) to make authenticated requests from the server side.\n\n## Summary\n\n| Pattern | Use case |\n|---------|----------|\n| `JEKYLL_ENV=production` | Toggle analytics, ads, and scripts |\n| Multiple `_config` files | Environment-specific URLs and settings |\n| Platform env vars in `netlify.toml` | Inject build-time values |\n| `jekyll.environment` in Liquid | Conditional template logic |\n\nKeep your environment strategy simple. For most Jekyll sites, `JEKYLL_ENV` plus a production config override covers everything you need.\n&quot;,
    &quot;url&quot;: &quot;/tutorial/2026/05/22/jekyll-environment-variables/&quot;,
    &quot;draft&quot;: false,
    &quot;categories&quot;: [
      &quot;Tutorial&quot;
    ],
    &quot;layout&quot;: &quot;post&quot;,
    &quot;title&quot;: &quot;Jekyll Environment Variables: The Complete Guide&quot;,
    &quot;description&quot;: &quot;How to use environment variables in Jekyll — JEKYLL_ENV, accessing env vars in config, conditional builds, and best practices for managing secrets.&quot;,
    &quot;date&quot;: &quot;2026-05-22 00:00:00 +0000&quot;,
    &quot;last_modified_at&quot;: &quot;2026-07-07&quot;,
    &quot;image&quot;: &quot;/assets/images/blog/jekyll-environment-variables.webp&quot;,
    &quot;author&quot;: &quot;Marcus Webb&quot;,
    &quot;category&quot;: &quot;Tutorial&quot;,
    &quot;featured&quot;: false,
    &quot;related_category&quot;: &quot;Blog&quot;,
    &quot;toc&quot;: true,
    &quot;slug&quot;: &quot;jekyll-environment-variables&quot;,
    &quot;ext&quot;: &quot;.md&quot;,
    &quot;tags&quot;: [

    ]
  },
  &quot;output&quot;: null,
  &quot;content&quot;: &quot;Liquid filters transform output in Jekyll templates. They are chained with the pipe character `|` and applied to variables, strings, numbers, arrays, and dates. This cheatsheet covers every filter you will actually use, with real examples.\n\n## String filters\n\n### append and prepend\n\n```liquid\n{{ \&quot;Jekyll\&quot; | append: \&quot; Themes\&quot; }}\n&lt;!-- output: Jekyll Themes --&gt;\n\n{{ \&quot;Themes\&quot; | prepend: \&quot;Jekyll \&quot; }}\n&lt;!-- output: Jekyll Themes --&gt;\n```\n\n### upcase, downcase, capitalize\n\n```liquid\n{{ \&quot;hello world\&quot; | upcase }}\n&lt;!-- output: HELLO WORLD --&gt;\n\n{{ \&quot;HELLO WORLD\&quot; | downcase }}\n&lt;!-- output: hello world --&gt;\n\n{{ \&quot;hello world\&quot; | capitalize }}\n&lt;!-- output: Hello world --&gt;\n```\n\n### strip, lstrip, rstrip\n\nRemoves whitespace from both ends, left only, or right only.\n\n```liquid\n{{ \&quot;  hello  \&quot; | strip }}\n&lt;!-- output: hello --&gt;\n```\n\n### replace and replace_first\n\n```liquid\n{{ \&quot;Jekyll is great, Jekyll is fast\&quot; | replace: \&quot;Jekyll\&quot;, \&quot;JekyllHub\&quot; }}\n&lt;!-- output: JekyllHub is great, JekyllHub is fast --&gt;\n\n{{ \&quot;Jekyll is great, Jekyll is fast\&quot; | replace_first: \&quot;Jekyll\&quot;, \&quot;JekyllHub\&quot; }}\n&lt;!-- output: JekyllHub is great, Jekyll is fast --&gt;\n```\n\n### remove and remove_first\n\n```liquid\n{{ \&quot;Hello, World!\&quot; | remove: \&quot;,\&quot; }}\n&lt;!-- output: Hello World! --&gt;\n```\n\n### truncate and truncatewords\n\n```liquid\n{{ \&quot;The quick brown fox\&quot; | truncate: 10 }}\n&lt;!-- output: The qui... --&gt;\n\n{{ \&quot;The quick brown fox\&quot; | truncatewords: 3 }}\n&lt;!-- output: The quick brown... --&gt;\n```\n\n### split and join\n\n```liquid\n{% raw %}\n{% assign tags = \&quot;jekyll,blog,themes\&quot; | split: \&quot;,\&quot; %}\n{{ tags | join: \&quot; · \&quot; }}\n&lt;!-- output: jekyll · blog · themes --&gt;\n{% endraw %}\n```\n\n### slice\n\nReturns a substring starting at the given index.\n\n```liquid\n{{ \&quot;Jekyll\&quot; | slice: 0, 3 }}\n&lt;!-- output: Jek --&gt;\n```\n\n### strip_html\n\nRemoves all HTML tags from a string — useful for generating meta descriptions from post content.\n\n```liquid\n{{ post.content | strip_html | truncate: 160 }}\n```\n\n### strip_newlines\n\n```liquid\n{{ content | strip_newlines }}\n```\n\n### newline_to_br\n\nConverts newlines to `&lt;br&gt;` tags.\n\n```liquid\n{{ content | newline_to_br }}\n```\n\n### escape and escape_once\n\nHTML-encodes a string.\n\n```liquid\n{{ &apos;&lt;script&gt;&apos; | escape }}\n&lt;!-- output: &amp;lt;script&amp;gt; --&gt;\n```\n\n### url_encode and url_decode\n\n```liquid\n{{ \&quot;hello world\&quot; | url_encode }}\n&lt;!-- output: hello+world --&gt;\n```\n\n### markdownify\n\nConverts a Markdown string to HTML. Useful for front matter fields written in Markdown.\n\n```liquid\n{{ page.description | markdownify }}\n```\n\n### jsonify\n\nConverts an object to JSON. Essential for passing Jekyll data to JavaScript.\n\n```liquid\n&lt;script&gt;\n  var themes = {{ site.themes | jsonify }};\n&lt;/script&gt;\n```\n\n## Number filters\n\n### plus, minus, times, divided_by, modulo\n\n```liquid\n{{ 10 | plus: 5 }}       &lt;!-- 15 --&gt;\n{{ 10 | minus: 3 }}      &lt;!-- 7 --&gt;\n{{ 4 | times: 3 }}       &lt;!-- 12 --&gt;\n{{ 10 | divided_by: 3 }} &lt;!-- 3 (integer division) --&gt;\n{{ 10 | modulo: 3 }}     &lt;!-- 1 --&gt;\n```\n\n### ceil, floor, round, abs\n\n```liquid\n{{ 4.3 | ceil }}   &lt;!-- 5 --&gt;\n{{ 4.7 | floor }}  &lt;!-- 4 --&gt;\n{{ 4.567 | round: 2 }} &lt;!-- 4.57 --&gt;\n{{ -5 | abs }}     &lt;!-- 5 --&gt;\n```\n\n## Array filters\n\n### size\n\nWorks on strings and arrays.\n\n```liquid\n{{ site.themes | size }}\n{{ \&quot;Jekyll\&quot; | size }} &lt;!-- 6 --&gt;\n```\n\n### first and last\n\n```liquid\n{{ site.themes | first }}\n{{ site.themes | last }}\n```\n\n### push and pop, shift and unshift\n\nAdd or remove items from an array.\n\n```liquid\n{% raw %}\n{% assign updated = site.themes | push: new_theme %}\n{% endraw %}\n```\n\n### concat\n\nMerges two arrays.\n\n```liquid\n{% raw %}\n{% assign all_posts = site.posts | concat: site.pages %}\n{% endraw %}\n```\n\n### map\n\nExtracts a single property from an array of objects.\n\n```liquid\n{% raw %}\n{% assign titles = site.themes | map: \&quot;title\&quot; %}\n{{ titles | join: \&quot;, \&quot; }}\n{% endraw %}\n```\n\n### where and where_exp\n\nFilter an array by a property value.\n\n```liquid\n{% raw %}\n{% assign premium = site.themes | where: \&quot;price_type\&quot;, \&quot;premium\&quot; %}\n\n{% assign recent = site.posts | where_exp: \&quot;post\&quot;, \&quot;post.date &gt; &apos;2026-01-01&apos;\&quot; %}\n{% endraw %}\n```\n\n### sort and sort_natural\n\n```liquid\n{% raw %}\n{% assign sorted = site.themes | sort: \&quot;title\&quot; %}\n{% assign sorted = site.themes | sort_natural: \&quot;title\&quot; %}\n{% endraw %}\n```\n\n### reverse\n\n```liquid\n{% raw %}\n{% assign reversed = site.posts | reverse %}\n{% endraw %}\n```\n\n### uniq\n\nRemoves duplicate values from an array.\n\n```liquid\n{% raw %}\n{% assign unique_cats = site.themes | map: \&quot;category\&quot; | uniq %}\n{% endraw %}\n```\n\n### group_by and group_by_exp\n\nGroups an array of objects by a property.\n\n```liquid\n{% raw %}\n{% assign by_category = site.themes | group_by: \&quot;category\&quot; %}\n{% for group in by_category %}\n  &lt;h2&gt;{{ group.name }}&lt;/h2&gt;\n  {% for theme in group.items %}\n    &lt;p&gt;{{ theme.title }}&lt;/p&gt;\n  {% endfor %}\n{% endfor %}\n{% endraw %}\n```\n\n### find and find_exp\n\nReturns the first item matching a condition (Jekyll 4+).\n\n```liquid\n{% raw %}\n{% assign featured = site.themes | find: \&quot;featured\&quot;, true %}\n{% endraw %}\n```\n\n### sum\n\nAdds up a numeric property across an array.\n\n```liquid\n{{ site.themes | map: \&quot;stars\&quot; | sum }}\n```\n\n### compact\n\nRemoves nil values from an array.\n\n```liquid\n{% raw %}\n{% assign clean = array | compact %}\n{% endraw %}\n```\n\n### flatten\n\nFlattens a nested array.\n\n```liquid\n{% raw %}\n{% assign flat = nested_array | flatten %}\n{% endraw %}\n```\n\n## Date filters\n\n### date\n\nFormats a date using `strftime` syntax.\n\n```liquid\n{{ page.date | date: \&quot;%B %-d, %Y\&quot; }}\n&lt;!-- output: July 3, 2026 --&gt;\n\n{{ page.date | date: \&quot;%Y-%m-%d\&quot; }}\n&lt;!-- output: 2026-07-03 --&gt;\n\n{{ page.date | date: \&quot;%d %b %Y\&quot; }}\n&lt;!-- output: 03 Jul 2026 --&gt;\n```\n\nCommon format codes:\n- `%Y` — four-digit year\n- `%m` — zero-padded month (01–12)\n- `%-m` — month without padding (1–12)\n- `%B` — full month name\n- `%b` — abbreviated month name\n- `%d` — zero-padded day\n- `%-d` — day without padding\n- `%A` — full weekday name\n- `%H:%M` — 24-hour time\n\n### date_to_long_string and date_to_string\n\nJekyll shortcuts for common date formats.\n\n```liquid\n{{ page.date | date_to_long_string }}\n&lt;!-- output: 03 July 2026 --&gt;\n\n{{ page.date | date_to_string }}\n&lt;!-- output: 03 Jul 2026 --&gt;\n```\n\n### date_to_xmlschema and date_to_rfc822\n\nUsed in feeds and structured data.\n\n```liquid\n{{ page.date | date_to_xmlschema }}\n&lt;!-- output: 2026-07-03T00:00:00+00:00 --&gt;\n```\n\n## URL and path filters\n\n### relative_url and absolute_url\n\nEssential — always use these instead of hardcoded paths.\n\n```liquid\n&lt;a href=\&quot;{{ &apos;/themes/&apos; | relative_url }}\&quot;&gt;Browse themes&lt;/a&gt;\n&lt;meta property=\&quot;og:url\&quot; content=\&quot;{{ page.url | absolute_url }}\&quot;&gt;\n```\n\n### slugify\n\nConverts a string to a URL-safe slug.\n\n```liquid\n{{ \&quot;Hello World! How are you?\&quot; | slugify }}\n&lt;!-- output: hello-world-how-are-you --&gt;\n```\n\n### uri_escape\n\nPercent-encodes a URI.\n\n```liquid\n{{ \&quot;search query\&quot; | uri_escape }}\n&lt;!-- output: search%20query --&gt;\n```\n\n### cgi_escape\n\nCGI-escapes a string (spaces become `+`).\n\n```liquid\n{{ \&quot;hello world\&quot; | cgi_escape }}\n&lt;!-- output: hello+world --&gt;\n```\n\n## Miscellaneous\n\n### default\n\nReturns a default value when the variable is nil, false, or empty.\n\n```liquid\n{{ page.author | default: site.author.name }}\n{{ page.image | default: site.og_image | relative_url }}\n```\n\n### inspect\n\nOutputs a Ruby representation of the object — invaluable for debugging.\n\n```liquid\n{{ page | inspect }}\n```\n\n### sample\n\nReturns a random element from an array.\n\n```liquid\n{{ site.themes | sample }}\n```\n\n### number_of_words\n\nCounts words in a string.\n\n```liquid\n{{ content | number_of_words }}\n```\n\n## Chaining filters\n\nFilters can be chained — output from one becomes input to the next.\n\n```liquid\n{{ page.title | downcase | replace: \&quot; \&quot;, \&quot;-\&quot; | prepend: \&quot;/blog/\&quot; }}\n\n{{ post.content | strip_html | truncatewords: 30 | append: \&quot;…\&quot; }}\n```\n\n## Quick reference card\n\n| Filter | What it does |\n|--------|-------------|\n| `append` / `prepend` | Add text before or after |\n| `upcase` / `downcase` | Change case |\n| `strip_html` | Remove HTML tags |\n| `truncate` / `truncatewords` | Shorten text |\n| `replace` | Find and replace |\n| `date` | Format a date |\n| `where` | Filter array by property |\n| `map` | Extract one property from array |\n| `sort` | Sort an array |\n| `size` | Count items |\n| `default` | Fallback value |\n| `relative_url` | Prefix baseurl |\n| `jsonify` | Convert to JSON |\n| `markdownify` | Render Markdown |\n\nBookmark this page — you will reference it constantly.\n&quot;,
  &quot;url&quot;: &quot;/tutorial/2026/05/21/jekyll-liquid-filters-cheatsheet/&quot;,
  &quot;draft&quot;: false,
  &quot;categories&quot;: [
    &quot;Tutorial&quot;
  ],
  &quot;layout&quot;: &quot;post&quot;,
  &quot;title&quot;: &quot;Jekyll Liquid Filters: The Complete Cheatsheet (2026)&quot;,
  &quot;description&quot;: &quot;Every Liquid filter you need for Jekyll — string manipulation, date formatting, array filters, URL helpers, and Jekyll-specific additions. With examples.&quot;,
  &quot;date&quot;: &quot;2026-05-21 00:00:00 +0000&quot;,
  &quot;last_modified_at&quot;: &quot;2026-07-06&quot;,
  &quot;image&quot;: &quot;/assets/images/blog/jekyll-liquid-filters-cheatsheet.webp&quot;,
  &quot;author&quot;: &quot;Marcus Webb&quot;,
  &quot;category&quot;: &quot;Tutorial&quot;,
  &quot;featured&quot;: false,
  &quot;related_category&quot;: &quot;Blog&quot;,
  &quot;toc&quot;: true,
  &quot;slug&quot;: &quot;jekyll-liquid-filters-cheatsheet&quot;,
  &quot;ext&quot;: &quot;.md&quot;,
  &quot;tags&quot;: [

  ]
}

sample

Returns a random element from an array.

Millennial is a clean, straightforward Jekyll blog theme designed for writers who want a no-nonsense publishing platform. The layout is minimal by design — no sidebars, no clutter, just posts.

Tag archive pages organise content for readers, and pagination handles large archives gracefully.

**Who is it for?** Bloggers who want a lean, focused reading experience without any distracting design elements.

number_of_words

Counts words in a string.

1318

Chaining filters

Filters can be chained — output from one becomes input to the next.

/blog/jekyll-liquid-filters:-the-complete-cheatsheet-(2026)

…

Quick reference card

Filter What it does
append / prepend Add text before or after
upcase / downcase Change case
strip_html Remove HTML tags
truncate / truncatewords Shorten text
replace Find and replace
date Format a date
where Filter array by property
map Extract one property from array
sort Sort an array
size Count items
default Fallback value
relative_url Prefix baseurl
jsonify Convert to JSON
markdownify Render Markdown

Bookmark this page — you will reference it constantly.

Share LinkedIn

<!DOCTYPE html>

Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free) | JekyllHub
Home Blog Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)
Themes

Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)

The best minimal Jekyll themes for blogs, portfolios, and personal sites — clean typography, fast load times, and zero visual clutter.

Best Minimal Jekyll Themes in 2026 (Clean, Fast, Distraction-Free)

Minimal themes are the most popular category in the Jekyll ecosystem — and for good reason. A minimal design puts the focus on your content, loads in milliseconds, and never goes out of style. Here are the best minimal Jekyll themes in 2026.

What makes a theme truly minimal?

A minimal Jekyll theme is not just a theme with less CSS. The best ones share a few key characteristics:

  • Typography-first — the reading experience is the design
  • No unnecessary widgets — no popups, cookie banners, social share floods, or autoplay anything
  • Fast by default — no large hero images, no heavy JavaScript frameworks
  • Easy to customise — minimal markup means less to override
  • Responsive — works perfectly on mobile without a complex grid system

Best free minimal Jekyll themes

Minima

The default Jekyll theme and arguably the most used Jekyll theme in existence. Minima ships with every new Jekyll install. It is bare-bones by design: clean typography, a simple nav, an archive list, and not much else.

Best for: Getting started, technical blogs, personal sites where content is everything.
GitHub: jekyll/minima — 3,000+ stars

Klise

Klise is a minimal, high contrast Jekyll theme with dark mode support. It focuses entirely on readability — clean sans-serif type, generous line height, and a subtle dark/light toggle. No hero, no sidebar, no decorative elements.

Best for: Developer blogs, writing-focused sites.
GitHub: piharpi/jekyll-klise — 800+ stars

Chirpy

Chirpy is minimal but feature-complete. It adds a left sidebar with categories and tags, a table of contents that follows the reader, and dark mode — all without visual noise. The design is calm and professional.

Best for: Technical blogs that need categories and navigation without sacrificing simplicity.
GitHub: cotes2020/jekyll-theme-chirpy — 8,000+ stars

No Style Please!

Exactly what the name says. This theme applies almost no CSS — content renders in the browser’s default styles. Intentionally ugly, intentionally fast. Popular in the indie web and “small web” communities.

Best for: Experimental sites, writers who want the ultimate zero-distraction canvas.
GitHub: riggraz/no-style-please — 800+ stars

So Simple

A simple-is-better theme with a single-column layout, large readable type, and support for author profiles. The name is accurate. It is maintained by Michael Rose, who also built the excellent Minimal Mistakes theme.

Best for: Personal sites, writing portfolios, minimalist blogs.

Researcher

Researcher is built for academic and research professionals who want a clean, no-frills presence online. It outputs a single-page site with sections for bio, publications, and projects. Nothing more.

Best for: Academics, PhD students, researchers, scientists.
GitHub: ankitsultana/researcher

What to look for when choosing a minimal theme

Typography: Check the font pairing, line height, and measure (line length). The ideal measure for body text is 50–75 characters per line. If the theme stretches text full-width on desktop, skip it.

Dark mode: In 2026, dark mode is expected. Look for themes with a clean system-respecting dark mode rather than a garish inverted palette.

Performance: Open the theme’s demo in PageSpeed Insights. A good minimal theme should score 95+ on mobile without any optimisation from you.

Front matter support: Check what fields the theme supports: description, image, author, toc. Themes that support rich front matter give you more flexibility as your site grows.

Premium minimal options

Free minimal themes are excellent, but if you want something more refined — custom typography, polished dark mode, better SEO defaults, and actual support — a premium theme is worth considering.

Browse minimal Jekyll themes on JekyllHub to compare free and premium options side by side.

The right amount of minimal

“Minimal” is not the same as “unfinished.” The best minimal themes are the result of careful design decisions — every element has a reason to be there, and everything unnecessary has been removed. They are not lazy; they are deliberate.

When you find the right one, you will spend your time writing. That is the point.

Share LinkedIn

<!DOCTYPE html>

Jekyll vs Next.js: A Practical Comparison for 2026 | JekyllHub
Home Blog Jekyll vs Next.js: A Practical Comparison for 2026
Comparison

Jekyll vs Next.js: A Practical Comparison for 2026

Jekyll and Next.js both produce fast websites — but they are built for very different situations. Here is how to choose between them for your next project.

Jekyll vs Next.js: A Practical Comparison for 2026

Jekyll and Next.js are both capable of producing fast, statically-generated websites. But comparing them is a bit like comparing a bicycle to a car — they are built for different journeys. This guide cuts through the noise and tells you which one fits your project.

The fundamental difference

Jekyll is a static site generator. It takes your Markdown files and Liquid templates and produces plain HTML. That is all it does, and it does it extremely well.

Next.js is a full-stack React framework that happens to support static export. Its primary purpose is server-rendered and hybrid web applications. Static generation is one mode among many — not its identity.

Learning curve

Jekyll requires Markdown, YAML, and Liquid templating — none of which are programming languages in the traditional sense. A non-developer can be productive in Jekyll within a day.

Next.js requires React, JavaScript (ideally TypeScript), an understanding of server-side rendering versus static generation, and the Next.js routing model. If you do not already know React, Next.js is a significant investment.

Bottom line: Jekyll is accessible to anyone. Next.js requires a JavaScript developer.

Build output and hosting

Both can produce a folder of static HTML files ready to deploy anywhere. But the experience differs considerably.

Jekyll outputs clean HTML by default and hosts natively on GitHub Pages — push your repository and your site is live within minutes, for free.

Next.js static export (next export) works well but loses several Next.js features: API routes, middleware, image optimisation via next/image, and incremental static regeneration. If you strip out those features, you are essentially using a React-based template engine.

  Jekyll Next.js static
GitHub Pages (native) Yes No (requires Actions)
Netlify / Cloudflare Yes Yes
Vercel Yes Yes (first-class)
Output size Very small Larger (React bundle)
JS required for content No Yes (hydration)

Performance

A Jekyll site ships zero JavaScript by default. The page is just HTML and CSS. This is excellent for Core Web Vitals — particularly Interaction to Next Paint (INP) and Total Blocking Time.

Next.js ships a React runtime with every page, even for fully static content. This adds 70–200kb of JavaScript that must parse and execute before the page is fully interactive. For content sites (blogs, docs, portfolios), this is overhead with no benefit.

For content-focused sites, Jekyll is faster in practice — not in theory, but in the metrics that matter for real users on real connections.

Themes and design

Jekyll has a mature theme ecosystem with hundreds of free themes on GitHub and dedicated marketplaces like JekyllHub. Themes are plain HTML, CSS, and Liquid — readable by anyone.

Next.js themes exist (Vercel has a showcase, there are paid options) but the concept of a “theme” is less central to the framework. Customisation requires React component knowledge.

When Next.js makes sense over Jekyll

  • You are building a web application, not a content site
  • You need API routes, authentication, or database access
  • Your team is already using React across multiple projects
  • You need incremental static regeneration (pages that update without a full rebuild)
  • Your site pulls from a headless CMS and you need real-time preview

When Jekyll makes sense over Next.js

  • Your site is primarily content: blog, documentation, portfolio, or landing pages
  • You want zero runtime JavaScript on the page
  • You want free hosting on GitHub Pages with no build configuration
  • You are not a JavaScript developer
  • You want themes you can understand and customise without a compiler

The honest answer

For a blog, documentation site, portfolio, or small business website: choose Jekyll. It is simpler, faster to build, free to host, and produces lighter pages.

For a web application with dynamic features that also needs some statically-generated pages: choose Next.js on Vercel.

The mistake people make is reaching for Next.js because it is popular, then spending weeks managing a React build pipeline to publish content that could have been a Markdown file.

Start with the right tool. Browse Jekyll themes on JekyllHub and have your site live today.

Share LinkedIn

<!DOCTYPE html>

How to Set Up a Custom Domain for Your Jekyll Site | JekyllHub
Home Blog How to Set Up a Custom Domain for Your Jekyll Site
Tutorial

How to Set Up a Custom Domain for Your Jekyll Site

Connect a custom domain to your Jekyll site on GitHub Pages, Netlify, or Cloudflare Pages — with DNS setup, HTTPS configuration, and www vs apex domain guidance.

How to Set Up a Custom Domain for Your Jekyll Site

Getting your Jekyll site onto a custom domain takes about 10–30 minutes. The process is the same regardless of which registrar you use — you update DNS records and tell your hosting platform about the domain. This guide covers GitHub Pages, Netlify, and Cloudflare Pages.


Before You Start

You need:

  • A domain name (from Namecheap, GoDaddy, Google Domains, Porkbun, or any registrar)
  • Your Jekyll site already deployed to GitHub Pages, Netlify, or Cloudflare Pages

DNS changes take anywhere from a few minutes to 48 hours to propagate globally. Most changes take effect within 30 minutes.


Apex Domain vs www

You have two common choices:

  • Apex domain: yourdomain.com — cleaner, but some DNS providers don’t support ALIAS/ANAME records for it
  • www subdomain: www.yourdomain.com — a standard CNAME works, very reliable
  • Both: redirect www to apex, or apex to www — best user experience

Most modern hosting platforms support apex domains directly. Our recommendation: use the apex domain (yourdomain.com) as primary and redirect www to it.


Option 1: GitHub Pages + Custom Domain

Step 1: Add the CNAME File

In your Jekyll site’s root directory, create a file named CNAME (no extension) containing only your domain:

yourdomain.com

Commit and push this file. GitHub Pages reads it and serves the site at that domain.

Important: If you use GitHub Actions for deployment, include the CNAME file in your _site output or add it to the build step. Otherwise it may get overwritten on each deploy.

Step 2: Configure DNS

In your domain registrar’s DNS settings, add these records:

For an apex domain (yourdomain.com):

Add four A records pointing to GitHub Pages’ IP addresses:

Type Name Value
A @ 185.199.108.153
A @ 185.199.109.153
A @ 185.199.110.153
A @ 185.199.111.153

For www subdomain:

Type Name Value
CNAME www yourusername.github.io

Step 3: Enable in GitHub Repository Settings

  1. Go to your repository → Settings → Pages
  2. Under Custom domain, enter yourdomain.com
  3. Click Save
  4. Check Enforce HTTPS (available after DNS propagates)

Step 4: Verify

GitHub will show a green checkmark once DNS is propagating correctly. Visit https://yourdomain.com — it should load your Jekyll site with a valid SSL certificate.


Option 2: Netlify + Custom Domain

Step 1: Add Domain in Netlify

  1. In Netlify Dashboard, go to your site → Domain management → Add a domain
  2. Enter your domain and click Verify
  3. Click Add domain

Step 2: Configure DNS

Option A: Use Netlify DNS (Recommended)

Transfer your domain’s nameservers to Netlify’s. In Netlify, click Set up Netlify DNS and follow the instructions. You’ll get four nameservers like:

dns1.p01.nsone.net
dns2.p01.nsone.net
dns3.p01.nsone.net
dns4.p01.nsone.net

Update your registrar’s nameserver settings to these four. This gives Netlify full DNS control and enables automatic HTTPS and www→apex redirect.

Option B: Keep Your Existing DNS

Add these records in your registrar:

Type Name Value
A @ 75.2.60.5
CNAME www yoursitename.netlify.app

Step 3: HTTPS

Netlify provisions a free Let’s Encrypt certificate automatically within minutes of DNS propagating. You don’t need to do anything — it just works.


Option 3: Cloudflare Pages + Custom Domain

If your site is on Cloudflare Pages and your domain is on Cloudflare (or you move it there):

Step 1: Add Custom Domain

  1. In Cloudflare Dashboard → Pages → your project → Custom domains
  2. Click Set up a custom domain
  3. Enter your domain and click Continue

Step 2: DNS (if domain is on Cloudflare)

Cloudflare automatically adds the DNS record. Done.

Step 3: DNS (if domain is on another registrar)

Add a CNAME record:

Type Name Value
CNAME @ (or yourdomain.com) yourproject.pages.dev
CNAME www yourproject.pages.dev

Note: Some registrars don’t support CNAME on the apex (@). Use an ALIAS or ANAME record instead if available, or switch to Cloudflare DNS (it’s free and excellent).

HTTPS

Cloudflare provides HTTPS automatically via their edge network. No certificate configuration needed.


Redirecting www to Apex (or Vice Versa)

Users will type both www.yourdomain.com and yourdomain.com. Pick one as canonical and redirect the other.

On Netlify — automatic if you use Netlify DNS. Otherwise add to _redirects:

https://www.yourdomain.com/* https://yourdomain.com/:splat 301!

On Cloudflare — add a Page Rule or Redirect Rule: www.yourdomain.com/*https://yourdomain.com/$1 (301)

On GitHub Pages — add both yourdomain.com and www.yourdomain.com to your CNAME, GitHub handles the redirect automatically.


Update _config.yml

Once your custom domain is live, update your Jekyll config:

# _config.yml
url: "https://yourdomain.com"
baseurl: ""   # Empty for root domain

This ensures all canonical URLs, sitemaps, and Open Graph tags use your custom domain.

Rebuild and redeploy after this change.


Verify Everything Is Working

Check HTTPS:

curl -I https://yourdomain.com
# Should return: HTTP/2 200

Check www redirect:

curl -I https://www.yourdomain.com
# Should return: HTTP/2 301 and Location: https://yourdomain.com/

Check SSL certificate:
Open your site in a browser and click the padlock icon. The certificate should show as valid and issued for your domain.

Check Google Search Console:
Add your domain as a property in Search Console and verify ownership. Submit your sitemap at https://yourdomain.com/sitemap.xml.


Common Issues

Site still showing at username.github.io after setting custom domain
Wait for DNS propagation (up to 48 hours). Check propagation status at dnschecker.org.

HTTPS not working / certificate error
The SSL certificate is provisioned after DNS propagates. Wait 30–60 minutes after DNS is confirmed working.

www not redirecting
You need separate DNS records for www. Add the CNAME for www pointing to your hosting platform.

Jekyll site assets (CSS/JS) not loading after domain change
Update url in _config.yml to your new domain and ensure baseurl is empty. Rebuild and redeploy.


Once your custom domain is set up, your Jekyll site at yourdomain.com is fully production-ready. Browse Jekyll themes on JekyllHub to find a design that represents your brand.

Share LinkedIn

<!DOCTYPE html>

How to Add a Table of Contents to Jekyll Posts | JekyllHub
Home Blog How to Add a Table of Contents to Jekyll Posts
Tutorial

How to Add a Table of Contents to Jekyll Posts

Add an automatic table of contents to your Jekyll posts — using kramdown's built-in TOC, the jekyll-toc plugin, or a JavaScript approach with active section highlighting.

How to Add a Table of Contents to Jekyll Posts

A table of contents helps readers navigate long posts and signals to Google that your content is structured and comprehensive. Jekyll has three ways to add one — from a one-line kramdown shortcut to a fully interactive sticky sidebar TOC.


Option 1: kramdown Built-in TOC (Simplest)

Jekyll uses kramdown as its default Markdown processor, and kramdown includes a built-in TOC feature that requires zero plugins.

Add TOC to a Specific Post

In your post Markdown, add this wherever you want the TOC to appear:

* TOC
{:toc}

That’s it. kramdown automatically generates a nested list from all headings in the post.

Output example:

  • Introduction
  • Setting Up
    • Installation
    • Configuration
  • Advanced Usage
  • Conclusion

Style It

The TOC is rendered as a plain <ul>. Add CSS to make it look polished:

// _sass/components/_toc.scss
.toc {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
  font-size: 0.9rem;

  &::before {
    content: "On this page";
    display: block;
    font-weight: 700;
    margin-bottom: 0.75rem;
    color: var(--heading-color);
  }

  ul {
    margin: 0;
    padding-left: 1.25rem;
    list-style: none;
  }

  li {
    margin: 0.25rem 0;
  }

  a {
    color: var(--text-muted);
    text-decoration: none;

    &:hover {
      color: var(--link-color);
    }
  }
}

Add the class to the TOC element by wrapping it:

<div class="toc" markdown="1">
* TOC
{:toc}
</div>

Skip Specific Headings

To exclude a heading from the TOC, add {: .no_toc} after it:

## This heading appears in the TOC

## This one does not {: .no_toc}

Exclude the TOC from H1 and Only Show H2/H3

In _config.yml:

kramdown:
  toc_levels: "2..3"

Option 2: jekyll-toc Plugin (More Control)

The jekyll-toc plugin gives you more control — inject TOC separately from content, use it in layouts, and customise the output.

Install

# Gemfile
gem "jekyll-toc"
# _config.yml
plugins:
  - jekyll-toc

Run bundle install.

Usage in Layouts

In _layouts/post.html, split the content into TOC and body:


{% if page.toc %}
<aside class="post-toc">
  {{ content | toc_only }}
</aside>
{% endif %}

<div class="post-content">
  {{ content | inject_anchors }}
</div>

toc_only extracts the TOC as a standalone block.
inject_anchors adds id attributes to headings so TOC links work.

Control Per Post with Front Matter

---
toc: true   # Show TOC on this post
---
---
toc: false  # No TOC
---

Set a default in _config.yml:

defaults:
  - scope:
      type: posts
    values:
      toc: false   # Off by default, enable per post

Option 3: JavaScript TOC with Active Section Highlighting

For a sidebar TOC that highlights the current section as the user scrolls — the pattern used by documentation sites like Just the Docs and MDN:

HTML Structure

In your post layout, add a two-column wrapper:


<div class="post-wrapper">
  <article class="post-content">
    {{ content }}
  </article>
  
  <aside class="post-toc-sidebar" id="toc-sidebar">
    <nav aria-label="Table of contents">
      <p class="toc-sidebar__title">On this page</p>
      <ul id="toc-list"></ul>
    </nav>
  </aside>
</div>

JavaScript: Auto-Build + Scroll Spy

// assets/js/toc.js
(function() {
  const tocList = document.getElementById('toc-list');
  if (!tocList) return;

  // Build TOC from headings
  const headings = document.querySelectorAll('.post-content h2, .post-content h3');
  if (headings.length < 3) {
    document.getElementById('toc-sidebar').style.display = 'none';
    return;
  }

  headings.forEach(heading => {
    // Ensure heading has an ID
    if (!heading.id) {
      heading.id = heading.textContent
        .toLowerCase()
        .replace(/[^\w\s-]/g, '')
        .replace(/\s+/g, '-');
    }

    const li = document.createElement('li');
    li.className = heading.tagName === 'H3' ? 'toc-item toc-item--h3' : 'toc-item';
    li.innerHTML = `<a href="#${heading.id}" class="toc-link">${heading.textContent}</a>`;
    tocList.appendChild(li);
  });

  // Scroll spy — highlight active section
  const observer = new IntersectionObserver(entries => {
    entries.forEach(entry => {
      const id = entry.target.getAttribute('id');
      const link = tocList.querySelector(`a[href="#${id}"]`);
      if (!link) return;

      if (entry.isIntersecting) {
        tocList.querySelectorAll('.toc-link').forEach(l => l.classList.remove('active'));
        link.classList.add('active');
      }
    });
  }, {
    rootMargin: '-10% 0px -80% 0px'
  });

  headings.forEach(h => observer.observe(h));
})();

CSS

.post-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;

  @media (min-width: 1200px) {
    grid-template-columns: 1fr 240px;
    align-items: start;
  }
}

.post-toc-sidebar {
  display: none;

  @media (min-width: 1200px) {
    display: block;
    position: sticky;
    top: 2rem;
    font-size: 0.85rem;
  }
}

.toc-sidebar__title {
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  margin-bottom: 0.75rem;
}

#toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-left: 2px solid var(--border-color);
}

.toc-item {
  padding: 0.2rem 0;
}

.toc-item--h3 .toc-link {
  padding-left: 1.5rem;
}

.toc-link {
  display: block;
  padding: 0.2rem 0 0.2rem 0.75rem;
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.15s, border-color 0.15s;
  border-left: 2px solid transparent;
  margin-left: -2px;
  line-height: 1.4;

  &:hover { color: var(--link-color); }

  &.active {
    color: var(--link-color);
    border-left-color: var(--link-color);
    font-weight: 600;
  }
}

Which Option to Choose

  kramdown built-in jekyll-toc plugin JavaScript
Setup effort Minimal Easy Medium
Position Inline in post Flexible Sidebar
Scroll highlighting No No Yes
Works on GitHub Pages Yes No* Yes
Best for Quick inline TOC Layout-based TOC Documentation, long posts

*jekyll-toc requires GitHub Actions for deployment.

For most blogs: kramdown’s built-in {:toc} is the right choice — one line, zero dependencies.

For documentation or long technical posts: the JavaScript sidebar TOC with scroll highlighting is worth the extra setup.


Browse Jekyll themes on JekyllHub — themes like Just the Docs and Chirpy include TOC functionality built in.

Share LinkedIn

<!DOCTYPE html>

Jekyll Data Files: The Complete Guide to _data | JekyllHub
Home Blog Jekyll Data Files: The Complete Guide to _data
Tutorial

Jekyll Data Files: The Complete Guide to _data

Master Jekyll data files — store structured content in YAML, JSON, and CSV, loop through it in Liquid templates, and build navigation, team pages, and more.

Jekyll Data Files: The Complete Guide to _data

The _data folder is one of Jekyll’s most underused features. It lets you store structured content — navigation menus, team members, FAQs, pricing tables, social links — in clean YAML, JSON, or CSV files, then access them in any template with site.data. This guide covers everything.


What Are Data Files?

Data files live in the _data/ folder in your Jekyll site root. Jekyll reads them at build time and makes the data available globally via site.data.filename.

Supported formats:

  • YAML (.yml or .yaml) — best for nested structures
  • JSON (.json) — good if you’re pulling from an API or other tool
  • CSV (.csv) — useful for tabular data, spreadsheet exports
  • TSV (.tsv) — tab-separated, similar to CSV

Basic Usage

A Simple YAML Data File

Create _data/social.yml:

- name: Twitter
  url: https://twitter.com/yourhandle
  icon: twitter

- name: GitHub
  url: https://github.com/yourusername
  icon: github

- name: LinkedIn
  url: https://linkedin.com/in/yourprofile
  icon: linkedin

Access it in any template with site.data.social:


<ul class="social-links">
  {% for link in site.data.social %}
    <li>
      <a href="{{ link.url }}" aria-label="{{ link.name }}" target="_blank" rel="noopener">
        <span class="icon icon--{{ link.icon }}"></span>
        {{ link.name }}
      </a>
    </li>
  {% endfor %}
</ul>


Real-World Use Cases

1. Navigation Menu

The most common use — keeps nav out of layout HTML:

# _data/navigation.yml
main:
  - title: Themes
    url: /themes/
  - title: Blog
    url: /blog/
  - title: About
    url: /about/
  - title: Contact
    url: /contact/

footer:
  - title: Privacy Policy
    url: /privacy/
  - title: Terms
    url: /terms/
  - title: FAQ
    url: /faq/

<!-- Main nav -->
{% for item in site.data.navigation.main %}
  <a href="{{ item.url | relative_url }}">{{ item.title }}</a>
{% endfor %}

<!-- Footer nav -->
{% for item in site.data.navigation.footer %}
  <a href="{{ item.url | relative_url }}">{{ item.title }}</a>
{% endfor %}


2. Team Members

# _data/team.yml
- name: Sarah Jones
  role: Lead Developer
  bio: "10 years building Jekyll themes and static sites."
  avatar: /assets/images/team/sarah.jpg
  github: sarahjones
  twitter: sarahjones

- name: James Park
  role: Designer
  bio: "UI/UX designer specialising in minimal, fast-loading designs."
  avatar: /assets/images/team/james.jpg
  github: jamespark
  twitter: jamespark

<div class="team-grid">
  {% for member in site.data.team %}
    <div class="team-card">
      <img src="{{ member.avatar | relative_url }}" alt="{{ member.name }}" loading="lazy">
      <h3>{{ member.name }}</h3>
      <p class="role">{{ member.role }}</p>
      <p>{{ member.bio }}</p>
      <div class="social">
        {% if member.github %}
          <a href="https://github.com/{{ member.github }}">GitHub</a>
        {% endif %}
        {% if member.twitter %}
          <a href="https://twitter.com/{{ member.twitter }}">Twitter</a>
        {% endif %}
      </div>
    </div>
  {% endfor %}
</div>


3. FAQ with Structured Data

# _data/faq.yml
- question: "How do I install a Jekyll theme?"
  answer: "Download or fork the theme repository, add the gem to your Gemfile if it's gem-based, run bundle install, and set the theme in _config.yml."
  category: installation

- question: "Are Jekyll themes free?"
  answer: "Many Jekyll themes are free and open-source on GitHub. Premium themes with extra features and support are also available."
  category: themes

- question: "Can I use Jekyll with GitHub Pages?"
  answer: "Yes. Jekyll has native GitHub Pages support  push your site to a GitHub repository and it builds and deploys automatically."
  category: hosting

<!-- Group by category -->
{% assign faq_by_category = site.data.faq | group_by: "category" %}
{% for group in faq_by_category %}
  <h2>{{ group.name | capitalize }}</h2>
  {% for item in group.items %}
    <details>
      <summary>{{ item.question }}</summary>
      <p>{{ item.answer }}</p>
    </details>
  {% endfor %}
{% endfor %}


4. Pricing Table

# _data/pricing.yml
- name: Free
  price: 0
  period: forever
  features:
    - Access to all free themes
    - GitHub Pages compatible
    - Community support
  cta_text: Browse Free Themes
  cta_url: /themes/?type=free
  featured: false

- name: Premium
  price: 49
  period: one-time
  features:
    - Beautiful premium design
    - Full source code
    - 6 months support
    - Commercial licence
    - Updates included
  cta_text: Browse Premium Themes
  cta_url: /themes/?type=premium
  featured: true

<div class="pricing-grid">
  {% for plan in site.data.pricing %}
    <div class="pricing-card {% if plan.featured %}pricing-card--featured{% endif %}">
      <h3>{{ plan.name }}</h3>
      <div class="price">
        {% if plan.price == 0 %}
          Free
        {% else %}
          ${{ plan.price }}
          <span class="period">{{ plan.period }}</span>
        {% endif %}
      </div>
      <ul>
        {% for feature in plan.features %}
          <li>{{ feature }}</li>
        {% endfor %}
      </ul>
      <a href="{{ plan.cta_url }}" class="btn {% if plan.featured %}btn--primary{% endif %}">
        {{ plan.cta_text }}
      </a>
    </div>
  {% endfor %}
</div>


5. Skills / Technologies List

# _data/skills.yml
- category: Frontend
  items:
    - name: HTML/CSS
      level: 95
    - name: JavaScript
      level: 88
    - name: React
      level: 80

- category: Tools
  items:
    - name: Jekyll
      level: 95
    - name: Git
      level: 90
    - name: Figma
      level: 75

{% for group in site.data.skills %}
  <div class="skill-group">
    <h3>{{ group.category }}</h3>
    {% for skill in group.items %}
      <div class="skill-bar">
        <span class="skill-name">{{ skill.name }}</span>
        <div class="skill-track">
          <div class="skill-fill" style="width: {{ skill.level }}%"></div>
        </div>
      </div>
    {% endfor %}
  </div>
{% endfor %}


6. CSV Data (Spreadsheet-Friendly)

Jekyll reads CSV files too. Great for tabular data you manage in a spreadsheet:

# _data/themes.csv
name,stars,category,url
Minimal Mistakes,27000,Blog,/themes/minimal-mistakes/
Chirpy,7000,Blog,/themes/chirpy/
Just the Docs,8000,Documentation,/themes/just-the-docs/

{% for theme in site.data.themes %}
  <tr>
    <td><a href="{{ theme.url }}">{{ theme.name }}</a></td>
    <td>{{ theme.stars | number_with_delimiter }}</td>
    <td>{{ theme.category }}</td>
  </tr>
{% endfor %}


Nested Data Files (Subdirectories)

You can organise data files in subdirectories. Access them with dot notation:

_data/
  content/
    homepage.yml
    about.yml
  settings/
    theme.yml
    social.yml

{{ site.data.content.homepage.hero_title }}
{{ site.data.settings.social.twitter }}


Filtering and Sorting Data in Liquid


<!-- Filter by a field value -->
{% assign free_themes = site.data.themes | where: "type", "free" %}

<!-- Filter with expression -->
{% assign featured = site.data.themes | where_exp: "item", "item.stars > 1000" %}

<!-- Sort by a field -->
{% assign by_stars = site.data.themes | sort: "stars" | reverse %}

<!-- Limit results -->
{% assign top_5 = by_stars | limit: 5 %}

<!-- Find a specific item -->
{% assign chirpy = site.data.themes | find: "name", "Chirpy" %}


Data Files vs Collections vs Front Matter

Use case Best approach
Site-wide config (author, title) _config.yml
Repeated structured lists (nav, team, FAQs) _data/ files
Content with its own pages Collections (_themes/, _posts/)
Page-specific metadata Front matter

Rule of thumb: If the data is used across multiple pages and doesn’t need its own URL, put it in _data/. If it needs its own page, use a collection.


Keeping Data Files in Sync

Data files are just text files in your repository. You can:

  • Edit them directly in VS Code or any text editor
  • Generate them from a script (e.g. a Python script that pulls GitHub star counts and writes _data/stars.yml)
  • Commit updates via GitHub’s web interface (useful for non-developers)

For example, a nightly GitHub Action that updates star counts:

# .github/workflows/update-stars.yml
on:
  schedule:
    - cron: '0 6 * * *'  # Daily at 6am

jobs:
  update:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Update star counts
        run: python3 tools/update-stars.py
      - name: Commit changes
        run: |
          git config user.name "github-actions"
          git config user.email "actions@github.com"
          git add _data/stars.yml
          git diff --staged --quiet || git commit -m "Update star counts"
          git push

Data files are one of Jekyll’s most powerful and underappreciated features. Once you start using them, you’ll find dozens of places to replace hard-coded content with clean, maintainable YAML.

Browse Jekyll themes on JekyllHub — many themes use data files for navigation, settings, and author information, giving you a practical example to learn from.

Share LinkedIn

<!DOCTYPE html>

Jekyll vs WordPress: Should You Switch in 2026? | JekyllHub
Home Blog Jekyll vs WordPress: Should You Switch in 2026?
Comparison

Jekyll vs WordPress: Should You Switch in 2026?

An honest comparison of Jekyll and WordPress — speed, cost, security, ease of use, and SEO. Who should switch, who shouldn't, and how to decide.

Jekyll vs WordPress: Should You Switch in 2026?

WordPress powers 43% of the web. Jekyll powers a fraction of that. So why would anyone switch? For the right kind of site, Jekyll is dramatically better — faster, cheaper, more secure, and easier to maintain. For the wrong kind of site, it’s an unnecessary headache. Here’s how to tell which camp you’re in.


The Fundamental Difference

WordPress is a dynamic CMS. When someone visits your site, a PHP server queries a MySQL database, builds the HTML, and sends it back. Every page view triggers this cycle.

Jekyll is a static site generator. You run a build command locally or in CI/CD, it generates plain HTML files, and those files are served directly to visitors. No PHP, no database, no server-side processing.

This difference drives almost everything else in this comparison.


Speed

WordPress

WordPress is inherently slower because every page view involves a PHP process and a database query. With caching plugins (WP Rocket, W3 Total Cache), WordPress can be fast — but you’re fighting the architecture.

A typical uncached WordPress page load: 1–3 seconds.
With good caching and a CDN: 300–800ms.
With expensive managed hosting and heavy optimisation: 200–400ms.

Jekyll

A Jekyll site served from Cloudflare Pages, Netlify, or Vercel is pure HTML from a global CDN. There is nothing to execute.

A typical Jekyll page load: 100–300ms.
With image optimisation: consistently under 200ms.

Winner: Jekyll — it’s not close. Google’s Core Web Vitals scores on Jekyll sites are almost always green with minimal effort.


Cost

WordPress

  • Hosting: $5–$30/month (shared), $25–$100/month (managed like WP Engine or Kinsta)
  • Domain: $10–$15/year
  • Premium theme: $50–$200 one-time
  • Plugins: $0–$500+/year (SEO, security, backup, forms, caching…)
  • Developer time: Security updates, plugin conflicts, maintenance

Realistic annual cost for a serious WordPress site: $200–$1,500+

Jekyll

  • Hosting: $0 (GitHub Pages, Netlify, Cloudflare Pages free tiers)
  • Domain: $10–$15/year
  • Premium theme: $0–$79 one-time
  • Plugins: $0 (Jekyll plugins are open-source Ruby gems)
  • Developer time: Near zero — no updates, no security patches, no database backups

Realistic annual cost for a Jekyll site: $10–$90 (domain + optional premium theme)

Winner: Jekyll — the hosting cost difference alone pays for a premium theme within one month.


Security

WordPress

WordPress is the most attacked CMS on the internet. Because it’s so popular, it’s worth building exploit toolkits for. Common attack vectors include plugin vulnerabilities, weak passwords, outdated WordPress core, and PHP injection.

Running a WordPress site means staying on top of core, theme, and plugin updates — not because you want to, but because a single unpatched vulnerability can result in a hacked site.

Jekyll

A Jekyll site is a folder of HTML files. There is no login page to brute-force, no database to inject, no PHP to exploit, and no admin panel to compromise.

The attack surface is essentially zero. The worst thing that can happen is someone compromises your GitHub account — which two-factor authentication prevents.

Winner: Jekyll — by a wide margin. “Static security” is a real advantage.


Ease of Use

WordPress

WordPress has a visual editor (Gutenberg or Classic), media library, user management, and a dashboard that non-technical users can navigate. Writing and publishing requires no technical knowledge. Installing plugins and themes takes a few clicks.

Jekyll

Jekyll requires comfort with the command line, Markdown, Git, and YAML front matter. Publishing a post means writing a .md file, running git commit, and pushing to GitHub. There is no admin panel.

Winner: WordPress — for non-technical users, WordPress is dramatically easier to use day-to-day.


SEO

WordPress

WordPress has excellent SEO plugins (Yoast, Rank Math) that handle meta tags, sitemaps, structured data, and more. The tools are good. The platform itself — slow page loads, bloated HTML — works against you.

Jekyll

Jekyll has jekyll-seo-tag, jekyll-sitemap, and the ability to add custom JSON-LD anywhere. The tools are slightly more manual, but the platform advantages (fast load times, clean HTML, excellent Core Web Vitals) are significant ranking factors.

Google’s Page Experience update made Core Web Vitals a ranking signal. Jekyll sites score better here structurally.

Winner: Slight edge to Jekyll — better platform performance outweighs WordPress’s more polished SEO tooling.


Content Management

WordPress

Full-featured CMS: media library, categories, tags, custom post types, user roles, editorial workflow, scheduled publishing, and revision history. Purpose-built for managing content at scale.

Jekyll

Posts are Markdown files. Images are in an assets/ folder. There’s no media library, no user management, no visual editor. For teams or non-technical editors, this is a real limitation.

Options to add a CMS-like interface to Jekyll:

Winner: WordPress — content management is what WordPress was built for.


When to Choose Jekyll

  • Personal blog, portfolio, or documentation site
  • Developer-built and developer-maintained
  • Performance and cost are priorities
  • You write in Markdown comfortably
  • No need for user accounts, e-commerce, or complex content workflows

When to Stick with WordPress

  • Non-technical editors need to publish content without developer help
  • You need e-commerce (WooCommerce)
  • You have complex content workflows with multiple roles
  • You need plugins for booking, memberships, or LMS features
  • The existing WordPress ecosystem (thousands of themes, plugins) solves your problems

The Switch: Is It Worth It?

If you run a personal blog, technical documentation, or a portfolio site on WordPress, switching to Jekyll will almost certainly make your site faster, cheaper to run, and easier to maintain. The migration takes a weekend and the ongoing benefits are real.

If you run a business site with non-technical editors, a WooCommerce store, or complex workflows — stay on WordPress. Jekyll won’t give you what you need.

The most honest answer: if you’re reading a Jekyll theme marketplace, you’re probably already in the Jekyll camp. The fact that you’re evaluating themes means you’re comfortable with the technical side, and the speed and cost advantages are likely worth it.

Ready to switch? Browse Jekyll themes on JekyllHub and read our complete WordPress to Jekyll migration guide to get started.


References

Share LinkedIn

<!DOCTYPE html>

How to Add a Contact Form to Your Jekyll Site | JekyllHub
Home Blog How to Add a Contact Form to Your Jekyll Site
Tutorial

How to Add a Contact Form to Your Jekyll Site

Add a working contact form to Jekyll without a backend — using Formspree, Netlify Forms, or Getform. Setup guides for all three with spam protection tips.

How to Add a Contact Form to Your Jekyll Site

Jekyll generates static HTML — there’s no server-side code to process form submissions. But you don’t need one. Three services handle form submissions for static sites, and all have free tiers that cover most personal and small business needs.


The Three Best Options

  Formspree Netlify Forms Getform
Free submissions 50/month 100/month 100/month
Setup difficulty Very easy Easy (Netlify only) Very easy
Spam protection reCAPTCHA, honeypot Honeypot, Akismet reCAPTCHA, honeypot
File uploads Paid Paid Free
Webhooks Paid Yes Yes
Works on any host Yes Netlify only Yes

Formspree is the simplest option — point your form’s action at a Formspree endpoint and submissions are emailed to you.

Setup

  1. Sign up at formspree.io (free)
  2. Click New Form, give it a name
  3. Copy your form endpoint URL (looks like https://formspree.io/f/xpzgkwlr)

HTML

<!-- contact.md or _pages/contact.md -->
---
layout: page
title: Contact
permalink: /contact/
---

<form action="https://formspree.io/f/YOUR_FORM_ID" method="POST" class="contact-form">
  <div class="form-group">
    <label for="name">Name <span aria-hidden="true">*</span></label>
    <input type="text" id="name" name="name" required autocomplete="name">
  </div>

  <div class="form-group">
    <label for="email">Email <span aria-hidden="true">*</span></label>
    <input type="email" id="email" name="email" required autocomplete="email">
  </div>

  <div class="form-group">
    <label for="subject">Subject</label>
    <input type="text" id="subject" name="subject">
  </div>

  <div class="form-group">
    <label for="message">Message <span aria-hidden="true">*</span></label>
    <textarea id="message" name="message" rows="6" required></textarea>
  </div>

  <!-- Honeypot spam protection -->
  <input type="text" name="_gotcha" style="display:none">

  <!-- Redirect after submission -->
  <input type="hidden" name="_next" value="https://yourdomain.com/thank-you/">

  <button type="submit" class="btn btn--primary">Send Message</button>
</form>

Create a Thank You Page

Create _pages/thank-you.md:

---
layout: page
title: Message Sent
permalink: /thank-you/
sitemap: false
---

Thanks for getting in touch — I'll reply within 1–2 business days.

AJAX Submission (No Page Redirect)

For a smoother experience, submit with JavaScript:

<form id="contact-form" action="https://formspree.io/f/YOUR_FORM_ID" method="POST">
  <!-- form fields as above -->
  <button type="submit" id="submit-btn">Send Message</button>
  <p id="form-status" style="display:none"></p>
</form>

<script>
  const form = document.getElementById('contact-form');
  const status = document.getElementById('form-status');
  const btn = document.getElementById('submit-btn');

  form.addEventListener('submit', async function(e) {
    e.preventDefault();
    btn.disabled = true;
    btn.textContent = 'Sending...';

    const data = new FormData(form);
    try {
      const response = await fetch(form.action, {
        method: 'POST',
        body: data,
        headers: { 'Accept': 'application/json' }
      });

      if (response.ok) {
        form.reset();
        status.textContent = "Thanks! I'll be in touch soon.";
        status.style.color = 'green';
        btn.textContent = 'Sent ✓';
      } else {
        throw new Error('Server error');
      }
    } catch (err) {
      status.textContent = 'Something went wrong. Please try again.';
      status.style.color = 'red';
      btn.disabled = false;
      btn.textContent = 'Send Message';
    }
    status.style.display = 'block';
  });
</script>

Option 2: Netlify Forms (Best if Hosting on Netlify)

If your Jekyll site is hosted on Netlify, form handling is built in — no third-party service needed.

Setup

Add netlify attribute to your form tag. That’s it:

<form name="contact" method="POST" data-netlify="true" netlify-honeypot="bot-field">
  <input type="hidden" name="form-name" value="contact">
  
  <!-- Honeypot -->
  <div style="display:none">
    <label>Don't fill this out: <input name="bot-field"></label>
  </div>

  <div class="form-group">
    <label for="name">Name</label>
    <input type="text" id="name" name="name" required>
  </div>

  <div class="form-group">
    <label for="email">Email</label>
    <input type="email" id="email" name="email" required>
  </div>

  <div class="form-group">
    <label for="message">Message</label>
    <textarea id="message" name="message" rows="6" required></textarea>
  </div>

  <button type="submit">Send</button>
</form>

Netlify detects the data-netlify="true" attribute at build time and registers the form automatically. Submissions appear in your Netlify dashboard under Forms.

Email Notifications

In Netlify Dashboard → Forms → your form → Form notifications, add your email address. You’ll get an email for every submission.

Free Plan Limit

100 form submissions/month on Netlify’s free tier. Enough for most personal sites and small businesses.


Option 3: Getform

Getform is similar to Formspree with a generous free tier.

Setup

  1. Sign up at getform.io
  2. Create a form endpoint
  3. Copy the endpoint URL
<form action="https://getform.io/f/YOUR_ENDPOINT" method="POST">
  <input type="text" name="name" placeholder="Name" required>
  <input type="email" name="email" placeholder="Email" required>
  <textarea name="message" placeholder="Message" required></textarea>
  
  <!-- Honeypot -->
  <input type="hidden" name="_gotcha" style="display:none">
  
  <button type="submit">Send</button>
</form>

Styling the Contact Form

// _sass/components/_forms.scss

.contact-form {
  max-width: 600px;
}

.form-group {
  margin-bottom: 1.25rem;

  label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.375rem;
    font-size: 0.9rem;
    color: var(--text-color);
  }

  input[type="text"],
  input[type="email"],
  textarea {
    width: 100%;
    padding: 0.625rem 0.875rem;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    background: var(--bg-color);
    color: var(--text-color);
    font-size: 1rem;
    font-family: inherit;
    transition: border-color 0.15s;

    &:focus {
      outline: none;
      border-color: var(--color-primary);
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
    }
  }

  textarea {
    resize: vertical;
    min-height: 140px;
  }
}

Spam Protection

All three services include basic spam protection. For extra security:

Honeypot field — A hidden field bots fill in but humans don’t:

<input type="text" name="_gotcha" style="display:none" tabindex="-1" autocomplete="off">

Check for it if processing on your end — any submission where _gotcha is filled is a bot.

reCAPTCHA v3 (Formspree Pro) — Invisible challenge, no checkbox needed. Better UX than v2.

Rate limiting — All three services rate-limit submissions by IP automatically.


Which to Choose

  • Formspree — best default choice, works on any host, cleanest setup
  • Netlify Forms — best if you’re already on Netlify, no third-party account needed
  • Getform — good Formspree alternative with file upload support on free tier

All three have free tiers that handle 50–100 submissions/month — more than enough for contact forms on most sites.


Browse Jekyll themes on JekyllHub — several themes include a pre-styled contact page ready to connect to your form service.

Share LinkedIn

<!DOCTYPE html>

How to Add Google Analytics to Your Jekyll Site | JekyllHub
Home Blog How to Add Google Analytics to Your Jekyll Site
Tutorial

How to Add Google Analytics to Your Jekyll Site

Add Google Analytics 4 to Jekyll in under 5 minutes — with the tracking snippet, privacy-friendly loading, and how to verify it's working correctly.

How to Add Google Analytics to Your Jekyll Site

Adding Google Analytics to Jekyll takes about 5 minutes. This guide covers Google Analytics 4 (GA4), the only version Google currently supports, plus tips for privacy-friendly loading and verifying it works.


What You Need

  • A Google account
  • Your Jekyll site’s URL
  • Access to your Jekyll theme files

Step 1: Create a GA4 Property

  1. Go to analytics.google.com
  2. Click Admin (gear icon, bottom left)
  3. Click CreateProperty
  4. Enter your property name and time zone, click Next
  5. Fill in your business details, click Create
  6. Choose Web as the platform
  7. Enter your website URL and stream name
  8. Click Create stream

You’ll see your Measurement ID — it looks like G-XXXXXXXXXX. Copy it.


Step 2: Add Your Measurement ID to _config.yml

Store the ID in your config so it’s easy to change and easy to disable:

# _config.yml
google_analytics: G-XXXXXXXXXX

Step 3: Create the Analytics Include

Create _includes/analytics.html:


{% if site.google_analytics %}
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', '{{ site.google_analytics }}');
</script>
{% endif %}

The {% if site.google_analytics %} check means analytics only loads when the ID is set — remove the ID from _config.yml to disable tracking entirely.


Step 4: Add to Your Layout

In _layouts/default.html, add the include just before </head>:


<head>
  <!-- your existing head content -->
  {% include analytics.html %}
</head>


Step 5: Disable Analytics in Development

You don’t want to track your own visits while building locally. Jekyll sets JEKYLL_ENV to development by default locally and production on most hosts.

Update your include to only load in production:


{% if site.google_analytics and jekyll.environment == 'production' %}
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', '{{ site.google_analytics }}');
</script>
{% endif %}

Make sure your deployment sets the environment variable:

# Netlify / Cloudflare Pages — add environment variable:
JEKYLL_ENV=production

GitHub Actions already sets this in the default Jekyll workflow.


Step 6: Verify It’s Working

Method A: Real-time report

  1. Open Google Analytics → Reports → Realtime
  2. Open your live site in another tab
  3. You should see yourself as an active user within 30 seconds

Method B: Browser Dev Tools

  1. Open your live site
  2. Open DevTools → Network tab
  3. Filter by google or gtag
  4. Refresh the page — you should see requests to googletagmanager.com

Method C: GA4 Debugger Install the Google Analytics Debugger Chrome extension. It logs all GA4 events to the console.


GDPR requires user consent before setting analytics cookies in the EU. If your audience is European or you want to be safe:


{% if site.google_analytics and jekyll.environment == 'production' %}
<script>
  // Only load GA after user clicks "Accept"
  function loadAnalytics() {
    var s = document.createElement('script');
    s.src = 'https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}';
    s.async = true;
    document.head.appendChild(s);
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', '{{ site.google_analytics }}');
  }
  
  if (localStorage.getItem('analytics_consent') === 'true') {
    loadAnalytics();
  }
</script>
{% endif %}

Option B: Switch to a Privacy-First Alternative

If GDPR compliance is important, consider:

  • Plausible Analytics — no cookies, GDPR compliant, $9/month. Add with one script tag.
  • Fathom Analytics — similar to Plausible, privacy-first
  • Cloudflare Web Analytics — free, no cookies, built into Cloudflare Pages

For Plausible:


{% if site.plausible_domain and jekyll.environment == 'production' %}
<script defer data-domain="{{ site.plausible_domain }}" 
        src="https://plausible.io/js/script.js"></script>
{% endif %}

# _config.yml
plausible_domain: yourdomain.com

Common Issues

Analytics not showing data

  • Check that JEKYLL_ENV=production is set in your deployment environment
  • Verify the script is in the <head> of your built HTML (view source on the live site)
  • Check browser console for errors
  • Make sure you’re not running an ad blocker that blocks GA

Seeing your own visits in reports

  • You’re either not using the jekyll.environment == 'production' check, or JEKYLL_ENV isn’t being set correctly on your host
  • Install the Block Yourself from Analytics Chrome extension

Data appears in GA but with wrong URL

  • Check url in _config.yml — it should be your full domain with https://
  • In GA4, verify the data stream URL matches your live site URL

Once GA4 is tracking, wait 24–48 hours and then check Reports → Acquisition → Traffic acquisition to see where your visitors are coming from. For a new site, most traffic will be direct initially — organic search traffic grows over weeks as Google indexes your posts.

Browse Jekyll themes on JekyllHub — many themes include pre-configured analytics support in their _config.yml.

Share LinkedIn

<!DOCTYPE html>

Jekyll Hosting Comparison: GitHub Pages vs Netlify vs Cloudflare Pages vs Vercel | JekyllHub
Home Blog Jekyll Hosting Comparison: GitHub Pages vs Netlify vs Cloudflare Pages vs Vercel
Tutorial

Jekyll Hosting Comparison: GitHub Pages vs Netlify vs Cloudflare Pages vs Vercel

Compare the four best Jekyll hosting platforms — GitHub Pages, Netlify, Cloudflare Pages, and Vercel. Free plans, build times, CDN speed, custom domains, and which to choose.

Jekyll Hosting Comparison: GitHub Pages vs Netlify vs Cloudflare Pages vs Vercel

Choosing where to host your Jekyll site is one of the first decisions you’ll make — and all four major platforms are free for personal projects. The differences come down to build speed, CDN coverage, plugin support, and how much you want to configure. Here’s a plain-English breakdown.


At a Glance

  GitHub Pages Netlify Cloudflare Pages Vercel
Free plan Yes Yes Yes Yes
Custom domain Yes Yes Yes Yes
Free SSL Yes Yes Yes Yes
CDN locations Limited 100+ PoPs 300+ PoPs 100+ PoPs
Build time (typical) 30–90s 15–45s 10–30s 10–30s
Any Jekyll plugin No Yes Yes Yes
Preview deploys No Yes Yes Yes
Build minutes (free) Unlimited 300/month Unlimited 6,000/month
Bandwidth (free) 100GB/month 100GB/month Unlimited 100GB/month

GitHub Pages

GitHub Pages is the default choice for Jekyll — it’s the only platform with native Jekyll support. Push to a repository and it builds and deploys automatically with zero configuration.

What makes it great

  • Zero setup — no accounts beyond GitHub, no CI/CD, no config files
  • Free forever — no build minute limits, no bandwidth caps (within reason)
  • Tight GitHub integration — deployments show in your commit history, PR checks, and Actions tab

The catch: limited plugins

GitHub Pages only supports a specific list of plugins. Popular ones like jekyll-archives, jekyll-paginate-v2, and any custom gems won’t work.

Workaround: Use GitHub Actions to build Jekyll yourself and deploy the output. This removes the plugin restriction entirely:

# .github/workflows/deploy.yml
- name: Build with Jekyll
  run: bundle exec jekyll build
  # Now you can use any plugin

Best for

Beginners, simple blogs, open-source project documentation, anyone who wants zero infrastructure decisions.


Netlify

Netlify was the first platform to make static site deployment truly developer-friendly. It remains one of the best options for Jekyll.

What makes it great

  • Any plugin — you control the build, so any gem works
  • Preview deploys — every pull request gets its own preview URL (https://deploy-preview-42--mysite.netlify.app)
  • Form handling — built-in form submissions without a backend (free up to 100/month)
  • Split testing — A/B test different branches
  • Netlify Functions — serverless functions if you ever need a backend endpoint
  • Instant rollbacks — one click to revert to any previous deploy

Configuration

Create netlify.toml in your repo root:

[build]
  command = "bundle exec jekyll build"
  publish = "_site"

[build.environment]
  JEKYLL_ENV = "production"
  RUBY_VERSION = "3.3"

[[headers]]
  for = "/assets/*"
  [headers.values]
    Cache-Control = "public, max-age=31536000, immutable"

[[redirects]]
  from = "/old-url/"
  to = "/new-url/"
  status = 301

Free plan limits

300 build minutes/month. A typical Jekyll build takes 30–60 seconds, so you get roughly 300–600 deploys/month — more than enough for most projects.

Best for

Projects that need preview deploys, contact forms, redirects, or any plugin beyond the GitHub Pages whitelist.


Cloudflare Pages

Cloudflare Pages is the newest of the four and has quickly become the performance leader. Its CDN has 300+ locations worldwide — meaning files are served from close to every user on the planet.

What makes it great

  • Fastest CDN — 300+ points of presence, best global coverage of any free tier
  • Unlimited bandwidth — no caps, no overage charges, ever
  • Unlimited build minutes — no monthly limits on the free plan
  • Any plugin — full control over the build
  • Preview deploys — every branch and PR gets a preview URL
  • Web Analytics — free, privacy-friendly analytics built in (no cookie banner needed)
  • Cloudflare Workers — edge functions for dynamic behaviour if needed

Configuration

Connect your GitHub/GitLab repo in the Cloudflare Pages dashboard and set:

  • Build command: bundle exec jekyll build
  • Build output directory: _site
  • Environment variable: JEKYLL_ENV = production

No config file needed — it’s all in the dashboard.

Redirects

Create a _redirects file in your site root (same format as Netlify):

/old-url/   /new-url/   301

Best for

Sites where global performance matters — international audiences, high-traffic sites, anyone who wants the best CDN coverage for free.


Vercel

Vercel is best known for Next.js hosting, but it works well with Jekyll too. Its developer experience is excellent and its edge network is fast.

What makes it great

  • Fast build infrastructure — builds often complete faster than Netlify
  • Excellent CLIvercel command deploys from your terminal instantly
  • Preview deploys — every push and PR gets a preview URL with a comment on GitHub
  • Analytics — paid add-on, but detailed
  • Edge functions — Vercel Edge Functions if you need dynamic routes

Configuration

Create vercel.json:

{
  "buildCommand": "bundle exec jekyll build",
  "outputDirectory": "_site",
  "installCommand": "bundle install"
}

Free plan limits

6,000 build minutes/month — more than GitHub Actions but less than Cloudflare’s unlimited.

Important: Vercel’s free plan is for personal/non-commercial use. Commercial sites require a paid plan ($20+/month). For a commercial theme marketplace, check the terms carefully.

Best for

Developer tools, open-source projects, teams already using Vercel for other projects.


Which Should You Choose?

Just starting out / personal blog: GitHub Pages — zero decisions, zero setup, free forever.

Need any Jekyll plugin: Netlify, Cloudflare Pages, or Vercel — all support custom builds.

Best global performance: Cloudflare Pages — 300+ CDN locations, unlimited bandwidth, unlimited builds.

Need contact forms built in: Netlify — form handling is a native feature, not a third-party integration.

Commercial project: Cloudflare Pages or Netlify — Vercel’s free tier restricts commercial use.

Our recommendation for most new JekyllHub users: Start with GitHub Pages for simplicity. If you outgrow its plugin restrictions or need better global performance, migrate to Cloudflare Pages — the unlimited bandwidth and build minutes make it the most generous free tier.


Migrating Between Platforms

All four platforms deploy from the same Git repository. Switching is as simple as:

  1. Sign up for the new platform
  2. Connect the same GitHub repo
  3. Set the build command (bundle exec jekyll build) and output directory (_site)
  4. Update your domain’s DNS to point to the new host
  5. Delete the old deployment

The whole process takes under 30 minutes and your Jekyll site code doesn’t change at all.


Browse Jekyll themes on JekyllHub — all themes are tested for compatibility with GitHub Pages, Netlify, and Cloudflare Pages.

Share LinkedIn

<!DOCTYPE html>

How to Migrate from WordPress to Jekyll Without Losing SEO | JekyllHub
Home Blog How to Migrate from WordPress to Jekyll Without Losing SEO
Tutorial

How to Migrate from WordPress to Jekyll Without Losing SEO

Migrate your WordPress site to Jekyll while preserving rankings — keep URLs intact, set up 301 redirects, transfer authority, and resubmit your sitemap correctly.

How to Migrate from WordPress to Jekyll Without Losing SEO

Migrating from WordPress to Jekyll can destroy your search rankings if done carelessly — or preserve them completely if done right. The difference is almost entirely about URLs and redirects. This guide focuses specifically on the SEO side of migration.


Why Migrations Hurt Rankings (And How to Avoid It)

When you migrate a site, Google typically sees:

  1. Broken URLs — old pages return 404, Google drops them from the index
  2. Changed URLs without redirects — link equity built up over years evaporates
  3. Missing content signals — metadata, structured data, and canonicals vanish
  4. Crawl errors — Google Search Console fills with errors, trust drops

All of these are avoidable with the right preparation.


Step 1: Audit Your Current Rankings Before You Touch Anything

Before migrating, document what you have to protect.

Export your current rankings:

  1. Open Google Search Console
  2. Go to Performance → Search results
  3. Export the full report (all queries, all pages)
  4. Save it — this is your baseline

Identify your top pages: Sort by impressions or clicks. The top 20 pages drive the majority of your traffic. These are the pages that absolutely must have working redirects.

Check your backlinks: Use Ahrefs, Moz, or the free Google Search Console Links report to export pages with inbound links. Any URL with external links pointing to it must either be preserved or redirected.


Step 2: Decide on a URL Strategy

This is the single most important SEO decision in your migration.

Option A: Match Your WordPress URL Structure (Safest)

WordPress defaults to /YYYY/MM/DD/post-title/. Set your Jekyll permalink to match:

# _config.yml
permalink: /:year/:month/:day/:title/

With matching URLs, you need zero redirects. Google sees no change. This is the safest option if your WordPress URLs are already clean.

Option B: Improve Your URL Structure (Riskier but Better Long-Term)

WordPress date-based URLs are not ideal for SEO — they signal post age and add unnecessary path segments. Cleaner URLs like /blog/post-title/ perform better.

# _config.yml
permalink: /blog/:title/

If you change URL structure: every old URL must have a 301 redirect to the new one. Skipping this step will cause ranking drops.

Option C: Keep WordPress Slugs, Drop the Date

permalink: /:title/

This is a good middle ground — shorter URLs than WordPress default, but slugs are unchanged so most existing links still work.


Step 3: Set Up 301 Redirects

301 redirects tell Google: “this content has permanently moved to a new URL.” They pass ~90-99% of link equity to the new destination.

Method A: jekyll-redirect-from Plugin

Add old URLs to each post’s front matter:

---
title: "My Post Title"
redirect_from:
  - /2024/03/15/my-post-title/
  - /2024/03/my-post-title/
  - /?p=1234
---

Jekyll generates redirect pages at those URLs that immediately redirect to the current post URL.

Limitation: jekyll-redirect-from creates HTML redirect pages, not true HTTP 301 redirects. Google handles these well, but HTTP 301s via your hosting platform are more reliable.

Create _redirects in your site root:

/2024/03/15/my-post-title/    /blog/my-post-title/    301
/2024/03/20/another-post/     /blog/another-post/     301
/?p=1234                      /blog/my-post-title/    301
/?p=5678                      /blog/another-post/     301

Netlify processes these as real HTTP 301s — the gold standard.

Method C: Cloudflare Pages Redirects

Create _redirects (same format as Netlify) or use _headers for more complex rules. Cloudflare processes these as HTTP 301s at the CDN level.

Method D: Match URLs Exactly (No Redirects Needed)

As mentioned in Step 2, the cleanest approach is matching your Jekyll permalink structure to WordPress. Then there are no redirects to manage.


Step 4: Preserve Your Metadata

WordPress stores titles, descriptions, and OG images in plugins like Yoast SEO or Rank Math. You need to transfer this to Jekyll front matter.

Export Yoast data: Many Jekyll importers pull Yoast SEO data automatically. Check your imported posts for:

---
title: "Exact title from Yoast"
description: "Exact meta description from Yoast"
image: /assets/images/og-image.jpg
---

If the importer didn’t pull this data, open your WordPress admin, go to each top post, and manually copy the Yoast title and description into the post’s front matter.

Install jekyll-seo-tag:

gem "jekyll-seo-tag"

Add {% seo %} to your <head>. This auto-generates all SEO tags from your front matter.


Step 5: Handle WordPress-Specific URL Patterns

WordPress generates several URL types that need attention:

Category URLs: WordPress creates /category/tech/, Jekyll creates /tech/ by default. Set up redirects or configure Jekyll to match:

# jekyll-archives config
permalinks:
  category: /category/:name/

Tag URLs: Same issue — match WordPress’s /tag/name/ pattern:

permalinks:
  tag: /tag/:name/

Author archives: WordPress creates /author/username/. Unless you replicate this, set up redirects to the homepage or about page.

Feed URL: WordPress feeds live at /feed/ or /?feed=rss2. Jekyll’s jekyll-feed plugin creates /feed.xml. Set up a redirect:

/feed/     /feed.xml    301
/feed.xml  /feed.xml    200

Page URLs: WordPress pages often have trailing slashes (/about/). Make sure your Jekyll pages have matching permalinks:

---
permalink: /about/
---

Step 6: Migrate Your Sitemap

Before going live, have your new sitemap ready to submit.

Install jekyll-sitemap:

gem "jekyll-sitemap"

Your sitemap auto-generates at /sitemap.xml.

After going live:

  1. Open Google Search Console
  2. Go to Sitemaps
  3. Remove your old WordPress sitemap URL
  4. Submit the new /sitemap.xml
  5. Request indexing on your most important pages via URL Inspection

Step 7: Verify Structured Data Is Intact

WordPress plugins like Yoast add structured data (JSON-LD) automatically. On Jekyll, you add it manually.

In your _layouts/post.html:


<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": {{ page.title | jsonify }},
  "description": {{ page.description | jsonify }},
  "datePublished": "{{ page.date | date_to_xmlschema }}",
  "dateModified": "{{ page.last_modified_at | default: page.date | date_to_xmlschema }}",
  "author": {
    "@type": "Person",
    "name": {{ page.author | default: site.author | jsonify }}
  }
}
</script>

Test with Google’s Rich Results Test before and after migration to verify no structured data was lost.


Step 8: The Migration Go-Live Sequence

Order matters. Do this exactly:

  1. Build and test Jekyll site locally — verify all pages render, no broken links
  2. Set up redirects on your hosting platform — before pointing DNS
  3. Deploy to your hosting platform — but keep WordPress live
  4. Test the new site at its staging URL — check 5-10 key pages manually
  5. Point DNS to the new host — this is when migration goes live
  6. Verify redirects are working — check old URLs return 301, not 404
  7. Submit new sitemap to Google Search Console
  8. Monitor Search Console for the next 2 weeks — watch for crawl errors and ranking changes

Step 9: Post-Migration Monitoring

In the 4 weeks after migration, check weekly:

Google Search Console → Coverage: Should show no significant increase in 404 errors. If you see new 404s, find the URLs and add redirects immediately.

Search Console → Performance: Compare impressions and clicks week over week. A small drop is normal (Google is re-indexing). A large sustained drop means redirects are missing.

Core Web Vitals: Jekyll sites typically score significantly better than WordPress. Confirm your scores improved in PageSpeed Insights.


Expected Timeline

Week What to Expect
0–1 Google discovers changes, some ranking fluctuation
1–2 Re-indexing, potential minor dip
2–4 Stabilisation, rankings return to pre-migration levels
4–8 Rankings often improve — Jekyll’s speed benefits kick in

A well-executed migration should recover fully within 4 weeks and often improve rankings within 2–3 months as Google rewards the faster, cleaner site.


Migrating to Jekyll? Browse themes on JekyllHub to find the right design before you start — picking your theme first makes the technical migration easier to plan.


References

Share LinkedIn

<!DOCTYPE html>

Create Dynamic Navigation and Smart Sidebars in Jekyll | JekyllHub
Home Blog Create Dynamic Navigation and Smart Sidebars in Jekyll
Tutorial

Create Dynamic Navigation and Smart Sidebars in Jekyll

Build flexible navigation menus and context-aware sidebars in Jekyll — using data files, active state detection, dropdown menus, and collection-based sidebars.

Create Dynamic Navigation and Smart Sidebars in Jekyll

Hard-coded navigation and static sidebars are the first thing that makes a Jekyll theme feel unpolished. This guide covers building dynamic navigation driven by data files, active state detection that actually works, dropdown menus, and sidebars that adapt to the current page.


Part 1: Dynamic Navigation with Data Files

Basic Data-Driven Nav

Store navigation items in _data/navigation.yml instead of hard-coding them in HTML:

# _data/navigation.yml
main:
  - title: "Themes"
    url: /themes/
  - title: "Blog"
    url: /blog/
  - title: "About"
    url: /about/
  - title: "Contact"
    url: /contact/

In _includes/nav.html:


<nav class="site-nav" aria-label="Main navigation">
  <ul role="list">
    {% for item in site.data.navigation.main %}
      <li>
        <a href="{{ item.url | relative_url }}"
           {% if page.url == item.url %}aria-current="page"{% endif %}>
          {{ item.title }}
        </a>
      </li>
    {% endfor %}
  </ul>
</nav>

Adding or removing nav items now only requires editing the YAML file — no touching HTML.


Active State Detection That Works

The tricky part is marking the current page. A simple page.url == item.url check fails for sub-pages. Here’s a robust approach:


{% assign current_url = page.url %}
{% assign nav_url = item.url %}

{% comment %}Exact match{% endcomment %}
{% assign is_active = false %}
{% if current_url == nav_url %}
  {% assign is_active = true %}
{% endif %}

{% comment %}Parent match — e.g. /blog/ is active when on /blog/my-post/{% endcomment %}
{% if nav_url != '/' and current_url contains nav_url %}
  {% assign is_active = true %}
{% endif %}

<a href="{{ nav_url | relative_url }}"
   {% if is_active %}class="active" aria-current="page"{% endif %}>
  {{ item.title }}
</a>

The / check prevents the homepage link from being active on every page.


For multi-level navigation, extend the data structure:

# _data/navigation.yml
main:
  - title: "Themes"
    url: /themes/
    children:
      - title: "Free Themes"
        url: /themes/?type=free
      - title: "Premium Themes"
        url: /themes/?type=premium
      - title: "Blog Themes"
        url: /category/blog/
      - title: "Portfolio Themes"
        url: /category/portfolio/
  - title: "Blog"
    url: /blog/
  - title: "About"
    url: /about/

In your nav include:


<nav class="site-nav">
  <ul role="list">
    {% for item in site.data.navigation.main %}
      <li class="{% if item.children %}has-dropdown{% endif %}">
        <a href="{{ item.url | relative_url }}"
           {% if item.children %}aria-haspopup="true" aria-expanded="false"{% endif %}
           {% if page.url contains item.url and item.url != '/' %}class="active"{% endif %}>
          {{ item.title }}
          {% if item.children %}<span class="dropdown-arrow" aria-hidden="true">▾</span>{% endif %}
        </a>
        
        {% if item.children %}
          <ul class="dropdown" role="list">
            {% for child in item.children %}
              <li>
                <a href="{{ child.url | relative_url }}"
                   {% if page.url == child.url %}aria-current="page"{% endif %}>
                  {{ child.title }}
                </a>
              </li>
            {% endfor %}
          </ul>
        {% endif %}
      </li>
    {% endfor %}
  </ul>
</nav>

CSS for the dropdown:

.has-dropdown {
  position: relative;
}

.dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
  z-index: 100;
  list-style: none;
  padding: 0.5rem 0;
  margin: 0;

  a {
    display: block;
    padding: 0.5rem 1rem;
    white-space: nowrap;
    
    &:hover {
      background: var(--bg-color);
    }
  }
}

.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

The :focus-within selector makes it keyboard-accessible with no JavaScript.


Mobile Navigation Toggle

<!-- _includes/nav.html -->
<button class="nav-toggle" 
        aria-controls="main-menu"
        aria-expanded="false"
        aria-label="Open menu">
  <span class="hamburger"></span>
</button>

<nav id="main-menu" class="site-nav" aria-label="Main navigation" hidden>
  <!-- nav items -->
</nav>
// Toggle
const toggle = document.querySelector('.nav-toggle');
const menu = document.querySelector('#main-menu');

toggle.addEventListener('click', () => {
  const isOpen = toggle.getAttribute('aria-expanded') === 'true';
  toggle.setAttribute('aria-expanded', !isOpen);
  menu.hidden = isOpen;
});

// Close on outside click
document.addEventListener('click', (e) => {
  if (!menu.contains(e.target) && !toggle.contains(e.target)) {
    toggle.setAttribute('aria-expanded', 'false');
    menu.hidden = true;
  }
});

Part 2: Smart Sidebars

The Context-Aware Sidebar Pattern

A sidebar that shows different content depending on the page type feels polished. Implement it with a single include that branches on layout:


<!-- _includes/sidebar.html -->

{% if page.layout == 'post' %}
  {% include sidebar/post-sidebar.html %}
{% elsif page.layout == 'archive' %}
  {% include sidebar/taxonomy-sidebar.html %}
{% elsif page.layout == 'theme' %}
  {% include sidebar/theme-sidebar.html %}
{% else %}
  {% include sidebar/default-sidebar.html %}
{% endif %}

Then in your layout:


<div class="page-wrapper">
  <main class="page-content">{{ content }}</main>
  <aside class="sidebar">{% include sidebar.html %}</aside>
</div>


Post Sidebar: Table of Contents + Related Posts


<!-- _includes/sidebar/post-sidebar.html -->

{% if page.toc %}
<div class="sidebar-widget">
  <h3 class="sidebar-widget__title">On This Page</h3>
  {{ content | toc_only }}
</div>
{% endif %}

<div class="sidebar-widget">
  <h3 class="sidebar-widget__title">Related Posts</h3>
  {% assign related = site.posts 
     | where_exp: "p", "p.url != page.url"
     | where_exp: "p", "p.tags contains page.tags[0]" 
     | limit: 4 %}
  {% if related.size == 0 %}
    {% assign related = site.posts 
       | where_exp: "p", "p.url != page.url" 
       | limit: 4 %}
  {% endif %}
  <ul class="sidebar-post-list">
    {% for post in related %}
      <li>
        <a href="{{ post.url }}">{{ post.title }}</a>
        <time>{{ post.date | date: "%b %d" }}</time>
      </li>
    {% endfor %}
  </ul>
</div>


Documentation Sidebar: Auto-Built from Collection

For documentation sites, generate the sidebar from a collection:


<!-- _includes/sidebar/docs-sidebar.html -->
<nav class="docs-nav" aria-label="Documentation">
  {% assign sections = site.docs | group_by: "section" | sort: "name" %}
  {% for section in sections %}
    <div class="docs-nav__section">
      <h4 class="docs-nav__heading">{{ section.name }}</h4>
      <ul role="list">
        {% assign section_pages = section.items | sort: "nav_order" %}
        {% for doc in section_pages %}
          <li>
            <a href="{{ doc.url }}"
               {% if page.url == doc.url %}
                 class="docs-nav__link--active" aria-current="page"
               {% else %}
                 class="docs-nav__link"
               {% endif %}>
              {{ doc.title }}
            </a>
          </li>
        {% endfor %}
      </ul>
    </div>
  {% endfor %}
</nav>

Each doc in _docs/ has a section: and nav_order: front matter field:

---
title: Installation
section: Getting Started
nav_order: 1
---

The sidebar builds itself automatically as you add documentation pages.


Tag Cloud Sidebar


<!-- _includes/sidebar/tag-cloud.html -->
<div class="sidebar-widget">
  <h3 class="sidebar-widget__title">Topics</h3>
  <div class="tag-cloud">
    {% assign sorted_tags = site.tags | sort %}
    {% for tag in sorted_tags %}
      {% assign count = tag[1].size %}
      {% assign size_class = "tag--sm" %}
      {% if count >= 5 %}{% assign size_class = "tag--md" %}{% endif %}
      {% if count >= 10 %}{% assign size_class = "tag--lg" %}{% endif %}
      <a href="/tag/{{ tag[0] | downcase | replace: ' ', '-' }}/" 
         class="tag {{ size_class }}"
         title="{{ count }} posts">
        {{ tag[0] }}
      </a>
    {% endfor %}
  </div>
</div>


Keep the sidebar visible as the user scrolls through long content:

.sidebar {
  @media (min-width: 1024px) {
    position: sticky;
    top: 1.5rem;         // Distance from top of viewport
    max-height: calc(100vh - 3rem);
    overflow-y: auto;
    scrollbar-width: thin;
  }
}

This is pure CSS — no JavaScript needed. The sidebar scrolls independently when its content is taller than the viewport.


Putting It Together: Two-Column Layout

.page-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 1rem;

  @media (min-width: 1024px) {
    grid-template-columns: 1fr 280px;
  }
}

.page-content {
  min-width: 0; // Prevents grid blowout
}

.sidebar {
  @media (min-width: 1024px) {
    position: sticky;
    top: 1.5rem;
    max-height: calc(100vh - 3rem);
    overflow-y: auto;
  }
}

min-width: 0 on the content column is critical — without it, wide content like code blocks can blow out the grid.


Well-designed navigation and sidebars make the difference between a site that feels like a polished product and one that feels like a template. Browse Jekyll themes on JekyllHub to see how the best themes handle navigation patterns.

Share LinkedIn

<!DOCTYPE html>

Jekyll Theme Architecture: Best Practices for Clean & Scalable Code | JekyllHub
Home Blog Jekyll Theme Architecture: Best Practices for Clean & Scalable Code
Tutorial

Jekyll Theme Architecture: Best Practices for Clean & Scalable Code

How to structure a Jekyll theme for maintainability and scale — file organisation, Sass architecture, reusable includes, front matter conventions, and layout hierarchy.

Jekyll Theme Architecture: Best Practices for Clean & Scalable Code

Most Jekyll sites start as a quick setup and slowly become hard to maintain — styles scattered across files, layouts duplicating logic, includes tangled with page-specific code. This guide covers the structural decisions that keep a Jekyll theme clean as it grows.


The File Structure That Scales

A well-organised Jekyll theme separates concerns cleanly:

my-theme/
├── _layouts/
│   ├── default.html        # Root wrapper — HTML shell only
│   ├── page.html           # Static pages
│   ├── post.html           # Blog posts
│   ├── home.html           # Homepage
│   └── archive.html        # Tag/category archive pages
│
├── _includes/
│   ├── head/
│   │   ├── meta.html       # Core meta tags
│   │   ├── fonts.html      # Font loading
│   │   └── analytics.html  # Analytics (loaded conditionally)
│   ├── header.html
│   ├── footer.html
│   ├── nav.html
│   ├── post-card.html      # Reusable post card component
│   ├── theme-card.html     # Reusable theme card component
│   └── pagination.html
│
├── _sass/
│   ├── abstracts/
│   │   ├── _variables.scss # Design tokens
│   │   ├── _mixins.scss    # Reusable mixins
│   │   └── _functions.scss # Sass functions
│   ├── base/
│   │   ├── _reset.scss     # CSS reset
│   │   ├── _typography.scss
│   │   └── _base.scss      # Element defaults
│   ├── components/
│   │   ├── _buttons.scss
│   │   ├── _cards.scss
│   │   ├── _badges.scss
│   │   └── _forms.scss
│   ├── layouts/
│   │   ├── _header.scss
│   │   ├── _footer.scss
│   │   ├── _nav.scss
│   │   ├── _homepage.scss
│   │   ├── _post.scss
│   │   └── _theme-detail.scss
│   └── main.scss           # Import manifest only
│
├── assets/
│   ├── css/
│   │   └── main.scss       # Entry point (front matter triggers Jekyll processing)
│   ├── js/
│   │   ├── main.js         # Bundled JS
│   │   └── search.js       # Optional — search functionality
│   └── images/
│
├── _data/
│   ├── navigation.yml      # Nav items
│   └── settings.yml        # Theme feature flags
│
└── _config.yml

Layout Hierarchy: Keep Nesting Shallow

Jekyll layouts nest — post.html wraps its content inside default.html. Keep this chain as short as possible:

default.html         # HTML shell, head, body wrapper
  └── page.html      # Simple content wrapper
  └── post.html      # Post header + content + footer
  └── home.html      # Homepage sections

Avoid deep nesting like default → base → page → post. Each extra layer makes debugging harder and adds cognitive overhead.

Rule: If a layout only adds {{ content }} with no surrounding markup, it probably shouldn’t be a separate layout — merge it up.


The Default Layout: HTML Shell Only

_layouts/default.html should do one thing: provide the HTML skeleton. No design decisions, no conditional content:


<!DOCTYPE html>
<html lang="{{ page.lang | default: site.lang | default: 'en' }}" 
      data-theme="{{ site.theme_mode | default: 'light' }}">
<head>
  {% include head/meta.html %}
  {% include head/fonts.html %}
  {% if site.analytics.google_id %}{% include head/analytics.html %}{% endif %}
  <link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
</head>
<body class="page--{{ page.layout | default: 'default' }}">
  {% include header.html %}
  <main id="main-content" class="site-main">
    {{ content }}
  </main>
  {% include footer.html %}
  <script src="{{ '/assets/js/main.js' | relative_url }}" defer></script>
</body>
</html>

Notice class="page--{{ page.layout }}" — this adds a layout-specific class to <body>, letting you write targeted CSS like .page--home .hero without specificity fights.


Sass Architecture: The 7-1 Pattern (Simplified)

The 7-1 pattern organises Sass into 7 folders with 1 main file that imports them all. For Jekyll themes, a simplified 4-folder version works better:

// assets/css/main.scss
---
---

// 1. Abstracts  no output, just tools
@import "abstracts/variables";
@import "abstracts/mixins";

// 2. Base — element-level styles
@import "base/reset";
@import "base/typography";
@import "base/base";

// 3. Components — UI building blocks
@import "components/buttons";
@import "components/cards";
@import "components/badges";
@import "components/forms";

// 4. Layouts — page section styles
@import "layouts/header";
@import "layouts/footer";
@import "layouts/nav";
@import "layouts/homepage";
@import "layouts/post";

Rule: main.scss is a manifest only — never write actual styles there.


Design Tokens in Variables

Define all values as variables. Never hard-code colours, spacing, or font sizes in component files:

// _sass/abstracts/_variables.scss

// Colour palette — raw values
$color-blue-500:    #3b82f6;
$color-blue-600:    #2563eb;
$color-gray-50:     #f9fafb;
$color-gray-900:    #111827;

// Semantic tokens — map palette to purpose
$color-primary:     $color-blue-600;
$color-text:        $color-gray-900;
$color-background:  #ffffff;
$color-border:      #e5e7eb;

// Typography
$font-base:         -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
$font-mono:         'Fira Code', Consolas, monospace;
$font-size-base:    1rem;
$font-size-sm:      0.875rem;
$font-size-lg:      1.125rem;
$line-height-base:  1.7;

// Spacing scale
$space-1:  0.25rem;
$space-2:  0.5rem;
$space-3:  0.75rem;
$space-4:  1rem;
$space-6:  1.5rem;
$space-8:  2rem;
$space-12: 3rem;
$space-16: 4rem;

// Layout
$container-width:   1100px;
$content-width:     720px;
$sidebar-width:     280px;
$radius-sm:         4px;
$radius-md:         8px;
$radius-lg:         16px;

// Transitions
$transition-fast:   150ms ease;
$transition-base:   250ms ease;

When a designer asks you to “make the primary colour purple”, you change one line.


Reusable Includes with Parameters

Includes become powerful when they accept parameters. This prevents code duplication across layouts:


<!-- _includes/post-card.html -->
{% assign post = include.post %}
{% assign show_excerpt = include.show_excerpt | default: true %}
{% assign show_tags = include.show_tags | default: true %}

<article class="post-card">
  {% if post.image %}
    <a href="{{ post.url }}" class="post-card__image-link">
      <img src="{{ post.image | relative_url }}" 
           alt="{{ post.title }}" 
           loading="lazy"
           class="post-card__image">
    </a>
  {% endif %}
  
  <div class="post-card__body">
    <div class="post-card__meta">
      <time datetime="{{ post.date | date_to_xmlschema }}">
        {{ post.date | date: "%b %d, %Y" }}
      </time>
      {% if post.category %}
        <span class="post-card__category">{{ post.category }}</span>
      {% endif %}
    </div>
    
    <h2 class="post-card__title">
      <a href="{{ post.url }}">{{ post.title }}</a>
    </h2>
    
    {% if show_excerpt %}
      <p class="post-card__excerpt">
        {{ post.description | default: post.excerpt | strip_html | truncatewords: 25 }}
      </p>
    {% endif %}
    
    {% if show_tags and post.tags.size > 0 %}
      <div class="post-card__tags">
        {% for tag in post.tags limit: 3 %}
          <a href="/tag/{{ tag | downcase }}/" class="tag">{{ tag }}</a>
        {% endfor %}
      </div>
    {% endif %}
  </div>
</article>

Usage in any layout:


{% include post-card.html post=post %}
{% include post-card.html post=post show_excerpt=false %}
{% include post-card.html post=post show_tags=false show_excerpt=true %}

One include, three variations, no duplication.


Front Matter Conventions

Consistent front matter across all content files makes templates simpler:

# Posts
---
layout: post
title: ""           # Required — sentence case, include primary keyword
description: ""     # Required — 150-160 chars, for meta description
date: YYYY-MM-DD    # Required
author:             # Optional — falls back to site.author
last_modified_at: YYYY-MM-DD  # Optional — for SEO freshness
image: /assets/images/blog/filename.webp  # Optional — OG + post header
category: ""        # Single category string
featured: false     # Controls homepage carousel
tags: []            # Array of lowercase strings
toc: false          # Table of contents toggle
comments: true      # Comments section toggle
---

Document these conventions in your theme’s README so contributors know what’s expected.


Feature Flags via Data Files

Instead of hardcoding feature toggles in layouts, use a data file:

# _data/settings.yml
features:
  dark_mode: true
  search: true
  reading_time: true
  copy_code: true
  social_share: true
  newsletter: false
  comments: false
analytics:
  google_id: ""
  plausible_domain: ""

In your layouts:


{% if site.data.settings.features.dark_mode %}
  {% include dark-mode-toggle.html %}
{% endif %}

{% if site.data.settings.features.comments and page.comments != false %}
  {% include comments.html %}
{% endif %}

Users configure the theme by editing _data/settings.yml — not by hunting through layout files.


Avoiding the Most Common Architecture Mistakes

Putting styles in layouts — Never put <style> tags in layout files. All styles belong in _sass/.

God includes — An include that does 10 different things is hard to maintain. Split it into focused, single-purpose includes.

Magic numberspadding: 37px with no explanation is a code smell. Use spacing variables and leave a comment if the value is non-obvious.

Overspecific selectors.site-header nav ul li a:hover is fragile. .nav__link:hover is maintainable.

No mobile-first — Write your base styles for small screens, then use min-width media queries to enhance for larger screens. Retrofitting a desktop design for mobile is always harder.


Well-architected themes are easier to maintain, easier for users to customise, and faster to build on top of. Browse the best-structured open-source examples on JekyllHub — Minimal Mistakes and Chirpy are both worth studying for architecture ideas.

Share LinkedIn

<!DOCTYPE html>

How to Build a Jekyll Theme from Scratch | JekyllHub
Home Blog How to Build a Jekyll Theme from Scratch
Tutorial

How to Build a Jekyll Theme from Scratch

A complete guide to building your own Jekyll theme — layouts, includes, Sass, front matter defaults, gem packaging, and what makes a theme production-ready.

How to Build a Jekyll Theme from Scratch

Building a Jekyll theme from scratch is the fastest way to deeply understand Jekyll — and it’s more achievable than it sounds. This guide walks through building a complete, distributable theme, from the first file to a packaged gem.


What Makes a Jekyll Theme

A Jekyll theme is a set of files that define the appearance and structure of a Jekyll site:

  • _layouts/ — page templates
  • _includes/ — reusable HTML fragments
  • _sass/ — stylesheets
  • assets/ — static files (fonts, icons, JS)

When a user installs your theme, your files provide the defaults. Their site files override yours selectively.


Step 1: Scaffold the Theme

Use Jekyll’s built-in theme scaffold command:

jekyll new-theme my-theme-name
cd my-theme-name

This creates:

my-theme-name/
├── _includes/
├── _layouts/
│   ├── default.html
│   ├── page.html
│   └── post.html
├── _sass/
│   ├── my-theme-name/
│   │   ├── _base.scss
│   │   ├── _layout.scss
│   │   └── _syntax-highlighting.scss
│   └── my-theme-name.scss
├── assets/
│   └── main.scss
├── Gemspec
├── LICENSE.txt
└── README.md

Step 2: Design Your Layout System

Default Layout

_layouts/default.html is the outer wrapper for all pages:


<!DOCTYPE html>
<html lang="{{ page.lang | default: site.lang | default: 'en' }}">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>{% if page.title %}{{ page.title }} | {% endif %}{{ site.title | escape }}</title>
  {% seo %}
  <link rel="stylesheet" href="{{ '/assets/main.css' | relative_url }}">
  {% feed_meta %}
</head>
<body class="{% if page.layout %}layout--{{ page.layout }}{% endif %}">
  {% include header.html %}
  <main class="page-content" aria-label="Content">
    <div class="container">
      {{ content }}
    </div>
  </main>
  {% include footer.html %}
  <script src="{{ '/assets/js/main.js' | relative_url }}" defer></script>
</body>
</html>

Post Layout

_layouts/post.html wraps blog posts:


---
layout: default
---

<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
  <header class="post-header">
    <h1 class="post-title" itemprop="name headline">{{ page.title | escape }}</h1>
    
    <div class="post-meta">
      <time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
        {{ page.date | date: "%B %-d, %Y" }}
      </time>
      
      {% if page.author %}
        <span itemprop="author" itemscope itemtype="http://schema.org/Person">
          <span class="p-author h-card" itemprop="name">{{ page.author }}</span>
        </span>
      {% endif %}
      
      {% if page.read_time %}
        <span class="read-time">{{ content | number_of_words | divided_by: 200 | plus: 1 }} min read</span>
      {% endif %}
    </div>
    
    {% if page.image %}
      <div class="post-thumbnail">
        <img src="{{ page.image | relative_url }}" alt="{{ page.title }}" loading="lazy">
      </div>
    {% endif %}
  </header>

  <div class="post-content e-content" itemprop="articleBody">
    {{ content }}
  </div>

  {% if page.tags.size > 0 %}
    <footer class="post-footer">
      <div class="post-tags">
        {% for tag in page.tags %}
          <a href="/tag/{{ tag | downcase | replace: ' ', '-' }}/" class="tag">{{ tag }}</a>
        {% endfor %}
      </div>
    </footer>
  {% endif %}
</article>

Page Layout

_layouts/page.html for static pages:


---
layout: default
---

<article class="page">
  <header class="page-header">
    <h1 class="page-title">{{ page.title | escape }}</h1>
    {% if page.description %}
      <p class="page-description">{{ page.description }}</p>
    {% endif %}
  </header>

  <div class="page-content">
    {{ content }}
  </div>
</article>


Step 3: Build the Includes

_includes/header.html:


<header class="site-header">
  <div class="container">
    <a class="site-title" rel="author" href="{{ '/' | relative_url }}">
      {{ site.title | escape }}
    </a>

    <nav class="site-nav" aria-label="Main navigation">
      <button class="site-nav__toggle" aria-expanded="false" aria-controls="nav-menu">
        <span class="sr-only">Menu</span>
        <span class="hamburger"></span>
      </button>
      
      <ul class="site-nav__menu" id="nav-menu" role="list">
        {% for item in site.data.navigation %}
          <li>
            <a href="{{ item.url | relative_url }}"
               {% if page.url == item.url or page.url contains item.url and item.url != '/' %}
                 class="active" aria-current="page"
               {% endif %}>
              {{ item.title }}
            </a>
          </li>
        {% endfor %}
      </ul>
    </nav>
  </div>
</header>

_includes/footer.html:


<footer class="site-footer">
  <div class="container">
    <div class="site-footer__content">
      <p class="site-footer__description">
        {{ site.description | escape }}
      </p>
      
      {% if site.social %}
        <ul class="social-links" role="list">
          {% if site.social.twitter %}
            <li><a href="https://twitter.com/{{ site.social.twitter }}" aria-label="Twitter">Twitter</a></li>
          {% endif %}
          {% if site.social.github %}
            <li><a href="https://github.com/{{ site.social.github }}" aria-label="GitHub">GitHub</a></li>
          {% endif %}
        </ul>
      {% endif %}
    </div>
    
    <p class="site-footer__copyright">
      &copy; {{ 'now' | date: "%Y" }} {{ site.title | escape }}.
      Powered by <a href="https://jekyllrb.com">Jekyll</a>.
    </p>
  </div>
</footer>


Step 4: Write the Sass

Organise styles into logical partials under _sass/your-theme/:

_variables.scss — design tokens:

// Colours
$color-primary: #2563eb;
$color-text: #1f2937;
$color-text-muted: #6b7280;
$color-background: #ffffff;
$color-border: #e5e7eb;
$color-card: #f9fafb;

// Typography
$font-family-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
$font-family-mono: 'Fira Code', Consolas, 'Courier New', monospace;
$font-size-base: 1rem;
$line-height-base: 1.7;

// Spacing
$spacing-xs: 0.25rem;
$spacing-sm: 0.5rem;
$spacing-md: 1rem;
$spacing-lg: 2rem;
$spacing-xl: 4rem;

// Layout
$container-max-width: 1100px;
$content-max-width: 720px;

_base.scss — reset and base elements:

*, *::before, *::after {
  box-sizing: border-box;
}

body {
  font-family: $font-family-base;
  font-size: $font-size-base;
  line-height: $line-height-base;
  color: $color-text;
  background-color: $color-background;
  -webkit-font-smoothing: antialiased;
}

a {
  color: $color-primary;
  text-decoration: none;

  &:hover {
    text-decoration: underline;
  }
}

img {
  max-width: 100%;
  height: auto;
}

code {
  font-family: $font-family-mono;
  font-size: 0.9em;
  background: $color-card;
  padding: 0.15em 0.4em;
  border-radius: 4px;
}

Step 5: Define Front Matter Defaults

In your theme’s _config.yml (or document in README for users to add):

# Recommended defaults for themes using this layout
defaults:
  - scope:
      path: ""
      type: "posts"
    values:
      layout: "post"
      author: ""
      read_time: true
      comments: true
      share: true
  - scope:
      path: ""
      type: "pages"
    values:
      layout: "page"

Step 6: Add Navigation Data

Create _data/navigation.yml with default navigation:

- title: Home
  url: /
- title: Blog
  url: /blog/
- title: About
  url: /about/

Step 7: Package as a Gem

Edit the .gemspec file Jekyll created:

# my-theme-name.gemspec
Gem::Specification.new do |spec|
  spec.name          = "my-theme-name"
  spec.version       = "1.0.0"
  spec.authors       = ["Your Name"]
  spec.email         = ["your@email.com"]

  spec.summary       = "A clean, minimal Jekyll theme for blogs."
  spec.homepage      = "https://github.com/username/my-theme-name"
  spec.license       = "MIT"

  spec.files         = `git ls-files -z`.split("\x0").select do |f|
    f.match(%r{^(assets|_data|_layouts|_includes|_sass|LICENSE|README)}i)
  end

  spec.add_runtime_dependency "jekyll", ">= 4.0", "< 5.0"
  spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.8"
  spec.add_runtime_dependency "jekyll-feed", "~> 0.15"
end

Build the gem:

gem build my-theme-name.gemspec

Install locally to test:

gem install my-theme-name-1.0.0.gem

Step 8: What Makes a Theme Production-Ready

Before releasing or selling your theme, check these:

Responsive design — Test on mobile (360px), tablet (768px), and desktop (1440px).

Dark mode — Add CSS variables and a toggle. Expected in 2026.

Accessibility — Semantic HTML, ARIA labels on interactive elements, sufficient colour contrast (WCAG AA = 4.5:1 minimum).

SEO — Include jekyll-seo-tag. Document how to configure it.

Performance — Run PageSpeed Insights. Aim for 90+ on mobile.

Documentation — Write a clear README with installation, configuration, and customisation instructions. This is the most underrated part of a theme.

Demo site — A live demo is essential. No serious buyer evaluates a theme without seeing it live.


Publishing Your Theme

GitHub — Publish the source code as a public repository. Tag releases with semantic versions.

RubyGems — Run gem push my-theme-name-1.0.0.gem to list on rubygems.org.

Marketplaces — Submit to JekyllHub to reach Jekyll users actively looking for themes.


Building a theme from scratch gives you complete control over performance, accessibility, and design — and a deep understanding of how Jekyll works. Once you’ve built one, customising any other theme becomes trivial.

Browse existing Jekyll themes on JekyllHub to see what’s popular and understand what users are looking for before you build.

Share LinkedIn

<!DOCTYPE html>

25 Best Jekyll Themes for Blogs and Portfolios in 2026 | JekyllHub
Home Blog 25 Best Jekyll Themes for Blogs and Portfolios in 2026
Themes

25 Best Jekyll Themes for Blogs and Portfolios in 2026

A curated list of the best Jekyll themes for blogs and portfolio sites in 2026 — with live demos, star counts, and who each theme is best for.

25 Best Jekyll Themes for Blogs and Portfolios in 2026

Looking for a Jekyll theme in 2026? There are thousands on GitHub, but most are outdated, poorly maintained, or just not that good. This list covers the 25 best — tested, actively maintained, and organised by use case.


Best Jekyll Blog Themes

1. Chirpy

Stars: 7,000+ · Best for: Developer blogs

Chirpy is one of the most polished blog themes available. It comes with dark/light mode, a sidebar with categories and tags, table of contents, reading time estimates, and strong SEO out of the box. The design is clean and modern.

View Chirpy on JekyllHub →


2. Minimal Mistakes

Stars: 12,000+ · Best for: Everything

The most versatile Jekyll theme in existence. It supports blog posts, portfolio layouts, documentation, splash pages, and a dozen pre-built skins. The documentation is exceptional. A safe choice for almost any project.

View Minimal Mistakes on JekyllHub →


3. Beautiful Jekyll

Stars: 5,700+ · Best for: Quick personal blogs

Beautiful Jekyll is designed to get you publishing in minutes. Fork the repo, edit _config.yml, and your site is live. No local setup required. One of the easiest Jekyll themes to get started with.

View Beautiful Jekyll on JekyllHub →


4. So Simple

Stars: 1,800+ · Best for: Minimal personal sites

Clean, content-focused, and fast. So Simple strips away everything that’s not essential, leaving a beautiful reading experience. By the creator of Minimal Mistakes.

View So Simple on JekyllHub →


5. Type on Strap

Stars: 800+ · Best for: Medium-style reading experience

A theme focused on typography and readability. Clean headers, comfortable line length, and good colour contrast. Well-suited for long-form writing.


6. Huxpro

Stars: 5,400+ · Best for: Personal brands

A full-screen hero image layout with clean post typography. Originally created by a Alibaba engineer and widely adopted for personal sites and technical blogs.

View Huxpro on JekyllHub →


7. Contrast

Stars: 900+ · Best for: Ultra-minimal design

Dark background, light content area, excellent readability. Contrast takes minimalism seriously — no images on the homepage, just clean post listings.

View Contrast on JekyllHub →


8. Cayman Blog

Stars: 500+ · Best for: Simple GitHub project blogs

Based on GitHub’s Cayman theme. Clean, lightweight, and great for project documentation blogs. Easy to deploy directly from GitHub.


Best Jekyll Portfolio Themes

9. Hacker Blog

Stars: 700+ · Best for: Developer / terminal aesthetic

A dark, terminal-inspired blog theme. Monospace fonts, green-on-dark colour scheme. Stands out from the crowd — perfect for developers who want something distinctive.

View Hacker Blog on JekyllHub →


10. al-folio

Stars: 11,000+ · Best for: Academic / research portfolios

The most popular academic Jekyll theme. Features publication lists, project showcases, a CV section, and a blog. Used by researchers and professors at universities worldwide.

View al-folio on JekyllHub →


11. Freelancer Theme (Jekyll port)

Stars: 2,000+ · Best for: Freelancer portfolios

A one-page portfolio with a project grid, skills section, and contact form. Based on Start Bootstrap’s Freelancer template, converted to Jekyll.


12. Creative Theme

Stars: 1,200+ · Best for: Agency / studio portfolios

Bold homepage with scroll animations, a full-screen hero, and a filterable portfolio grid. Suited for design studios and creative freelancers.


13. Researcher

Stars: 600+ · Best for: Academic researchers

Ultra-minimal single-page academic theme. Designed to showcase publications, education, and research interests without distractions.

View Researcher on JekyllHub →


Best Jekyll Documentation Themes

14. Just the Docs

Stars: 8,000+ · Best for: Product documentation

The best Jekyll documentation theme. Full-text search, nested sidebar navigation, callout blocks, and excellent accessibility. Used by thousands of open-source projects.

View Just the Docs on JekyllHub →


15. Docco

Best for: Code documentation with inline comments

Renders code and comments side by side in a two-column layout. Classic documentation style popularised by CoffeeScript docs.


16. Slate

Stars: 2,000+ · Best for: API documentation

Clean documentation with a dark left-hand navigation sidebar. Popular for REST API reference documentation.


Best Minimal Jekyll Themes

17. Minima

Best for: Absolute beginners

Jekyll’s official default theme. Not glamorous, but very clean and a great learning base. Every Jekyll installation starts with Minima.

View Minima on JekyllHub →


18. Whiteglass

Stars: 400+ · Best for: Long-form writing

Inspired by Medium’s reading experience. Wide margins, large body text, excellent reading comfort. Great for writers.


19. Pixyll

Stars: 1,800+ · Best for: Photography and minimal portfolios

Designed to put images front and centre. Clean whitespace, big typography, and a focus on visual content.

View Pixyll on JekyllHub →


20. Swiss

Best for: Type-focused minimalism

Based on the Swiss/International Typographic Style (think IKEA design language). Strong grid, clean typography, neutral palette.


Best Dark Jekyll Themes

21. Devlopr Jekyll

Stars: 2,500+ · Best for: Developer blogs with dark mode

Feature-rich developer blog theme with dark mode, reading time, newsletter signup, post categories, and Google Analytics. One of the most complete free themes available.

View Devlopr on JekyllHub →


22. Klise

Stars: 1,300+ · Best for: Clean dark design

A dark, minimal blog theme with excellent typography. Auto dark/light mode based on system preference. Clean and fast.

View Klise on JekyllHub →


23. Jasper2

Stars: 900+ · Best for: Magazine-style dark blogs

Inspired by Ghost’s Casper theme. Full-screen hero images, card-based post grid, and a polished magazine feel. Dark mode built in.

View Jasper on JekyllHub →


Best Jekyll Themes for Businesses

24. Agency Jekyll Theme

Stars: 1,000+ · Best for: Marketing agencies

Multi-section one-page theme with services, team, portfolio, and contact sections. Clean corporate design.


25. Massively

Stars: 700+ · Best for: Bold graphic design portfolios

Big typography, strong visual hierarchy, full-width background images. Makes a strong first impression. Ported from HTML5 UP.

View Massively on JekyllHub →


How to Choose

For a personal blog: Start with Chirpy or Minimal Mistakes — both have excellent documentation and are actively maintained.

For a portfolio: al-folio (academic) or Freelancer (creative) depending on your field.

For documentation: Just the Docs, no contest.

For something distinctive: Hacker Blog or Massively — they stand out visually.

For the fastest start: Beautiful Jekyll — fork and go.

All themes listed here are available with live demos on JekyllHub. Filter by category, style, or features to find your perfect match.

Share LinkedIn

<!DOCTYPE html>

Jekyll vs Hugo vs Eleventy: Which Static Site Generator in 2026? | JekyllHub
Home Blog Jekyll vs Hugo vs Eleventy: Which Static Site Generator in 2026?
Comparison

Jekyll vs Hugo vs Eleventy: Which Static Site Generator in 2026?

An honest comparison of Jekyll, Hugo, and Eleventy — build speed, themes, ease of use, hosting, and which static site generator fits your project and skill level.

Jekyll vs Hugo vs Eleventy: Which Static Site Generator in 2026?

Jekyll, Hugo, and Eleventy are the three most popular static site generators in 2026. They all produce fast, secure static sites — but they make very different trade-offs. Here’s how to choose.


The Short Answer

  • Jekyll — best for beginners, GitHub Pages users, and anyone who wants native hosting with zero setup
  • Hugo — best for large sites (1,000+ pages) where build speed is critical
  • Eleventy — best for developers who want full JavaScript control and maximum flexibility

Overview

  Jekyll Hugo Eleventy
Language Ruby Go JavaScript (Node.js)
First released 2008 2013 2018
Template language Liquid Go templates Multiple (Nunjucks, Liquid, Handlebars, etc.)
GitHub stars 48k 74k 17k
Build speed Medium Fastest Fast
Theme ecosystem Largest Large Small but growing
GitHub Pages native Yes No No
Learning curve Low High Medium

Build Speed

This is Hugo’s biggest selling point:

Site size Jekyll Hugo Eleventy
100 pages ~5s <1s ~2s
1,000 pages ~60s ~2s ~10s
10,000 pages ~10min ~10s ~90s

For personal blogs and small sites (under 300 pages), Jekyll’s speed is perfectly fine — a 10-second build is not a problem. For large documentation sites or content-heavy projects, Hugo’s speed advantage is significant.

Winner: Hugo for large sites; all are fine for small sites.


Theme and Design Ecosystem

Jekyll

Jekyll has the largest and most mature theme ecosystem. Thousands of free themes are available on GitHub, and curated marketplaces like JekyllHub offer free and premium themes with live demos.

The best free themes — Minimal Mistakes (27k stars), Chirpy (7k stars), Just the Docs (8k stars) — are actively maintained and production-proven.

Winner: Jekyll — most themes, best quality, easiest to find.

Hugo

Hugo has 400+ themes at themes.gohugo.io. Quality varies widely. Hugo themes can be harder to customise because Go templates are more complex than Jekyll’s Liquid.

Eleventy

Eleventy has fewer ready-made themes, but its ecosystem is growing. Many Eleventy starters include Tailwind CSS integration, making them more flexible from a design standpoint.


GitHub Pages Integration

Jekyll: Native support. Push to a GitHub repository and it builds and deploys automatically. No CI/CD pipeline, no configuration.

Hugo/Eleventy: Require a GitHub Actions workflow to build and deploy. More upfront setup, but works reliably once configured.

Winner: Jekyll — zero-configuration GitHub Pages deployment is a genuine advantage for beginners.


Template Language and Learning Curve

Jekyll — Liquid

Liquid is simple, readable, and well-documented. If you know HTML and CSS, you can write Jekyll templates in a day.


{% for post in site.posts limit: 5 %}
  <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
  <p>{{ post.excerpt | strip_html | truncatewords: 30 }}</p>
{% endfor %}

Hugo — Go Templates

Go templates are powerful but significantly harder to read. Simple things in Liquid require more syntax in Hugo:


{{ range first 5 .Site.RegularPages }}
  <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
  <p>{{ .Summary }}</p>
{{ end }}

The syntax works, but it’s unfamiliar unless you know Go.

Eleventy — Your Choice

Eleventy supports 10+ template languages: Nunjucks, Liquid, Handlebars, EJS, Pug, and more. You can even mix them in one project. For JavaScript developers, this is liberating. For beginners, the options are overwhelming.

Winner: Jekyll for beginners; Eleventy for experienced JS developers.


Plugin and Extension Ecosystem

Jekyll: A mature plugin ecosystem with well-maintained gems for SEO, pagination, archives, feeds, image processing, and more.

Hugo: Hugo is opinionated about doing more built-in (multilingual support, image processing, taxonomy) so fewer plugins are needed — but it’s less flexible when you need custom behaviour.

Eleventy: Very extensible via npm packages and custom JavaScript. The JS ecosystem is vast — anything not built in can be added with a few lines of JavaScript config.


Multilingual Support

  Jekyll Hugo Eleventy
Built-in multilingual No (plugins available) Yes No (plugin/config needed)

If multilingual is a primary requirement, Hugo has the best built-in support.


Deployment Options

All three generate plain HTML files and deploy anywhere:

  • GitHub Pages
  • Netlify
  • Vercel
  • Cloudflare Pages
  • Any static hosting

Jekyll gets a small bonus for GitHub Pages native support. Hugo gets a nod from Netlify (they maintain official Hugo support).


Who Should Use Each

Choose Jekyll if:

  • You are new to static site generators
  • You want native GitHub Pages deployment without any CI/CD setup
  • You need a wide selection of polished themes
  • Your site has under 500 pages
  • You want the most beginner-friendly experience

Choose Hugo if:

  • You are building a large documentation or content site (1,000+ pages)
  • Build speed is a priority
  • You need built-in multilingual support
  • You’re comfortable with Go tooling and don’t mind a steeper learning curve

Choose Eleventy if:

  • You are a JavaScript developer and prefer the npm ecosystem
  • You need maximum flexibility in template languages and data pipelines
  • You’re building a site that needs custom JavaScript-based transforms
  • You want to use Tailwind CSS natively in your workflow

The Honest Bottom Line

For most developers starting a blog, portfolio, or documentation site, Jekyll remains the best starting point. GitHub Pages integration eliminates hosting complexity, the theme ecosystem is the deepest of the three, and Liquid templates are easy to learn.

Hugo wins at scale. Eleventy wins for JavaScript developers who want total control.

Don’t overthink the choice — all three produce excellent static sites. The theme and content matter more than the generator.

Ready to start? Browse Jekyll themes on JekyllHub →


References

Share LinkedIn

<!DOCTYPE html>

How to Build a Portfolio Website with Jekyll | JekyllHub
Home Blog How to Build a Portfolio Website with Jekyll
Tutorial

How to Build a Portfolio Website with Jekyll

Build a professional Jekyll portfolio site — showcase projects, add a blog, set up contact forms, and deploy to GitHub Pages. Includes theme recommendations.

How to Build a Portfolio Website with Jekyll

A Jekyll portfolio site is fast, free to host, and lives in a GitHub repository — which itself signals professionalism to employers and clients. This guide covers building a portfolio from the ground up.


Why Jekyll for a Portfolio?

  • GitHub Pages hosting — free, reliable, with your custom domain
  • Markdown writing — write project case studies in plain text
  • No backend — nothing to hack, nothing to maintain, nothing to pay for
  • Impressive to employers — a portfolio on GitHub shows you can use version control and static site tools

Choosing a Portfolio Theme

Rather than building from scratch, start with a theme. Here are the best Jekyll portfolio themes:

Minimal Mistakes — the most flexible option. Supports portfolio layouts, blog, and a huge range of customisation options. 27k+ GitHub stars.

Chirpy — beautiful and minimal, excellent for developer portfolios with a blog. Strong dark mode.

Huxpro — full-screen hero, clean typography. Popular for personal sites.

Browse all portfolio-ready themes at JekyllHub — filter by the Portfolio category.


Project Structure for a Portfolio

my-portfolio/
├── _config.yml
├── _layouts/
│   ├── default.html
│   ├── home.html
│   └── project.html
├── _includes/
│   ├── header.html
│   ├── footer.html
│   └── project-card.html
├── _projects/              # Collection of case studies
│   ├── my-web-app.md
│   ├── mobile-app.md
│   └── open-source-tool.md
├── _posts/                 # Optional blog
├── _data/
│   ├── skills.yml          # Your skills list
│   └── experience.yml      # Work history
├── assets/
│   ├── images/projects/    # Screenshots and mockups
│   └── css/
├── index.md                # Homepage
├── about.md                # About page
└── contact.md              # Contact page

Setting Up the Projects Collection

# _config.yml
collections:
  projects:
    output: true
    permalink: /projects/:name/
    sort_by: order

defaults:
  - scope:
      type: projects
    values:
      layout: project

A project file (_projects/my-web-app.md):

---
title: "Task Management App"
description: "A full-stack task manager built with React and Node.js. 2,000+ active users."
order: 1
year: 2025
tech:
  - React
  - Node.js
  - PostgreSQL
  - AWS
role: "Lead Developer"
image: /assets/images/projects/task-app-hero.jpg
screenshots:
  - /assets/images/projects/task-app-1.jpg
  - /assets/images/projects/task-app-2.jpg
github_url: https://github.com/username/task-app
live_url: https://taskapp.io
featured: true
---

## Overview

Task App is a collaborative task management tool I built to scratch my own itch — existing tools were either too complex or too simple.

## The Challenge

The main technical challenge was real-time synchronisation across multiple users without a WebSocket server...

## What I Built

- Real-time updates using server-sent events
- Drag-and-drop task ordering
- Team spaces with role-based permissions
- Mobile-first responsive design

## Results

- 2,000 active users within 3 months of launch
- 4.8/5 star rating on Product Hunt

The Project Layout

Create _layouts/project.html:


---
layout: default
---

<article class="project-detail">
  <header class="project-header">
    <h1>{{ page.title }}</h1>
    <p class="project-description">{{ page.description }}</p>
    
    <div class="project-meta">
      {% if page.role %}<span><strong>Role:</strong> {{ page.role }}</span>{% endif %}
      {% if page.year %}<span><strong>Year:</strong> {{ page.year }}</span>{% endif %}
    </div>
    
    <div class="project-tech">
      {% for tech in page.tech %}
        <span class="tech-badge">{{ tech }}</span>
      {% endfor %}
    </div>
    
    <div class="project-links">
      {% if page.live_url %}
        <a href="{{ page.live_url }}" class="btn btn--primary" target="_blank">
          View Live →
        </a>
      {% endif %}
      {% if page.github_url %}
        <a href="{{ page.github_url }}" class="btn btn--secondary" target="_blank">
          GitHub →
        </a>
      {% endif %}
    </div>
  </header>
  
  {% if page.image %}
    <img src="{{ page.image | relative_url }}" alt="{{ page.title }}" class="project-hero-image">
  {% endif %}
  
  <div class="project-content">
    {{ content }}
  </div>
  
  {% if page.screenshots.size > 0 %}
    <div class="project-screenshots">
      {% for screenshot in page.screenshots %}
        <img src="{{ screenshot | relative_url }}" alt="{{ page.title }} screenshot" loading="lazy">
      {% endfor %}
    </div>
  {% endif %}
</article>


The Homepage


<!-- _layouts/home.html -->
---
layout: default
---

<!-- Hero Section -->
<section class="hero">
  <div class="container">
    <h1>{{ site.author.name }}</h1>
    <p class="hero-tagline">{{ site.author.bio }}</p>
    <div class="hero-cta">
      <a href="#projects" class="btn btn--primary">View Projects</a>
      <a href="/contact/" class="btn btn--secondary">Get in Touch</a>
    </div>
  </div>
</section>

<!-- Featured Projects -->
<section class="projects" id="projects">
  <div class="container">
    <h2>Projects</h2>
    <div class="projects-grid">
      {% assign featured = site.projects | where: "featured", true | sort: "order" %}
      {% for project in featured %}
        {% include project-card.html project=project %}
      {% endfor %}
    </div>
    <a href="/projects/" class="view-all">View all projects →</a>
  </div>
</section>

<!-- Skills -->
<section class="skills">
  <div class="container">
    <h2>Skills</h2>
    <div class="skills-grid">
      {% for skill_group in site.data.skills %}
        <div class="skill-group">
          <h3>{{ skill_group.category }}</h3>
          <ul>
            {% for skill in skill_group.items %}
              <li>{{ skill }}</li>
            {% endfor %}
          </ul>
        </div>
      {% endfor %}
    </div>
  </div>
</section>

{{ content }}


Skills Data File

Create _data/skills.yml:

- category: Frontend
  items:
    - HTML/CSS
    - JavaScript
    - React
    - Vue.js
    - Tailwind CSS

- category: Backend
  items:
    - Node.js
    - Python
    - Ruby on Rails
    - PostgreSQL
    - Redis

- category: Tools
  items:
    - Git
    - Docker
    - AWS
    - Jekyll
    - Figma

Adding a Contact Form

Jekyll is static, so you need a form service for contact forms. Formspree is the most popular — free for basic use, no backend required.

<!-- contact.md -->
---
layout: page
title: Contact
---

<form action="https://formspree.io/f/YOUR_FORM_ID" method="POST" class="contact-form">
  <div class="form-group">
    <label for="name">Name</label>
    <input type="text" id="name" name="name" required>
  </div>
  
  <div class="form-group">
    <label for="email">Email</label>
    <input type="email" id="email" name="email" required>
  </div>
  
  <div class="form-group">
    <label for="message">Message</label>
    <textarea id="message" name="message" rows="6" required></textarea>
  </div>
  
  <button type="submit" class="btn btn--primary">Send Message</button>
</form>

Sign up at Formspree, create a form, and use the form ID in the action URL. Submissions are emailed to you.


Deploying to GitHub Pages

git init
git add .
git commit -m "Initial portfolio"
git remote add origin https://github.com/username/username.github.io
git push -u origin main

Go to repository Settings → Pages and enable GitHub Pages. Your portfolio is live at https://username.github.io.

For a custom domain, add CNAME with your domain and update your DNS.


Ready to find the right design? Browse Jekyll portfolio themes on JekyllHub with live demos to see them in action before you start.

Share LinkedIn

<!DOCTYPE html>

How to Convert an HTML Template to a Jekyll Theme | JekyllHub
Home Blog How to Convert an HTML Template to a Jekyll Theme
Tutorial

How to Convert an HTML Template to a Jekyll Theme

A step-by-step guide to converting a static HTML template into a reusable Jekyll theme — with layouts, includes, front matter, and Sass integration.

How to Convert an HTML Template to a Jekyll Theme

You have an HTML template you like — clean design, good structure — but you want to run it as a Jekyll site so you can write in Markdown and deploy to GitHub Pages. Converting it is simpler than it sounds. This guide walks through the full process.


Step 1: Understand Jekyll’s File Structure

Before converting, know what Jekyll expects:

my-jekyll-theme/
├── _config.yml          # Site configuration
├── _layouts/            # Page templates (wraps content)
├── _includes/           # Reusable HTML fragments
├── _sass/               # Sass partials
├── assets/
│   ├── css/             # Compiled CSS (or main.scss)
│   ├── js/
│   └── images/
├── _posts/              # Blog posts (dated Markdown files)
├── _pages/              # Static pages (optional)
└── index.md             # Homepage (or index.html)

Step 2: Analyse Your HTML Template

Look at your HTML template and identify:

  1. The repeated wrapper — the <html>, <head>, <header>, <footer> that appears on every page → becomes _layouts/default.html
  2. Page-specific content — the main <main> content area → becomes {{ content }} in the layout
  3. Repeated components — navigation, sidebar, footer → become includes
  4. CSS files → move to _sass/ and convert to Sass (or keep as plain CSS in assets/css/)

Step 3: Create the Default Layout

Take your index.html and extract everything except the page-specific content. This becomes _layouts/default.html:

Before (index.html):

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>My Site</title>
  <link rel="stylesheet" href="assets/css/style.css">
</head>
<body>
  <nav>
    <a href="/">Home</a>
    <a href="/about.html">About</a>
    <a href="/blog.html">Blog</a>
  </nav>
  
  <main>
    <h1>Welcome to My Site</h1>
    <p>This is the homepage content...</p>
  </main>
  
  <footer>
    <p>&copy; 2026 My Site</p>
  </footer>
  
  <script src="assets/js/main.js"></script>
</body>
</html>

After (_layouts/default.html):


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>{% if page.title %}{{ page.title }} | {% endif %}{{ site.title }}</title>
  <meta name="description" content="{{ page.description | default: site.description }}">
  {% seo %}
  <link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
</head>
<body>
  {% include header.html %}
  
  <main class="main-content">
    {{ content }}
  </main>
  
  {% include footer.html %}
  
  <script src="{{ '/assets/js/main.js' | relative_url }}" defer></script>
</body>
</html>

Key changes:

  • Hard-coded title → {{ page.title }} | {{ site.title }}
  • Hard-coded description → {{ page.description | default: site.description }}
  • Asset paths → relative_url filter for correct paths on project sites
  • Nav and footer → extracted to includes
  • Added {% seo %} for SEO tags

Step 4: Create Includes

Extract the navigation into _includes/header.html:


<header class="site-header">
  <div class="container">
    <a href="{{ '/' | relative_url }}" class="site-logo">
      {{ site.title }}
    </a>
    
    <nav class="site-nav">
      <a href="{{ '/' | relative_url }}" 
         {% if page.url == '/' %}class="active"{% endif %}>Home</a>
      <a href="{{ '/about/' | relative_url }}"
         {% if page.url contains '/about' %}class="active"{% endif %}>About</a>
      <a href="{{ '/blog/' | relative_url }}"
         {% if page.url contains '/blog' %}class="active"{% endif %}>Blog</a>
    </nav>
  </div>
</header>

Extract the footer into _includes/footer.html:


<footer class="site-footer">
  <div class="container">
    <p>&copy; {{ 'now' | date: "%Y" }} {{ site.title }}. 
    Built with <a href="https://jekyllrb.com">Jekyll</a>.</p>
  </div>
</footer>


Step 5: Convert CSS to Sass

Move your CSS to _sass/ and create a main entry point at assets/css/main.scss:

---
---
// assets/css/main.scss
// Front matter (two triple-dashes) tells Jekyll to process this file

@import "variables";
@import "base";
@import "layout";
@import "components";
@import "typography";

Split your CSS into logical partials in _sass/:

  • _variables.scss — colours, fonts, spacing variables
  • _base.scss — reset and base element styles
  • _layout.scss — grid, container, page structure
  • _components.scss — buttons, cards, forms, tags
  • _typography.scss — headings, body text, links

Add to _config.yml:

sass:
  sass_dir: _sass
  style: compressed

Step 6: Create the Homepage

Create index.md (or index.html):

---
layout: home
title: Home
---

Create _layouts/home.html for the homepage-specific content:


---
layout: default
---

<section class="hero">
  <h1>{{ page.hero_title | default: site.title }}</h1>
  <p>{{ page.hero_subtitle | default: site.description }}</p>
  <a href="{{ page.hero_cta_url | default: '/themes/' }}" class="btn">
    {{ page.hero_cta_text | default: "Browse Themes" }}
  </a>
</section>

{{ content }}

{% if site.posts.size > 0 %}
<section class="recent-posts">
  <h2>Recent Posts</h2>
  {% for post in site.posts limit: 3 %}
    <article class="post-card">
      <a href="{{ post.url }}"><h3>{{ post.title }}</h3></a>
      <time>{{ post.date | date: "%B %d, %Y" }}</time>
    </article>
  {% endfor %}
</section>
{% endif %}


Step 7: Create the Post Layout

For blog posts, create _layouts/post.html:


---
layout: default
---

<article class="post">
  <header class="post-header">
    <h1>{{ page.title }}</h1>
    <div class="post-meta">
      <time datetime="{{ page.date | date_to_xmlschema }}">
        {{ page.date | date: "%B %d, %Y" }}
      </time>
      {% if page.author %}
        <span class="post-author">by {{ page.author }}</span>
      {% endif %}
    </div>
    {% if page.image %}
      <img src="{{ page.image | relative_url }}" alt="{{ page.title }}" class="post-image">
    {% endif %}
  </header>
  
  <div class="post-content">
    {{ content }}
  </div>
  
  <footer class="post-footer">
    {% if page.tags.size > 0 %}
      <div class="post-tags">
        {% for tag in page.tags %}
          <a href="/tag/{{ tag | downcase }}/" class="tag">{{ tag }}</a>
        {% endfor %}
      </div>
    {% endif %}
  </footer>
</article>


Step 8: Update Asset Paths

All asset paths in your templates need to use Jekyll’s relative_url or absolute_url filters:


<!-- Before -->
<img src="assets/images/logo.png" alt="Logo">
<script src="assets/js/app.js"></script>

<!-- After -->
<img src="{{ '/assets/images/logo.png' | relative_url }}" alt="Logo">
<script src="{{ '/assets/js/app.js' | relative_url }}" defer></script>

This ensures paths work correctly on both root-level sites (/) and project sites (/my-project/).


Step 9: Set Up _config.yml

title: "My Site"
description: "A description of my Jekyll site."
url: "https://yourdomain.com"
baseurl: ""
author: "Your Name"

# Build settings
markdown: kramdown
highlighter: rouge

# Plugins
plugins:
  - jekyll-seo-tag
  - jekyll-sitemap

# Sass
sass:
  style: compressed

Step 10: Test Locally

bundle exec jekyll serve --livereload

Open http://localhost:4000 and check:

  • Layout renders correctly on all page types
  • CSS is loading (check browser dev tools Network tab)
  • Images load with correct paths
  • Navigation links work
  • Posts render with correct front matter

Once your conversion is complete, you have a fully functional Jekyll theme you can reuse across multiple sites — or share it on a marketplace like JekyllHub.

Share LinkedIn

<!DOCTYPE html>

How to Auto-Generate Tag and Category Pages in Jekyll | JekyllHub
Home Blog How to Auto-Generate Tag and Category Pages in Jekyll
Tutorial

How to Auto-Generate Tag and Category Pages in Jekyll

Automatically create archive pages for every tag and category in your Jekyll blog using jekyll-archives — with custom layouts and SEO-friendly URLs.

How to Auto-Generate Tag and Category Pages in Jekyll

If you click a tag on most Jekyll blogs, you get a 404. That’s because Jekyll doesn’t generate tag or category pages by default. The jekyll-archives plugin fixes this — here’s how to set it up.


When you add tags to posts:

tags:
  - jekyll
  - tutorial

Jekyll creates page.tags with those values, so you can display them in your theme. But it doesn’t automatically create a /tag/jekyll/ page — when a reader clicks the tag, they hit a 404.

The same applies to categories. The jekyll-archives plugin generates these pages automatically.


Installing jekyll-archives

# Gemfile
gem "jekyll-archives"
# _config.yml
plugins:
  - jekyll-archives

Run bundle install.

GitHub Pages note: jekyll-archives is not on the GitHub Pages allowed list. Use GitHub Actions for your build to use it.


Configuration

# _config.yml
jekyll-archives:
  enabled:
    - categories
    - tags
    - year       # optional — /2026/ archive pages
    - month      # optional — /2026/06/ archive pages
  layouts:
    category: archive-taxonomy
    tag: archive-taxonomy
    year: archive-year
    month: archive-month
  permalinks:
    category: /category/:name/
    tag: /tag/:name/
    year: /:year/
    month: /:year/:month/

With this configuration, Jekyll generates:

  • /tag/jekyll/ — all posts tagged “jekyll”
  • /tag/tutorial/ — all posts tagged “tutorial”
  • /category/blog/ — all posts in “Blog” category
  • etc.

Creating the Archive Layout

Create _layouts/archive-taxonomy.html:


---
layout: default
---

<div class="archive-header">
  <h1>
    {% if page.type == "tag" %}
      Posts tagged "{{ page.title }}"
    {% elsif page.type == "category" %}
      {{ page.title }}
    {% endif %}
  </h1>
  <p class="archive-count">{{ page.posts | size }} posts</p>
</div>

<div class="post-list">
  {% for post in page.posts %}
    <article class="post-card">
      <time datetime="{{ post.date | date_to_xmlschema }}">
        {{ post.date | date: "%B %d, %Y" }}
      </time>
      <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
      {% if post.description %}
        <p>{{ post.description }}</p>
      {% else %}
        <p>{{ post.excerpt | strip_html | truncatewords: 30 }}</p>
      {% endif %}
      <div class="post-tags">
        {% for tag in post.tags %}
          <a href="{{ site.jekyll-archives.permalinks.tag | replace: ':name', tag | default: '/tag/' | append: tag | append: '/' }}">
            {{ tag }}
          </a>
        {% endfor %}
      </div>
    </article>
  {% endfor %}
</div>


Displaying Tags and Categories in Post Templates

In your _layouts/post.html, add tag links:


{% if page.tags.size > 0 %}
<div class="post-tags">
  <span>Tags:</span>
  {% for tag in page.tags %}
    <a href="/tag/{{ tag | downcase | replace: ' ', '-' }}/" class="tag">{{ tag }}</a>
  {% endfor %}
</div>
{% endif %}

{% if page.categories.size > 0 %}
<div class="post-categories">
  <span>Categories:</span>
  {% for category in page.categories %}
    <a href="/category/{{ category | downcase | replace: ' ', '-' }}/" class="category-badge">
      {{ category }}
    </a>
  {% endfor %}
</div>
{% endif %}


A Tag Cloud for Your Sidebar

Display all tags with a size proportional to post count:


{% assign max_count = 0 %}
{% for tag in site.tags %}
  {% if tag[1].size > max_count %}
    {% assign max_count = tag[1].size %}
  {% endif %}
{% endfor %}

<div class="tag-cloud">
  {% for tag in site.tags %}
    {% assign weight = tag[1].size | times: 100 | divided_by: max_count %}
    <a href="/tag/{{ tag[0] | downcase | replace: ' ', '-' }}/"
       class="tag"
       style="font-size: {{ weight | divided_by: 50 | plus: 0.8 }}em">
      {{ tag[0] }} ({{ tag[1].size }})
    </a>
  {% endfor %}
</div>


SEO for Tag and Category Pages

Without care, tag/category pages can hurt your SEO by creating thin duplicate content.

Add descriptions to important category pages:

You can’t add front matter to dynamically-generated archive pages, but you can hardcode descriptions in the layout using a data file.

Create _data/taxonomy_descriptions.yml:

categories:
  Tutorial: "Step-by-step guides for building and customising Jekyll sites."
  SEO: "SEO tips and techniques for Jekyll and static sites."
tags:
  jekyll: "All posts about Jekyll  the static site generator."
  "github pages": "Guides for deploying Jekyll to GitHub Pages."

In your archive-taxonomy.html layout:


{% if page.type == "category" %}
  {% assign desc = site.data.taxonomy_descriptions.categories[page.title] %}
{% elsif page.type == "tag" %}
  {% assign desc = site.data.taxonomy_descriptions.tags[page.title] %}
{% endif %}

{% if desc %}
  <p class="archive-description">{{ desc }}</p>
{% endif %}

Noindex small tag pages:

Tags with only 1–2 posts may not be worth indexing. Add conditional noindex:


{% if page.posts.size < 3 %}
  <meta name="robots" content="noindex, follow">
{% endif %}


Without the Plugin (Manual Approach)

If you can’t use jekyll-archives (e.g. you’re restricted to GitHub Pages without Actions), you can create tag pages manually:

Create tag/jekyll.md:

---
layout: tag-page
title: jekyll
permalink: /tag/jekyll/
---

Create _layouts/tag-page.html:


---
layout: default
---
<h1>Posts tagged "{{ page.title }}"</h1>
{% assign tagged_posts = site.posts | where_exp: "post", "post.tags contains page.title" %}
{% for post in tagged_posts %}
  <a href="{{ post.url }}">{{ post.title }}</a>
{% endfor %}

This works but requires a separate file for every tag. For sites with many tags, use the plugin.


Well-structured tag and category pages help users navigate your site and improve internal linking for SEO. Browse JekyllHub themes that include built-in archive page support.

Share LinkedIn

<!DOCTYPE html>

How to Add Schema Markup to Your Jekyll Site | JekyllHub
Home Blog How to Add Schema Markup to Your Jekyll Site
SEO

How to Add Schema Markup to Your Jekyll Site

Add JSON-LD structured data to your Jekyll site — Article, BreadcrumbList, FAQPage, and WebSite schemas — to improve search appearance and rich snippets.

How to Add Schema Markup to Your Jekyll Site

Schema markup tells search engines what your content is about — not just the words, but the type of content. It can earn your site rich snippets in Google’s results: star ratings, FAQ dropdowns, breadcrumbs, and sitelinks. This guide covers the schemas most relevant to Jekyll sites.


What Is Schema Markup?

Schema markup (structured data) is machine-readable metadata you add to your HTML. Google reads it to better understand your content and may display enhanced results (“rich snippets”) for it.

For Jekyll sites, the most useful schemas are:

  • Article — for blog posts
  • WebSite — sitewide search box in Google results
  • BreadcrumbList — breadcrumb navigation in results
  • FAQPage — accordion FAQ in results
  • Person/Organization — about/author pages

The Right Format: JSON-LD

There are three formats for structured data: Microdata, RDFa, and JSON-LD. Always use JSON-LD — Google recommends it and it’s the easiest to add without touching your content markup.


Article Schema for Blog Posts

Add this to your _layouts/post.html inside <head> or before </body>:


<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": {{ page.title | jsonify }},
  "description": {{ page.description | default: page.excerpt | strip_html | truncatewords: 30 | jsonify }},
  "datePublished": "{{ page.date | date_to_xmlschema }}",
  "dateModified": "{{ page.last_modified_at | default: page.date | date_to_xmlschema }}",
  "author": {
    "@type": "Person",
    "name": {{ page.author | default: site.author | jsonify }},
    "url": {{ site.url | jsonify }}
  },
  "publisher": {
    "@type": "Organization",
    "name": {{ site.title | jsonify }},
    "logo": {
      "@type": "ImageObject",
      "url": "{{ site.url }}/assets/images/logo.png"
    }
  },
  {% if page.image %}
  "image": {
    "@type": "ImageObject",
    "url": "{{ site.url }}{{ page.image }}"
  },
  {% endif %}
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "{{ page.url | absolute_url }}"
  }
}
</script>


Add this to your _layouts/default.html to enable the sitelinks search box in Google results:


{% if page.url == '/' %}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": {{ site.title | jsonify }},
  "url": {{ site.url | jsonify }},
  "description": {{ site.description | jsonify }},
  "potentialAction": {
    "@type": "SearchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "{{ site.url }}/search/?q={search_term_string}"
    },
    "query-input": "required name=search_term_string"
  }
}
</script>
{% endif %}


Breadcrumbs in Google results look like: JekyllHub > Tutorials > How to Install a Jekyll Theme

For posts:


<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": {{ site.url | jsonify }}
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": {{ page.category | jsonify }},
      "item": "{{ site.url }}/category/{{ page.category | downcase | replace: ' ', '-' }}/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": {{ page.title | jsonify }},
      "item": {{ page.url | absolute_url | jsonify }}
    }
  ]
}
</script>


FAQPage Schema

If you have a page with questions and answers (like a FAQ page), this schema can earn accordion dropdowns in Google results — prime real estate.


{% if page.layout == 'faq' %}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {% for faq in page.faqs %}
    {
      "@type": "Question",
      "name": {{ faq.question | jsonify }},
      "acceptedAnswer": {
        "@type": "Answer",
        "text": {{ faq.answer | jsonify }}
      }
    }{% unless forloop.last %},{% endunless %}
    {% endfor %}
  ]
}
</script>
{% endif %}

In your FAQ page front matter:

---
layout: faq
title: Frequently Asked Questions
faqs:
  - question: "How do I install a Jekyll theme?"
    answer: "Download the theme files, add them to your Jekyll project, update your Gemfile if it's a gem-based theme, and run bundle install."
  - question: "Are Jekyll themes free?"
    answer: "Many Jekyll themes are free and open-source. Premium themes are also available with additional features and support."
---

Person Schema for Author Pages


{% if page.layout == 'author' %}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": {{ page.name | jsonify }},
  "description": {{ page.bio | jsonify }},
  "url": {{ page.url | absolute_url | jsonify }},
  {% if page.avatar %}
  "image": "{{ site.url }}{{ page.avatar }}",
  {% endif %}
  {% if page.twitter %}
  "sameAs": [
    "https://twitter.com/{{ page.twitter }}"
  ],
  {% endif %}
  "knowsAbout": ["Jekyll", "Static Sites", "Web Development"]
}
</script>
{% endif %}


Software Schema for Theme Pages

For a theme marketplace like JekyllHub, the SoftwareApplication schema is relevant:


{% if page.layout == 'theme' %}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": {{ page.title | jsonify }},
  "description": {{ page.description | jsonify }},
  "applicationCategory": "WebApplication",
  "operatingSystem": "Any",
  "offers": {
    "@type": "Offer",
    "price": "{{ page.price | default: '0' }}",
    "priceCurrency": "USD"
  },
  {% if page.stars %}
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "reviewCount": {{ page.stars | jsonify }}
  },
  {% endif %}
  "url": {{ page.url | absolute_url | jsonify }}
}
</script>
{% endif %}


Testing Your Structured Data

  1. Google Rich Results Testsearch.google.com/test/rich-results — tests a URL or code snippet and shows which rich results are eligible
  2. Schema Markup Validatorvalidator.schema.org — validates syntax
  3. Google Search Console → Enhancements — shows any structured data errors across your whole site

Common Mistakes

Invalid dates — Use date_to_xmlschema in Liquid to generate the correct ISO 8601 format: 2026-06-25T00:00:00+00:00.

Mismatched content — Schema values must match the visible page content. Don’t claim a rating if you don’t show ratings on the page — Google will ignore it.

Missing required fields — Every schema type has required fields. Use the Rich Results Test to catch them.

Too much schema — Only add schema for content that genuinely matches the type. Don’t add FAQPage schema to a regular post.


With well-implemented schema markup, your Jekyll site’s search results can include breadcrumbs, FAQs, and article bylines — making your listings more clickable than plain blue links.

Looking for a Jekyll theme that makes SEO easy? Browse JekyllHub for themes with jekyll-seo-tag built in.

Share LinkedIn

<!DOCTYPE html>

How to Make Your Jekyll Site Load Under 1 Second | JekyllHub
Home Blog How to Make Your Jekyll Site Load Under 1 Second
Tutorial

How to Make Your Jekyll Site Load Under 1 Second

Practical techniques to optimise Jekyll site performance — image compression, CSS/JS minification, lazy loading, caching headers, and Core Web Vitals improvements.

How to Make Your Jekyll Site Load Under 1 Second

Jekyll sites are inherently fast — there’s no PHP, no database, no server-side rendering. But “fast” isn’t automatic. Poor image handling, unminified CSS, and render-blocking scripts can slow even a static site to a crawl. This guide covers practical techniques to get your Jekyll site loading in under a second.


Measure First

Before optimising, measure your current performance so you know what actually needs fixing.

Tools:

  • PageSpeed Insights — Google’s official tool, shows Core Web Vitals scores
  • GTmetrix — detailed waterfall charts showing exactly what’s slow
  • WebPageTest — advanced testing from multiple locations

Run your homepage and a typical post through PageSpeed Insights. The report will highlight your biggest opportunities.


1. Choose a Fast Hosting Platform

The hosting provider has the biggest impact on time-to-first-byte (TTFB).

Platform Free Plan CDN TTFB
Cloudflare Pages Yes Global (300+ PoPs) Excellent
Netlify Yes Global Very good
GitHub Pages Yes Limited Good
Vercel Yes Global Very good

For the fastest possible Jekyll hosting, use Cloudflare Pages. It has the most distributed CDN, meaning files are served from the closest location to each user worldwide.


2. Optimise Images (Biggest Win)

Images are the #1 cause of slow pages. A single unoptimised photo can be 3–5MB — more than all your HTML, CSS, and JS combined.

Convert to WebP

WebP images are 25–35% smaller than JPEG at the same quality.

# Convert a single image
cwebp -q 85 photo.jpg -o photo.webp

# Batch convert all JPEGs
for f in assets/images/*.jpg; do
  cwebp -q 85 "$f" -o "${f%.jpg}.webp"
done

Serve WebP with a JPEG fallback:


<picture>
  <source srcset="{{ image | replace: '.jpg', '.webp' }}" type="image/webp">
  <img src="{{ image }}" alt="{{ alt }}" loading="lazy">
</picture>

Lazy Load Images

Add loading="lazy" to all images that are not in the initial viewport:


<img src="{{ post.image }}" alt="{{ post.title }}" loading="lazy" width="800" height="450">

Always include width and height to prevent Cumulative Layout Shift (CLS).

Responsive Images

Serve appropriately-sized images for each screen size:

<img
  srcset="/assets/images/hero-400.webp 400w,
          /assets/images/hero-800.webp 800w,
          /assets/images/hero-1200.webp 1200w"
  sizes="(max-width: 600px) 400px,
         (max-width: 1000px) 800px,
         1200px"
  src="/assets/images/hero-800.webp"
  alt="Hero image"
  loading="lazy">

The jekyll-picture-tag plugin automates this.


3. Minify CSS and JavaScript

Minify Sass

Jekyll compiles Sass automatically. Set it to compressed output:

# _config.yml
sass:
  style: compressed
  sourcemap: never

This removes whitespace and comments from all CSS. Typically reduces CSS size by 20–30%.

Minify HTML

Add the jekyll-minifier plugin:

gem "jekyll-minifier"
# _config.yml
jekyll-minifier:
  compress_javascript: true
  compress_css: false  # Already handled by Sass
  remove_comments: true
  remove_intertag_spaces: true

Defer JavaScript

Any script that doesn’t need to run before the page renders should be deferred:

<!-- In your layout's </body> or with defer -->
<script src="/assets/js/main.js" defer></script>

Never block rendering with scripts in <head> unless absolutely necessary.


4. Optimise Font Loading

Google Fonts are a common performance culprit. Each font family adds an extra DNS lookup and CSS request.

Self-Host Fonts

Download fonts and serve them from your own server:

  1. Download fonts from Google Fonts Helper
  2. Place in assets/fonts/
  3. Define with @font-face in your CSS
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter-v13-latin-regular.woff2') format('woff2');
  font-display: swap;
  font-weight: 400;
}

Preload Critical Fonts

<link rel="preload" href="/assets/fonts/inter-regular.woff2" 
      as="font" type="font/woff2" crossorigin>

Use font-display: swap

This renders text in a fallback font while the custom font loads, preventing invisible text (FOIT):

@font-face {
  font-display: swap;  // Always include this
}

5. Reduce Render-Blocking Resources

Inline Critical CSS

For the fastest possible First Contentful Paint, inline the CSS needed to render above-the-fold content:

<!-- In your <head> -->
<style>
  /* Critical CSS — only what's needed to render the visible part of the page */
  body { margin: 0; font-family: sans-serif; }
  .header { background: #fff; padding: 1rem 2rem; }
  /* etc. */
</style>
<!-- Load the rest asynchronously -->
<link rel="stylesheet" href="/assets/css/main.css" media="print" onload="this.media='all'">

Tools like Critical can extract critical CSS automatically.


6. Set Caching Headers

Static files don’t change — tell browsers to cache them aggressively.

On Netlify (netlify.toml):

[[headers]]
  for = "/assets/*"
  [headers.values]
    Cache-Control = "public, max-age=31536000, immutable"

[[headers]]
  for = "/*.html"
  [headers.values]
    Cache-Control = "public, max-age=0, must-revalidate"

On Cloudflare Pages, caching is configured automatically — static assets get long cache lifetimes, HTML files are always fresh.


7. Enable Compression

All major hosts (Cloudflare, Netlify, Vercel) compress responses with Brotli or gzip automatically. If self-hosting with Nginx:

gzip on;
gzip_types text/html text/css application/javascript image/svg+xml;
brotli on;
brotli_types text/html text/css application/javascript image/svg+xml;

Compression reduces HTML/CSS/JS transfer size by 60–80%.


Core Web Vitals Targets

Metric Target Common Cause of Failure
LCP (load) < 2.5s Unoptimised hero image
INP (interactivity) < 200ms Heavy JavaScript
CLS (stability) < 0.1 Images without dimensions, late-loading fonts

With a Jekyll static site on Cloudflare Pages, hitting green on all three is achievable with the optimisations above.


Looking for a fast, well-optimised Jekyll theme? All themes on JekyllHub are tested for performance — browse the collection and filter by your use case.

Share LinkedIn

<!DOCTYPE html>

How to Add Pagination to Your Jekyll Blog | JekyllHub
Home Blog How to Add Pagination to Your Jekyll Blog
Tutorial

How to Add Pagination to Your Jekyll Blog

Set up pagination in Jekyll — using jekyll-paginate-v2 to split posts across multiple pages, with page numbers, prev/next links, and category pagination.

How to Add Pagination to Your Jekyll Blog

By default, Jekyll lists all your posts on a single page. Once you have 20+ posts, that page becomes slow and hard to navigate. Pagination splits posts across multiple pages with numbered links — this guide shows you how to set it up properly.


Which Pagination Plugin to Use

Jekyll has two pagination plugins:

jekyll-paginate — the original, simple, but limited. Only works on index.html, only paginates posts. Officially deprecated but still available.

jekyll-paginate-v2 — the modern replacement. Works on any page, paginates posts, collections, or filtered sets. This is what you should use.


Setting Up jekyll-paginate-v2

Step 1: Install

# Gemfile
gem "jekyll-paginate-v2"
# _config.yml
plugins:
  - jekyll-paginate-v2

pagination:
  enabled: true
  per_page: 10
  permalink: '/page/:num/'
  title: ':title - Page :num'
  limit: 0        # 0 = no limit
  sort_field: 'date'
  sort_reverse: true

Run bundle install.

Step 2: Enable Pagination on Your Index Page

In your blog index page (e.g. index.html or blog.md), add pagination to the front matter:

---
layout: home
title: Blog
pagination:
  enabled: true
---

Step 3: Update Your Template to Use paginator

In your home layout (_layouts/home.html):


{% if paginator.posts %}
  {% assign posts = paginator.posts %}
{% else %}
  {% assign posts = site.posts %}
{% endif %}

{% for post in posts %}
  <article class="post-card">
    <a href="{{ post.url }}">
      <h2>{{ post.title }}</h2>
    </a>
    <time>{{ post.date | date: "%B %d, %Y" }}</time>
    <p>{{ post.excerpt | strip_html | truncatewords: 30 }}</p>
    <a href="{{ post.url }}">Read more →</a>
  </article>
{% endfor %}

{% include pagination.html %}

Step 4: Create the Pagination Include

Create _includes/pagination.html:


{% if paginator.total_pages > 1 %}
<nav class="pagination" aria-label="Blog pagination">
  {% if paginator.previous_page %}
    <a href="{{ paginator.previous_page_path }}" class="pagination__prev" aria-label="Previous page">
      ← Newer
    </a>
  {% else %}
    <span class="pagination__prev pagination__prev--disabled">← Newer</span>
  {% endif %}

  <span class="pagination__info">
    Page {{ paginator.page }} of {{ paginator.total_pages }}
  </span>

  {% if paginator.next_page %}
    <a href="{{ paginator.next_page_path }}" class="pagination__next" aria-label="Next page">
      Older →
    </a>
  {% else %}
    <span class="pagination__next pagination__next--disabled">Older →</span>
  {% endif %}
</nav>
{% endif %}

Step 5: Style the Pagination

// _sass/_pagination.scss
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 2rem 0;
  font-size: 0.95rem;
}

.pagination__prev,
.pagination__next {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  color: var(--link-color);
  text-decoration: none;
  transition: background 0.2s;

  &:hover {
    background: var(--card-bg);
  }

  &--disabled {
    color: var(--text-muted);
    cursor: default;
    pointer-events: none;
  }
}

.pagination__info {
  color: var(--text-muted);
  font-size: 0.9rem;
}

For a numbered pagination bar instead of just prev/next:


{% if paginator.total_pages > 1 %}
<nav class="pagination">
  {% if paginator.previous_page %}
    <a href="{{ paginator.previous_page_path }}">←</a>
  {% endif %}

  {% for i in (1..paginator.total_pages) %}
    {% if i == paginator.page %}
      <span class="pagination__current">{{ i }}</span>
    {% elsif i == 1 %}
      <a href="{{ paginator.first_page_path }}">{{ i }}</a>
    {% else %}
      <a href="{{ site.paginate_path | replace: ':num', i }}">{{ i }}</a>
    {% endif %}
  {% endfor %}

  {% if paginator.next_page %}
    <a href="{{ paginator.next_page_path }}">→</a>
  {% endif %}
</nav>
{% endif %}


Paginating a Specific Category

With jekyll-paginate-v2 you can paginate filtered content:

---
layout: category
title: Tutorials
pagination:
  enabled: true
  category: Tutorial
  per_page: 8
---

Now /tutorials/ shows only Tutorial category posts, paginated.


Paginating Collections

You can paginate any collection, not just posts:

---
layout: themes
title: All Themes
pagination:
  enabled: true
  collection: themes
  per_page: 12
---

Common Pagination Problems

“Pagination does not work” on GitHub Pages

jekyll-paginate-v2 is not on GitHub Pages’ allowed plugin list. You need to use GitHub Actions for the build:

# .github/workflows/deploy.yml
- name: Build Jekyll
  run: bundle exec jekyll build
  env:
    JEKYLL_ENV: production

Paginated pages 404

Check that your permalink in _config.yml matches what you expect. The default is /page/:num/, so page 2 is at /page/2/.

Only page 1 exists

Make sure pagination: enabled: true is in both _config.yml (global) and the page’s front matter.


Pagination is built into many Jekyll themes on JekyllHub — look for themes with “blog” in the features list.

Share LinkedIn

<!DOCTYPE html>

Jekyll Collections: The Complete Guide | JekyllHub
Home Blog Jekyll Collections: The Complete Guide
Tutorial

Jekyll Collections: The Complete Guide

Learn how Jekyll collections work — create custom content types, configure output, use front matter defaults, and build filtered collection pages.

Jekyll Collections: The Complete Guide

Collections are one of Jekyll’s most powerful features — and one of the most underused. They let you create custom content types beyond posts and pages: products, team members, themes, recipes, portfolio items, or anything you need. This guide covers everything.


What Are Collections?

Jekyll has three built-in content types: posts, pages, and data. Collections let you create your own.

A collection is a folder of Markdown files (prefixed with _) that Jekyll processes as a group. Each file in the collection becomes a document with its own URL and template.

Examples of what people build with collections:

  • _themes/ — a theme marketplace (like this site)
  • _products/ — an e-commerce catalogue
  • _team/ — staff or contributor profiles
  • _courses/ — educational content modules
  • _recipes/ — a cookbook

Creating a Collection

Step 1: Declare the Collection in _config.yml

# _config.yml
collections:
  projects:
    output: true
    permalink: /projects/:name/
  • output: true — generates a dedicated page for each document
  • permalink — controls the URL structure

Step 2: Create the Collection Folder

Create a folder named with an underscore prefix: _projects/

Step 3: Add Documents

Create Markdown files in _projects/:

<!-- _projects/my-app.md -->
---
title: "My App"
description: "A mobile app for tracking habits."
year: 2026
status: "live"
url: "https://myapp.com"
image: /assets/images/projects/my-app.jpg
---

My App is a cross-platform habit tracker built with React Native...

Each file gets a URL based on your permalink setting: /projects/my-app/


Collection Configuration Options

collections:
  projects:
    output: true              # Generate a page for each document
    permalink: /projects/:name/  # URL pattern
    sort_by: year             # Default sort field
    order:                    # Explicit ordering (optional)
      - my-featured-project.md
      - another-project.md
Variable Value
:name Filename without extension
:title title from front matter (falls back to :name)
:path Path relative to collection folder
:output_ext Output file extension (.html)
:categories Front matter categories joined by /

Front Matter Defaults for Collections

Avoid repeating common front matter in every document using defaults:

# _config.yml
defaults:
  - scope:
      path: ""
      type: "projects"
    values:
      layout: "project"
      author: Marcus Webb
      published: true

Now every document in _projects/ automatically gets layout: project and author: Marcus Webb without you writing it in each file.


Accessing Collections in Templates

List All Documents in a Collection


{% for project in site.projects %}
  <article>
    <a href="{{ project.url }}">{{ project.title }}</a>
    <p>{{ project.description }}</p>
  </article>
{% endfor %}

Sort and Filter


<!-- Sort by year, newest first -->
{% assign sorted_projects = site.projects | sort: "year" | reverse %}
{% for project in sorted_projects %}
  ...
{% endfor %}


<!-- Filter by status -->
{% assign live_projects = site.projects | where: "status", "live" %}
{% for project in live_projects %}
  ...
{% endfor %}


<!-- Filter by multiple values -->
{% assign featured = site.projects | where_exp: "item", "item.featured == true" %}

Group by a Field


{% assign by_year = site.projects | group_by: "year" %}
{% for group in by_year %}
  <h2>{{ group.name }}</h2>
  {% for project in group.items %}
    <p>{{ project.title }}</p>
  {% endfor %}
{% endfor %}


Building a Collection Index Page

Create projects.md (or _pages/projects.md) with a layout that lists all projects:

---
layout: collection-index
title: Projects
permalink: /projects/
---

In _layouts/collection-index.html:


---
layout: default
---

<h1>{{ page.title }}</h1>

<div class="projects-grid">
  {% assign projects = site.projects | sort: "year" | reverse %}
  {% for project in projects %}
    {% include project-card.html project=project %}
  {% endfor %}
</div>

{{ content }}


Collection Document Templates

Create _layouts/project.html for individual project pages:


---
layout: default
---

<article class="project">
  <header>
    <h1>{{ page.title }}</h1>
    {% if page.description %}
      <p class="lead">{{ page.description }}</p>
    {% endif %}
    {% if page.url %}
      <a href="{{ page.url }}" class="btn" target="_blank">Visit Project →</a>
    {% endif %}
  </header>

  {% if page.image %}
    <img src="{{ page.image }}" alt="{{ page.title }}" class="project-image">
  {% endif %}

  <div class="project-content">
    {{ content }}
  </div>

  <footer class="project-meta">
    <span>Year: {{ page.year }}</span>
    <span>Status: {{ page.status }}</span>
  </footer>
</article>


Collections Without Output Pages

Sometimes you want a collection just for data — not individual pages. Set output: false:

collections:
  team:
    output: false

Now site.team gives you access to all team members in your templates, but no individual URLs are generated. Great for team pages, testimonials, and similar content.


<!-- In your about page template -->
<div class="team-grid">
  {% for member in site.team %}
    <div class="team-card">
      <img src="{{ member.avatar }}" alt="{{ member.name }}">
      <h3>{{ member.name }}</h3>
      <p>{{ member.role }}</p>
    </div>
  {% endfor %}
</div>


Collections vs Posts vs Data Files

Feature Posts Collections Data Files
Chronological ordering Built-in Manual N/A
Individual pages Yes Optional No
Liquid access site.posts site.collection_name site.data.filename
Front matter Yes Yes No (YAML/JSON/CSV)
Drafts Yes No No
Best for Blog posts Custom content types Configuration, simple lists

Real-World Example: A Team Directory

# _config.yml
collections:
  team:
    output: false

defaults:
  - scope:
      type: "team"
    values:
      layout: "team-member"
<!-- _team/sarah-jones.md -->
---
name: Sarah Jones
role: Lead Developer
avatar: /assets/images/team/sarah.jpg
github: sarahjones
twitter: sarahjones
---

Sarah has 10 years of experience building Jekyll themes and static sites.

<!-- In _pages/about.md -->
{% for member in site.team %}
  <div class="team-card">
    <img src="{{ member.avatar }}" alt="{{ member.name }}">
    <h3>{{ member.name }}</h3>
    <p class="role">{{ member.role }}</p>
    {{ member.content }}
    {% if member.github %}
      <a href="https://github.com/{{ member.github }}">GitHub</a>
    {% endif %}
  </div>
{% endfor %}


Collections are the building block behind theme directories (like this one), product catalogues, and any site that needs to manage structured content at scale.

Explore Jekyll themes on JekyllHub — our entire theme collection is built on Jekyll collections.

Share LinkedIn

<!DOCTYPE html>

How to Add Search to a Jekyll Site (Lunr.js vs Algolia) | JekyllHub
Home Blog How to Add Search to a Jekyll Site (Lunr.js vs Algolia)
Tutorial

How to Add Search to a Jekyll Site (Lunr.js vs Algolia)

Add full-text search to your Jekyll site using Lunr.js (free, no backend) or Algolia (fast, scalable). Setup guides for both options with pros and cons.

How to Add Search to a Jekyll Site (Lunr.js vs Algolia)

Jekyll doesn’t include search out of the box — but adding it is simpler than you might think. This guide covers the two best options: Lunr.js for a free, no-backend solution and Algolia for a fast, scalable search service.


Option 1: Lunr.js (Free, No Backend Required)

Lunr.js is a client-side search library. Jekyll generates a JSON search index at build time, and Lunr searches it entirely in the browser.

Pros: Free, privacy-friendly, no external service required, works on GitHub Pages
Cons: Index grows with site size, can be slow on very large sites (500+ posts)

Step 1: Generate a Search Index

Create search-index.json at your site root. This file is regenerated on every build:


---
layout: null
---
[
  {% for post in site.posts %}
  {
    "title": {{ post.title | jsonify }},
    "url": {{ post.url | absolute_url | jsonify }},
    "date": {{ post.date | date: "%B %d, %Y" | jsonify }},
    "excerpt": {{ post.excerpt | strip_html | truncatewords: 50 | jsonify }},
    "content": {{ post.content | strip_html | truncatewords: 300 | jsonify }},
    "tags": {{ post.tags | jsonify }},
    "categories": {{ post.categories | jsonify }}
  }{% unless forloop.last %},{% endunless %}
  {% endfor %}
  {% if site.posts.size > 0 and site.pages.size > 0 %},{% endif %}
  {% for page in site.pages %}
  {% if page.title and page.layout != null %}
  {
    "title": {{ page.title | jsonify }},
    "url": {{ page.url | absolute_url | jsonify }},
    "excerpt": {{ page.content | strip_html | truncatewords: 50 | jsonify }},
    "content": {{ page.content | strip_html | truncatewords: 300 | jsonify }}
  }{% unless forloop.last %},{% endunless %}
  {% endif %}
  {% endfor %}
]

Save this as search-index.json in your site root.

Step 2: Create the Search Page

Create search.md:

---
layout: page
title: Search
permalink: /search/
---

<input type="search" id="search-input" placeholder="Search posts and pages..." autofocus>
<div id="search-results"></div>

<script src="https://unpkg.com/lunr/lunr.js"></script>
<script>
let searchIndex;
let documents = {};

fetch('/search-index.json')
  .then(res => res.json())
  .then(data => {
    data.forEach(doc => { documents[doc.url] = doc; });

    searchIndex = lunr(function () {
      this.ref('url');
      this.field('title', { boost: 10 });
      this.field('tags', { boost: 5 });
      this.field('content');

      data.forEach(doc => { this.add(doc); });
    });
  });

document.getElementById('search-input').addEventListener('input', function () {
  const query = this.value.trim();
  const resultsDiv = document.getElementById('search-results');

  if (!query || !searchIndex) {
    resultsDiv.innerHTML = '';
    return;
  }

  const results = searchIndex.search(query + '*');

  if (results.length === 0) {
    resultsDiv.innerHTML = '<p>No results found.</p>';
    return;
  }

  resultsDiv.innerHTML = results.map(result => {
    const doc = documents[result.ref];
    return `<div class="search-result">
      <a href="${doc.url}"><h3>${doc.title}</h3></a>
      <p>${doc.excerpt}</p>
    </div>`;
  }).join('');
});
</script>

Step 3: Add Search to Your Navigation

Add a search link or a header search box that submits to /search/?q=query:

<form action="/search/" method="get">
  <input type="search" name="q" placeholder="Search...">
  <button type="submit">Search</button>
</form>

Then in your search page, pre-fill from the URL parameter:

const params = new URLSearchParams(window.location.search);
const q = params.get('q');
if (q) {
  document.getElementById('search-input').value = q;
  // Trigger search...
}

Option 2: Algolia (Fast, Scalable)

Algolia is a hosted search service. It’s significantly faster than Lunr for large sites and provides instant results as you type.

Free plan: 10,000 search requests/month and 10,000 records
Pros: Fast, typo-tolerant, instant search, great developer experience
Cons: Requires an Algolia account, data is stored externally

Step 1: Create an Algolia Account

  1. Sign up at algolia.com
  2. Create a new application
  3. Create an index (e.g. jekyllhub_production)
  4. Note your Application ID, Search-Only API Key, and Admin API Key

Step 2: Install jekyll-algolia

# Gemfile
gem "jekyll-algolia"
# _config.yml
algolia:
  application_id: YOUR_APP_ID
  index_name: YOUR_INDEX_NAME
  search_only_api_key: YOUR_SEARCH_ONLY_KEY

Important: Your search-only key is safe to put in _config.yml. Never put your Admin API key in version control.

Set the Admin key as an environment variable:

export ALGOLIA_API_KEY='your-admin-key'

Step 3: Index Your Content

bundle exec jekyll algolia

This pushes all your posts and pages to Algolia. Run this whenever you add new content (or add it to your CI/CD pipeline).

Step 4: Add InstantSearch to Your Site

Algolia provides InstantSearch.js for the frontend:

<!-- search.html -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/instantsearch.css@7/themes/satellite-min.css">

<div id="searchbox"></div>
<div id="hits"></div>
<div id="pagination"></div>

<script src="https://cdn.jsdelivr.net/npm/algoliasearch@4/dist/algoliasearch-lite.umd.js"></script>
<script src="https://cdn.jsdelivr.net/npm/instantsearch.js@4"></script>
<script>
const searchClient = algoliasearch('YOUR_APP_ID', 'YOUR_SEARCH_ONLY_KEY');

const search = instantsearch({
  indexName: 'YOUR_INDEX_NAME',
  searchClient,
});

search.addWidgets([
  instantsearch.widgets.searchBox({
    container: '#searchbox',
    placeholder: 'Search posts...',
  }),
  instantsearch.widgets.hits({
    container: '#hits',
    templates: {
      item(hit) {
        return `
          <a href="${hit.url}">
            <h3>${instantsearch.highlight({ hit, attribute: 'title' })}</h3>
            <p>${instantsearch.snippet({ hit, attribute: 'content' })}</p>
          </a>
        `;
      },
      empty: '<p>No results found.</p>',
    },
  }),
  instantsearch.widgets.pagination({
    container: '#pagination',
  }),
]);

search.start();
</script>

Which Should You Choose?

  Lunr.js Algolia
Cost Free Free up to 10k requests/month
Setup Simple Moderate
Speed Good (small sites) Excellent (any size)
Typo tolerance Limited Built-in
Works offline Yes No
GitHub Pages Yes Yes
Privacy Full (no external service) Data sent to Algolia

Choose Lunr.js if: your site has under 200 posts, you want zero dependencies, or privacy is a priority.

Choose Algolia if: you have a large site, want instant-as-you-type results, or need typo-tolerant search.


Many Jekyll themes on JekyllHub include search functionality built in — check the theme’s feature list before building from scratch.

Share LinkedIn

<!DOCTYPE html>

How to Automate Jekyll Builds with GitHub Actions | JekyllHub
Home Blog How to Automate Jekyll Builds with GitHub Actions
Tutorial

How to Automate Jekyll Builds with GitHub Actions

Set up GitHub Actions to automatically build and deploy your Jekyll site — with caching, HTML validation, link checking, and multi-environment deployments.

How to Automate Jekyll Builds with GitHub Actions

GitHub Actions can build, test, and deploy your Jekyll site automatically on every push. This guide covers everything from the basic setup to advanced workflows with caching, link checking, and staging environments.


Why Use GitHub Actions for Jekyll?

GitHub Pages has a built-in Jekyll build system, but it only supports a limited set of plugins. GitHub Actions removes this restriction — you can use any Jekyll plugin, any Ruby version, and any build configuration.

Additional benefits:

  • Build once, deploy anywhere — deploy to GitHub Pages, Netlify, Cloudflare Pages, or AWS S3
  • Run tests — validate HTML, check links, run linters before deploying
  • Cache dependencies — fast builds by reusing installed gems between runs
  • Preview branches — deploy PRs to a staging URL before merging

Basic Jekyll GitHub Actions Workflow

Create .github/workflows/deploy.yml in your repository:


name: Build and Deploy Jekyll

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

permissions:
  contents: read
  pages: write
  id-token: write

concurrency:
  group: "pages"
  cancel-in-progress: false

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Setup Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.3'
          bundler-cache: true  # Runs bundle install and caches gems

      - name: Setup Pages
        id: pages
        uses: actions/configure-pages@v5

      - name: Build Jekyll site
        run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
        env:
          JEKYLL_ENV: production

      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3

  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    needs: build
    if: github.ref == 'refs/heads/main'
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

What This Does

  • Triggers on every push to main and on pull requests
  • Sets up Ruby with the version specified in your .ruby-version file
  • Caches gems so subsequent builds are faster (typically 2–3× speedup)
  • Builds Jekyll with JEKYLL_ENV: production to enable production-only features
  • Deploys to GitHub Pages (only on pushes to main, not PRs)

Adding Gem Caching (Faster Builds)

The bundler-cache: true option in ruby/setup-ruby handles caching automatically. But you can also cache explicitly for more control:


- name: Cache gems
  uses: actions/cache@v4
  with:
    path: vendor/bundle
    key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
    restore-keys: |
      ${{ runner.os }}-gems-

- name: Install dependencies
  run: |
    bundle config path vendor/bundle
    bundle install --jobs 4 --retry 3

Add vendor/ to your .gitignore:

vendor/

Adding HTML Validation

Validate your built HTML before deploying to catch issues like missing alt text and broken markup:

- name: Validate HTML
  run: |
    gem install html-proofer
    htmlproofer ./_site \
      --disable-external \
      --checks Links,Images,Scripts \
      --allow-missing-href true \
      --ignore-urls "/localhost/"

Check for broken internal and external links:

- name: Check links
  run: |
    bundle exec htmlproofer ./_site \
      --checks Links \
      --external-only \
      --ignore-urls "https://twitter.com,https://linkedin.com"

Note: External link checking adds significant build time. Consider running it on a schedule rather than every push:

on:
  push:
    branches: [main]
  schedule:
    - cron: '0 6 * * 1'  # Every Monday at 6am

Multi-Environment Deployment

Staging on Pull Requests

Deploy pull requests to a preview URL so you can review changes before merging:


name: Deploy Preview

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  deploy-preview:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.3'
          bundler-cache: true

      - name: Build Jekyll
        run: bundle exec jekyll build
        env:
          JEKYLL_ENV: staging

      - name: Deploy to Netlify Preview
        uses: nwtgck/actions-netlify@v3
        with:
          publish-dir: './_site'
          github-token: ${{ secrets.GITHUB_TOKEN }}
          deploy-message: "PR Preview: ${{ github.event.pull_request.title }}"
        env:
          NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
          NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}

Production Deployment with Environment Protection

Add environment protection rules so deploys to production require manual approval:

  1. Go to repository Settings → Environments → New environment
  2. Name it production
  3. Add Required reviewers — only approved reviewers can trigger production deploys

Then reference the environment in your workflow:

deploy:
  environment:
    name: production
    url: https://yourdomain.com

Deploying to Netlify Instead of GitHub Pages

If you prefer Netlify for its CDN and preview deploys:


- name: Deploy to Netlify
  uses: nwtgck/actions-netlify@v3
  with:
    publish-dir: './_site'
    production-branch: main
    github-token: ${{ secrets.GITHUB_TOKEN }}
    deploy-message: "Deployed from GitHub Actions"
  env:
    NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
    NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}

Get your NETLIFY_AUTH_TOKEN from Netlify’s personal settings and add both secrets to your GitHub repository Settings → Secrets and variables → Actions.


Scheduled Builds

Useful for sites with content that updates from external sources (RSS feeds, APIs):

on:
  schedule:
    - cron: '0 6 * * *'  # Daily at 6am UTC
  push:
    branches: [main]

Full Production Workflow

Here’s a complete, production-ready workflow combining everything above:


name: Jekyll CI/CD

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
  schedule:
    - cron: '0 6 * * 1'  # Weekly link check

permissions:
  contents: read
  pages: write
  id-token: write

jobs:
  build-and-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.3'
          bundler-cache: true

      - name: Build Jekyll
        run: bundle exec jekyll build
        env:
          JEKYLL_ENV: production

      - name: Validate HTML
        run: |
          bundle exec htmlproofer ./_site \
            --disable-external \
            --checks Links,Images

      - name: Upload artifact
        if: github.ref == 'refs/heads/main'
        uses: actions/upload-pages-artifact@v3

  deploy:
    needs: build-and-test
    if: github.ref == 'refs/heads/main'
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4


Looking for Jekyll themes that are already configured for GitHub Actions deployment? Browse themes on JekyllHub →

Share LinkedIn

<!DOCTYPE html>

How to Build a Documentation Site with Jekyll | JekyllHub
Home Blog How to Build a Documentation Site with Jekyll
Tutorial

How to Build a Documentation Site with Jekyll

Set up a professional documentation site with Jekyll — using Just the Docs or similar themes, with search, navigation, versioning, and GitHub Pages hosting.

How to Build a Documentation Site with Jekyll

Jekyll is one of the best tools for documentation sites. The result is fast, searchable, version-controllable, and free to host. This guide walks through building a professional documentation site from scratch.


Why Jekyll for Documentation?

Documentation sites have specific requirements that Jekyll handles exceptionally well:

  • Version control — docs live in the same repository as your code
  • Plain text — Markdown files that any developer can edit in a PR
  • Free hosting — GitHub Pages deployment is built-in and free
  • Search — Static search with Lunr.js works without a backend
  • Navigation — Sidebar navigation with nested sections

The Best Jekyll Documentation Themes

Just the Docs

Just the Docs is the most popular Jekyll documentation theme with 8,000+ stars. It includes:

  • Full-text search (Lunr.js)
  • Nested navigation sidebar
  • Responsive design
  • Dark/light mode
  • Code syntax highlighting
  • Callout blocks (note, warning, tip)
  • Table of contents generation

Minimal Mistakes

Minimal Mistakes is more flexible and works for both blogs and documentation. Good if you need a mix of docs and blog posts.

Docsy (Jekyll port)

A port of Google’s Docsy theme, suited for large documentation projects with versioning needs.


Setting Up Just the Docs

Installation

# Gemfile
gem "just-the-docs"
# _config.yml
theme: just-the-docs

Or use it as a remote theme (works with GitHub Pages):

# Gemfile
gem "github-pages"

# _config.yml
remote_theme: just-the-docs/just-the-docs

Basic Configuration

# _config.yml
title: My Project Docs
description: Documentation for My Project
baseurl: ""
url: "https://yourdomain.com"

# Just the Docs settings
search_enabled: true
search:
  heading_level: 2
  previews: 3

# Auxiliary links in top navigation
aux_links:
  "GitHub":
    - "https://github.com/username/repo"

# Footer content
footer_content: "Copyright &copy; 2026 Your Company"

# Colour scheme
color_scheme: light

Structuring Your Documentation

File Organisation

my-docs/
├── _config.yml
├── index.md               # Homepage
├── docs/
│   ├── getting-started/
│   │   ├── index.md       # Section landing page
│   │   ├── installation.md
│   │   └── quickstart.md
│   ├── guides/
│   │   ├── index.md
│   │   └── advanced.md
│   └── api/
│       ├── index.md
│       └── reference.md
└── assets/
    └── images/

Front Matter for Navigation

Just the Docs uses front matter to build the sidebar:

---
layout: default
title: Installation
parent: Getting Started
nav_order: 1
---
  • title — appears in the sidebar
  • parent — nests this page under another
  • nav_order — controls ordering within a section
  • has_children: true — marks a page as a section parent

Section Landing Pages

---
layout: default
title: Getting Started
nav_order: 2
has_children: true
---

# Getting Started

A brief introduction to this section.

Just the Docs includes Lunr.js search out of the box. No configuration needed.

For large documentation sites (hundreds of pages), Lunr can become slow. Consider Algolia DocSearch — it’s free for open-source documentation:

# _config.yml
search_provider: algolia
algolia:
  application_id: YOUR_APP_ID
  index_name: YOUR_INDEX_NAME
  search_only_api_key: YOUR_SEARCH_KEY

Callout Blocks

Just the Docs provides callout blocks for important information:

{: .note }
> This is a note.

{: .warning }
> This will break things if you do it wrong.

{: .tip }
> This will save you time.

Code Blocks with Syntax Highlighting

Jekyll uses Rouge for syntax highlighting:

```ruby
def hello
  puts "Hello, world!"
end
```

Specify the language for correct highlighting.

Just the Docs automatically adds anchor links to headings. Users can link to specific sections with URLs like /docs/installation/#step-2.


Setting Up Multiple Versions

For projects with multiple supported versions, create a version switcher using Jekyll collections.

Create version-specific collections:

# _config.yml
collections:
  v1:
    output: true
    permalink: /v1/:name/
  v2:
    output: true
    permalink: /v2/:name/

Add a version selector to your layout:

<select onchange="window.location.href=this.value">
  <option value="/v2/">v2 (latest)</option>
  <option value="/v1/">v1</option>
</select>

Deploying to GitHub Pages

Documentation sites are perfect for GitHub Pages — they can live in the same repo as the code they document.

Option A: Docs in the same repo

Keep docs in a /docs folder in your code repo:

# GitHub Actions workflow
- name: Build docs
  run: bundle exec jekyll build --source docs --destination _site

Option B: Separate docs repo

Create a username/project-docs repo and deploy from there. Cleaner separation, easier to manage permissions.

Option C: GitHub Pages from /docs folder

In repository Settings → Pages, set source to Deploy from branch/docs folder. Jekyll builds automatically.


Making Documentation Searchable by Google

  1. Add jekyll-sitemap to generate sitemap.xml
  2. Submit to Google Search Console
  3. Use descriptive titles with relevant keywords in front matter
  4. Use proper heading hierarchy (one H1 per page, logical H2/H3 structure)
  5. Add meta descriptions to important pages

Component Tool
Theme Just the Docs
Search Lunr.js (built-in) or Algolia
Hosting GitHub Pages
Build GitHub Actions
Comments Giscus (for community feedback)
Analytics Plausible or Google Analytics

Browse documentation themes on JekyllHub — filter by the Documentation category to see themes designed specifically for docs sites.


References

Share LinkedIn

<!DOCTYPE html>

How to Add Comments to Jekyll: Disqus vs Giscus vs Utterances | JekyllHub
Home Blog How to Add Comments to Jekyll: Disqus vs Giscus vs Utterances
Tutorial

How to Add Comments to Jekyll: Disqus vs Giscus vs Utterances

Compare the three best comment systems for Jekyll sites — Disqus, Giscus, and Utterances. Setup guides, pros and cons, and which to choose.

How to Add Comments to Jekyll: Disqus vs Giscus vs Utterances

Jekyll doesn’t have a built-in comment system — it’s a static site generator. But you have three solid options that work well with static sites. Here’s how each one works and which to choose.


The Three Options at a Glance

  Disqus Giscus Utterances
Backend Disqus servers GitHub Discussions GitHub Issues
Free plan Yes (with ads) Yes (free) Yes (free)
Requires GitHub No Yes Yes
Privacy Poor Good Good
Spam control Built-in GitHub moderation GitHub moderation
Anonymity Disqus account or guest GitHub account required GitHub account required
Setup difficulty Easy Medium Easy

Option 1: Disqus

Disqus is the most well-known comment system for static sites. It hosts all comments on its servers and loads them via a JavaScript embed.

Pros

  • No GitHub account required for commenters
  • Built-in spam filtering and moderation dashboard
  • Comment count display on post lists
  • Supports anonymous guest comments

Cons

  • Ads on free plan — Disqus shows ads in the comment area unless you pay ($11+/month)
  • Privacy concerns — Disqus tracks users across sites and shares data with advertisers
  • Performance hit — The Disqus script adds ~300KB to page load
  • Data lock-in — Your comments live on Disqus servers, not yours

Setup

  1. Create a free account at disqus.com
  2. Create a new site and note your shortname
  3. Add to _config.yml:
    disqus:
      shortname: your-shortname
    
  4. Create _includes/comments-disqus.html: ```html

{% if page.comments != false %}

{% endif %}

5. Include in your post layout before `</article>`:
```liquid

{% include comments-disqus.html %}


Option 2: Giscus

Giscus uses GitHub Discussions as a comment backend. Comments appear both on your site and in your repo’s Discussions tab.

Pros

  • Completely free — no ads, no paid plans
  • Privacy-friendly — no tracking, no third-party data sharing
  • Beautiful UI — light/dark mode, reactions (👍 ❤️ 🎉)
  • Markdown support — commenters can use full GitHub Markdown
  • You own the data — comments live in your GitHub repo

Cons

  • Requires a GitHub account to comment — limits casual commenters
  • Slightly more complex setup than Utterances

Setup

Step 1: Enable GitHub Discussions on your repository. Go to repo Settings → General → Features and check Discussions.

Step 2: Install the Giscus app on your repository.

Step 3: Go to giscus.app to generate your configuration. Fill in your repository name and choose a mapping (recommended: pathname).

You will get a script like:

<script src="https://giscus.app/client.js"
  data-repo="username/repo"
  data-repo-id="R_xxxxx"
  data-category="Comments"
  data-category-id="DIC_xxxxx"
  data-mapping="pathname"
  data-reactions-enabled="1"
  data-theme="preferred_color_scheme"
  crossorigin="anonymous"
  async>
</script>

Step 4: Create _includes/comments-giscus.html with that script.

Step 5: For dark mode support, use the data-theme attribute dynamically:

<script>
  const theme = localStorage.getItem('theme') === 'dark' ? 'dark' : 'light';
  document.write(`<script src="https://giscus.app/client.js"
    data-repo="username/repo"
    data-repo-id="R_xxxxx"
    data-category="Comments"
    data-category-id="DIC_xxxxx"
    data-mapping="pathname"
    data-theme="${theme}"
    crossorigin="anonymous"
    async><\/script>`);
</script>

Step 6: Add to your post layout:


{% if page.comments != false %}
  {% include comments-giscus.html %}
{% endif %}


Option 3: Utterances

Utterances uses GitHub Issues as its backend. Each page gets a GitHub Issue, and comments are issue replies.

Pros

  • Free and ad-free
  • Simplest setup — one script tag
  • Good for developer-oriented blogs where commenters have GitHub accounts

Cons

  • Requires GitHub account to comment
  • Comments go into GitHub Issues — can look messy in your repo
  • No reactions or rich UI (compared to Giscus)
  • GitHub Issues was not designed for comments, and it shows

Setup

  1. Install the Utterances app on your repository
  2. Create _includes/comments-utterances.html: ```html

{% if page.comments != false %} {% endif %}

3. Add to your post layout.

For dark mode:
```html
<script src="https://utteranc.es/client.js"
  repo="username/repo-name"
  issue-term="pathname"
  theme="github-dark"
  crossorigin="anonymous"
  async>
</script>

Which Should You Choose?

Choose Giscus if:

  • Your audience has GitHub accounts (developers, tech readers)
  • You care about privacy and not having ads
  • You want reactions and a modern UI
  • You want the best long-term option

Choose Disqus if:

  • Your audience is non-technical and won’t have GitHub accounts
  • You need anonymous/guest commenting
  • You don’t mind the free plan ads (or can afford the paid plan)

Choose Utterances if:

  • You want the simplest possible setup
  • Your site is developer-focused and GitHub Issues don’t bother you
  • You are already using GitHub Issues for other tracking

Our recommendation: Giscus for most developer blogs. The UI is better than Utterances, it’s privacy-friendly, completely free, and requiring a GitHub account is not a drawback for a technical audience.


Making Comments Optional Per Post

For posts where you don’t want comments, add to front matter:

comments: false

This works with the {% if page.comments != false %} check in all the includes above.


Browse Jekyll themes on JekyllHub — several themes include pre-configured comment system support.

Share LinkedIn

<!DOCTYPE html>

15 Must-Have Jekyll Plugins for 2026 | JekyllHub
Home Blog 15 Must-Have Jekyll Plugins for 2026
Tutorial

15 Must-Have Jekyll Plugins for 2026

The essential Jekyll plugins every site needs — from SEO and sitemaps to image optimisation, search, and performance. All compatible with the latest Jekyll versions.

15 Must-Have Jekyll Plugins for 2026

Jekyll’s plugin ecosystem is smaller than WordPress’s, but it has everything you need. These 15 plugins cover SEO, performance, content management, and quality of life — and all are compatible with the latest Jekyll 4.x releases.


How to Install Jekyll Plugins

Add plugins to your Gemfile:

group :jekyll_plugins do
  gem "jekyll-seo-tag"
  gem "jekyll-sitemap"
end

And to _config.yml:

plugins:
  - jekyll-seo-tag
  - jekyll-sitemap

Then run bundle install.

GitHub Pages note: GitHub Pages only supports a specific list of plugins. If you use GitHub Actions for deployment, you can use any plugin.


SEO Plugins

1. jekyll-seo-tag

What it does: Generates all the SEO meta tags you need — <title>, meta description, Open Graph, Twitter Cards, and JSON-LD structured data — automatically from your page’s front matter.

gem "jekyll-seo-tag"

Add {% seo %} to your <head>. That’s it. Essential for every Jekyll site.


2. jekyll-sitemap

What it does: Automatically generates a sitemap.xml at your site root. Submit it to Google Search Console to ensure all pages are indexed.

gem "jekyll-sitemap"

No configuration needed. Exclude pages with sitemap: false in front matter.


3. jekyll-feed

What it does: Generates an Atom feed at /feed.xml. Useful for RSS readers, and some search engines use feeds to discover new content faster.

gem "jekyll-feed"

4. jekyll-redirect-from

What it does: Creates 301 redirect pages for URLs that have changed. Essential when you rename posts or change your permalink structure.

gem "jekyll-redirect-from"

Usage in front matter:

redirect_from:
  - /old/url/
  - /another/old/url/

Content and Organisation Plugins

5. jekyll-archives

What it does: Automatically generates archive pages for categories, tags, and dates. Without this plugin, your tag links go nowhere.

gem "jekyll-archives"
# _config.yml
jekyll-archives:
  enabled:
    - categories
    - tags
  layouts:
    category: archive-taxonomy
    tag: archive-taxonomy
  permalinks:
    category: /category/:name/
    tag: /tag/:name/

6. jekyll-paginate-v2

What it does: Pagination for posts, collections, or any data source. The v2 version is significantly more powerful than the deprecated jekyll-paginate.

gem "jekyll-paginate-v2"
# _config.yml
pagination:
  enabled: true
  per_page: 10
  permalink: '/page/:num/'
  title: ':title - page :num'

7. jekyll-toc

What it does: Generates a table of contents from your post’s headings automatically.

gem "jekyll-toc"

Usage in layout:


{{ content | toc_only }}
{{ content | inject_anchors }}


8. jekyll-last-modified-at

What it does: Reads a file’s Git commit history to set an accurate last_modified_at date. Useful for structured data and SEO freshness signals.

gem "jekyll-last-modified-at"

In templates:


Last updated: {{ page.last_modified_at | date: "%B %d, %Y" }}


Performance Plugins

9. jekyll-minifier

What it does: Minifies HTML, CSS, and JavaScript in your built site — reducing page size and improving load times.

gem "jekyll-minifier"
# _config.yml
jekyll-minifier:
  compress_javascript: true
  compress_css: true
  remove_comments: true

10. jekyll-assets (or sassc)

What it does: For advanced CSS processing — Sass compiling, autoprefixing, and asset fingerprinting for cache-busting.

Built-in Sass support is usually sufficient for most sites:

# _config.yml
sass:
  style: compressed
  sourcemap: never

Images and Media

11. jekyll-picture-tag

What it does: Generates responsive <picture> elements with multiple image sizes and WebP conversion automatically.

gem "jekyll-picture-tag"

Usage in templates:


{% picture assets/images/hero.jpg alt="Hero image" %}

This generates a <picture> element with WebP sources, multiple sizes, and a fallback — everything Google PageSpeed loves.


12. jekyll-cloudinary

What it does: Integrates with Cloudinary for on-the-fly image resizing, format conversion, and CDN delivery.

Good choice if you have many images and want to optimise without managing them locally.


Development Quality of Life

13. jekyll-compose

What it does: Adds draft, post, and page commands to the Jekyll CLI for creating new content without manually typing front matter.

gem "jekyll-compose"
# Create a new post with pre-filled front matter
bundle exec jekyll post "My New Post"

# Create a draft
bundle exec jekyll draft "My Draft"

# Publish a draft
bundle exec jekyll publish _drafts/my-draft.md

14. jekyll-include-cache

What it does: Caches Liquid includes that don’t change between pages (navigation, sidebar, footer). Can dramatically speed up builds on large sites.

gem "jekyll-include-cache"

Replace {% include navigation.html %} with {% include_cached navigation.html %} for includes that don’t use page-specific variables.


15. html-proofer

What it does: Validates your built HTML — checks for broken links, missing alt text, invalid HTML, and missing images. Run it as part of your CI pipeline.

gem "html-proofer", group: :test
bundle exec htmlproofer ./_site --disable-external

Add to your GitHub Actions workflow to catch broken links before they go live.


For a new Jekyll site, install these five to get the most value immediately:

group :jekyll_plugins do
  gem "jekyll-seo-tag"
  gem "jekyll-sitemap"
  gem "jekyll-feed"
  gem "jekyll-paginate-v2"
  gem "jekyll-redirect-from"
end

That covers SEO, content discovery, pagination, and URL management — the foundations of any real site.


Browse Jekyll themes on JekyllHub — all themes in our collection are tested with these plugins for compatibility.


References

Share LinkedIn

<!DOCTYPE html>

How to Add Dark Mode to Your Jekyll Site | JekyllHub
Home Blog How to Add Dark Mode to Your Jekyll Site
Tutorial

How to Add Dark Mode to Your Jekyll Site

Add a dark mode toggle to any Jekyll site — using CSS variables, a JavaScript toggle, and localStorage to remember the user's preference.

How to Add Dark Mode to Your Jekyll Site

Dark mode is no longer optional — it’s expected. This guide shows you how to add a proper dark mode toggle to any Jekyll site, with the user’s preference saved across visits.


The Approach

We will use three techniques together:

  1. CSS custom properties (variables) — define colours once, swap them all at once
  2. JavaScript toggle — switch modes on button click
  3. localStorage — remember the user’s choice on return visits
  4. prefers-color-scheme media query — respect the OS-level dark mode preference on first visit

Step 1: Restructure Your CSS with Variables

Instead of hard-coding colours, define them as CSS custom properties:

/* _sass/_variables.scss */

:root {
  --bg-color: #ffffff;
  --text-color: #1a1a1a;
  --text-muted: #6b7280;
  --border-color: #e5e7eb;
  --card-bg: #f9fafb;
  --link-color: #2563eb;
  --heading-color: #111827;
  --code-bg: #f3f4f6;
}

[data-theme="dark"] {
  --bg-color: #0f172a;
  --text-color: #e2e8f0;
  --text-muted: #94a3b8;
  --border-color: #334155;
  --card-bg: #1e293b;
  --link-color: #60a5fa;
  --heading-color: #f1f5f9;
  --code-bg: #1e293b;
}

Now use these variables throughout your stylesheets:

body {
  background-color: var(--bg-color);
  color: var(--text-color);
}

a {
  color: var(--link-color);
}

h1, h2, h3 {
  color: var(--heading-color);
}

When you switch from [data-theme="light"] to [data-theme="dark"] on the <html> element, every colour updates instantly with no additional CSS.


Step 2: Respect the System Preference

Users who have set their OS to dark mode expect your site to default to dark. Use the prefers-color-scheme media query:

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg-color: #0f172a;
    --text-color: #e2e8f0;
    --text-muted: #94a3b8;
    --border-color: #334155;
    --card-bg: #1e293b;
    --link-color: #60a5fa;
    --heading-color: #f1f5f9;
    --code-bg: #1e293b;
  }
}

The :not([data-theme="light"]) selector means: use dark colours unless the user has explicitly chosen light mode via the toggle.


Step 3: Add the Toggle Button

In your header HTML (e.g. _includes/header.html):

<button id="theme-toggle" aria-label="Toggle dark mode" class="theme-toggle">
  <span class="theme-toggle__sun">☀️</span>
  <span class="theme-toggle__moon">🌙</span>
</button>

Style it to show the sun in dark mode and the moon in light mode:

.theme-toggle {
  background: none;
  border: 1px solid var(--border-color);
  border-radius: 50%;
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  transition: border-color 0.2s;

  &:hover {
    border-color: var(--link-color);
  }
}

/* Show sun in dark mode (to switch to light), moon in light mode (to switch to dark) */
[data-theme="dark"] .theme-toggle__moon { display: none; }
[data-theme="dark"] .theme-toggle__sun { display: inline; }
.theme-toggle__sun { display: none; }
.theme-toggle__moon { display: inline; }

Step 4: Write the JavaScript

Create assets/js/theme-toggle.js:

(function() {
  const STORAGE_KEY = 'theme';
  const DARK = 'dark';
  const LIGHT = 'light';

  function getPreferredTheme() {
    // Check localStorage first
    const stored = localStorage.getItem(STORAGE_KEY);
    if (stored) return stored;

    // Fall back to OS preference
    return window.matchMedia('(prefers-color-scheme: dark)').matches ? DARK : LIGHT;
  }

  function applyTheme(theme) {
    document.documentElement.setAttribute('data-theme', theme);
  }

  // Apply theme immediately (before page renders) to prevent flash
  applyTheme(getPreferredTheme());

  // Set up toggle button after DOM loads
  document.addEventListener('DOMContentLoaded', function() {
    const button = document.getElementById('theme-toggle');
    if (!button) return;

    button.addEventListener('click', function() {
      const current = document.documentElement.getAttribute('data-theme');
      const next = current === DARK ? LIGHT : DARK;
      applyTheme(next);
      localStorage.setItem(STORAGE_KEY, next);
    });
  });
})();

Important: Load this script in <head> to prevent a flash of the wrong theme:


<!-- _includes/head.html -->
<script src="{{ '/assets/js/theme-toggle.js' | relative_url }}"></script>

Loading it in <head> (not deferred) means the theme is applied before the page renders — no white flash before dark mode kicks in.


Step 5: Handle Images in Dark Mode

Light-background images can look jarring in dark mode. Options:

Option A: Reduce opacity for images in dark mode:

[data-theme="dark"] img:not([src*=".svg"]) {
  opacity: 0.9;
}

Option B: Use the <picture> element to serve different images per mode:

<picture>
  <source srcset="/assets/images/logo-dark.png" media="(prefers-color-scheme: dark)">
  <img src="/assets/images/logo-light.png" alt="Logo">
</picture>

Option C: Use SVGs with currentColor for icons and logos — they automatically adapt to the text colour.


Step 6: Dark Mode for Syntax Highlighting

Jekyll uses Rouge or Pygments for syntax highlighting. You need a dark colour scheme.

Add to your _config.yml:

highlighter: rouge

Then download a dark theme for Rouge. The Base16 Ocean Dark theme is a popular choice. Add it to _sass/:

/* _sass/_syntax-dark.scss */
[data-theme="dark"] .highlight {
  background: #2b303b;
  color: #c0c5ce;
}

[data-theme="dark"] .highlight .k  { color: #b48ead; } /* keyword */
[data-theme="dark"] .highlight .s  { color: #a3be8c; } /* string */
[data-theme="dark"] .highlight .c  { color: #65737e; } /* comment */
[data-theme="dark"] .highlight .n  { color: #c0c5ce; } /* name */
[data-theme="dark"] .highlight .o  { color: #8fa1b3; } /* operator */

Testing Your Dark Mode

  1. Open your site, toggle dark mode — all colours should switch cleanly
  2. Refresh the page — dark mode should persist (localStorage is working)
  3. Open DevTools → Application → Local Storage — you should see theme: dark
  4. Set your OS to dark mode and visit the site for the first time in an incognito window — it should default to dark

Dark Mode in Jekyll Themes

Many modern Jekyll themes already include dark mode. If you would rather use a theme that has it built in, check out Chirpy (seamless dark/light toggle) or browse all themes with dark mode support on JekyllHub.

Share LinkedIn

<!DOCTYPE html>

Deploy Jekyll to GitHub Pages in 10 Minutes | JekyllHub
Home Blog Deploy Jekyll to GitHub Pages in 10 Minutes
Tutorial

Deploy Jekyll to GitHub Pages in 10 Minutes

Step-by-step guide to deploying a Jekyll site to GitHub Pages — from a new site to live URL in under 10 minutes, with a custom domain walkthrough.

Deploy Jekyll to GitHub Pages in 10 Minutes

GitHub Pages is the fastest way to get a Jekyll site online — and it’s completely free. This guide gets you from zero to a live site in 10 minutes.


What You Need

  • A GitHub account (free at github.com)
  • Git installed on your computer
  • Jekyll installed locally (optional, but useful for testing)

Option A: Deploy in 3 Minutes (Theme Chooser — No Local Setup)

If you just want something live quickly:

  1. Create a new GitHub repository named username.github.io (replace username with your actual GitHub username)
  2. Go to Settings → Pages
  3. Under Source, select Deploy from a branch
  4. Select the main branch and click Save
  5. Go to Settings → Pages → Choose a theme to pick a basic theme

Your site is live at https://username.github.io within 2 minutes.

Limitation: The theme chooser only offers 12 basic GitHub-provided themes. For a real site, use Option B.


Step 1: Create Your Jekyll Site Locally

gem install bundler jekyll
jekyll new my-site
cd my-site
bundle exec jekyll serve

Open http://localhost:4000 to see your site. Once happy with it, move to the next step.

Step 2: Create a GitHub Repository

Create a new repository on GitHub. For a personal/organisation site, name it username.github.io. For a project site, any name works.

Do not initialise the repository with a README — you’ll push from your local machine.

Step 3: Push to GitHub

In your local site directory:

git init
git add .
git commit -m "Initial Jekyll site"
git remote add origin https://github.com/username/repo-name.git
git push -u origin main

Step 4: Enable GitHub Pages

In your repository on GitHub:

  1. Go to Settings → Pages
  2. Under Source, select GitHub Actions
  3. GitHub will detect your Jekyll site and suggest the Jekyll workflow — click Configure
  4. Review the workflow file (the defaults work perfectly for most sites)
  5. Click Commit changes

GitHub Actions will run your build and deploy automatically. Check the Actions tab to watch the build. In 1–2 minutes, your site is live.


Understanding GitHub Pages Site Types

Type Repository Name Live URL
User site username.github.io https://username.github.io
Organisation site orgname.github.io https://orgname.github.io
Project site Any name https://username.github.io/repo-name

For a project site, you need to set baseurl in _config.yml:

baseurl: "/repo-name"
url: "https://username.github.io"

For a user or organisation site, leave baseurl empty:

baseurl: ""
url: "https://username.github.io"

Setting Up a Custom Domain

To use yourdomain.com instead of username.github.io:

Step 1: In your repository, create a file called CNAME in the root with your domain:

yourdomain.com

Step 2: In your domain registrar’s DNS settings, add:

  • An A record pointing to GitHub’s IP addresses:
    • 185.199.108.153
    • 185.199.109.153
    • 185.199.110.153
    • 185.199.111.153
  • A CNAME record: www pointing to username.github.io

Step 3: In GitHub repository Settings → Pages, enter your custom domain and check Enforce HTTPS.

DNS changes take 5 minutes to 48 hours to propagate. Once they do, your site is live at your custom domain with a free SSL certificate.


The GitHub Actions Workflow Explained

When you choose the GitHub Actions source, GitHub creates a .github/workflows/jekyll.yml file like this:


name: Deploy Jekyll to GitHub Pages

on:
  push:
    branches: ["main"]
  workflow_dispatch:

permissions:
  contents: read
  pages: write
  id-token: write

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Setup Pages
        uses: actions/configure-pages@v5
      - name: Build with Jekyll
        uses: actions/jekyll-build-pages@v1
        with:
          source: ./
          destination: ./_site
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3

  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    needs: build
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

Every push to main triggers a build and deploy. You never have to run anything manually.


Troubleshooting Common Deployment Issues

Build fails with “Could not find gem” Your Gemfile.lock references a gem version not available in the GitHub Actions environment. Run bundle update locally and push the updated Gemfile.lock.

CSS/JS not loading on live site Check your baseurl setting in _config.yml. If you have a project site at username.github.io/repo, your baseurl must be /repo.

Site shows README instead of Jekyll site You are deploying from a branch, not via GitHub Actions. Go to Settings → Pages and switch the source to GitHub Actions.

Custom domain not working DNS propagation can take up to 48 hours. Check propagation at dnschecker.org. Make sure the CNAME file exists in your repo root.


Keeping Your Site Updated

Every time you push a commit to main, GitHub Actions rebuilds and deploys your site. The typical cycle:

  1. Edit files locally
  2. Test with bundle exec jekyll serve
  3. Commit and push
  4. GitHub deploys automatically in ~60 seconds

That’s it. No FTP, no SSH, no server management.


Looking for a great theme to deploy? Browse Jekyll themes on JekyllHub →

Share LinkedIn

<!DOCTYPE html>

Free vs Premium Jekyll Themes: What’s Actually Worth Paying For? | JekyllHub
Home Blog Free vs Premium Jekyll Themes: What's Actually Worth Paying For?
Themes

Free vs Premium Jekyll Themes: What's Actually Worth Paying For?

Thinking about buying a premium Jekyll theme? Here's an honest comparison of free vs paid Jekyll themes — what you get, what you don't, and when it's worth it.

Free vs Premium Jekyll Themes: What's Actually Worth Paying For?

There are thousands of free Jekyll themes on GitHub. So why would anyone pay for one? The honest answer: it depends on what you need. This post breaks down what free themes give you, what premium themes add, and when the cost is worth it.


What Free Jekyll Themes Include

Free Jekyll themes on GitHub are genuinely good. The best ones — Minimal Mistakes, Chirpy, Just the Docs — have tens of thousands of stars, active maintainers, and comprehensive documentation.

What you typically get:

  • Clean, responsive design
  • Basic layouts (post, page, home)
  • Dark/light mode toggle (on modern themes)
  • SEO basics (jekyll-seo-tag compatible)
  • Community support via GitHub Issues
  • MIT licence — use on any project

The real cost of “free”:

  • Setup time — Most free themes require manual configuration. Expect 1–3 hours to get everything looking right.
  • Ongoing maintenance — When the theme author pushes updates, merging them into your customised fork is your responsibility.
  • No support — GitHub Issues is community help. If you’re stuck, you wait.
  • Generic design — Popular free themes are used by thousands of sites. Your site won’t stand out.

What Premium Jekyll Themes Add

A good premium theme isn’t just a better design — it’s a different service model.

Design quality: Premium themes are typically designed by professional UI/UX designers, not developers who design on the side. You get better typography, more consistent spacing, and details that make the site feel polished from day one.

Out-of-the-box functionality: Premium themes often include features that would take days to build yourself:

  • Advanced search (Lunr.js or Algolia integration)
  • Newsletter signup forms
  • Portfolio grids with filtering
  • E-commerce or paid content support
  • Multiple pre-built demo layouts

Documentation: Premium themes come with detailed setup guides, video walkthroughs, and often a dedicated FAQ. You don’t have to reverse-engineer someone else’s code.

Support: Most premium themes include some form of direct support — either email, a support forum, or a ticketing system. If something breaks, there’s someone to ask.

Licence: Premium themes typically include a commercial licence that allows you to use the theme on client projects or commercial sites without attribution.


Side-by-Side Comparison

Feature Free Theme Premium Theme
Price $0 $19–$79 typically
Design quality Good Professional
Setup time 1–3 hours 30–60 minutes
Documentation README only Full docs + guides
Support Community (GitHub) Direct support included
Updates Sporadic Regular
Commercial use MIT (check licence) Explicit commercial licence
Uniqueness Thousands of sites use it Limited distribution

When to Choose a Free Theme

Free themes are the right choice when:

  • You are learning Jekyll for the first time
  • You need a documentation site (Just the Docs is excellent and free)
  • You want the most customisable possible base (Minimal Mistakes is nearly infinitely configurable)
  • You are building for open source — the community recognises these themes and trusts them
  • Budget is a constraint

Best free themes to consider:


When to Pay for a Premium Theme

Premium themes are worth it when:

  • You are building a client site and your time is worth more than $49
  • First impressions matter (portfolio, agency, product site)
  • You need a specific feature set that free themes don’t include
  • You want a distinct look that doesn’t scream “I use the same theme as 10,000 other sites”
  • You value support — knowing there’s someone to ask questions is worth real money

What to Look for in a Premium Jekyll Theme

Before you buy, check these things:

Live demo — Every legitimate premium theme has a live demo. If there’s no demo, don’t buy it.

Last updated date — A theme that hasn’t been updated in 2+ years may have compatibility issues with newer versions of Jekyll and Ruby.

Documentation quality — Read the docs before you buy. Thin documentation often means the theme is harder to use than it looks.

Support policy — Is support included? For how long? What’s the response time?

Refund policy — Digital products sometimes have no-refund policies. Understand what you’re agreeing to.

Licence terms — Does the theme allow use on client sites? Multiple projects? Check before you purchase.


Is There a Middle Ground?

Yes. Some of the best Jekyll themes are free but have a paid “Pro” version with extra features. This model lets you try before you buy and upgrade when you need more.

At JekyllHub, you can browse both free and premium themes side by side with live demos — so you can see exactly what you are getting before making a decision.


The Honest Bottom Line

For personal blogs, learning projects, and open-source documentation: free themes are excellent and there’s no reason to pay.

For client work, commercial sites, or anywhere that presentation and time savings matter: a $39–$59 premium theme pays for itself in the first hour you don’t spend debugging layout issues.

The mistake is not paying for a premium theme. The mistake is overpaying for a premium theme that doesn’t deliver on its promise. That’s why live demos matter.

Browse free and premium Jekyll themes on JekyllHub →

Share LinkedIn

<!DOCTYPE html>

Jekyll SEO Guide: How to Rank Higher on Google | JekyllHub
Home Blog Jekyll SEO Guide: How to Rank Higher on Google
SEO

Jekyll SEO Guide: How to Rank Higher on Google

A practical SEO guide for Jekyll sites — from jekyll-seo-tag setup to structured data, sitemaps, canonical URLs, Core Web Vitals, and content strategy.

Jekyll SEO Guide: How to Rank Higher on Google

Jekyll gives you a significant SEO head start over WordPress — no bloated plugins, no slow database queries, and near-perfect Core Web Vitals out of the box. But there are still specific things you need to configure to rank well. This guide covers everything.


Why Jekyll Is Already Good for SEO

Before diving into configuration, it helps to understand what you already have:

  • Fast load times — Static HTML is served directly from a CDN with no server-side processing
  • Clean HTML — No WordPress bloat, no unnecessary <div> nesting
  • HTTPS by default — GitHub Pages, Netlify, and Cloudflare Pages all provide free SSL
  • Mobile-friendly — Most Jekyll themes are responsive out of the box

These factors directly influence Google’s Core Web Vitals scores, which became a ranking factor in 2021.


Step 1: Install jekyll-seo-tag

jekyll-seo-tag is the foundation of Jekyll SEO. It automatically generates:

  • <title> tags
  • Meta descriptions
  • Open Graph tags (for social sharing)
  • Twitter Card tags
  • JSON-LD structured data

Install:

# Gemfile
gem "jekyll-seo-tag"
# _config.yml
plugins:
  - jekyll-seo-tag

Add to your layout (before </head>):


{% seo %}

Run bundle install, then bundle exec jekyll build. View source on any page — you should see a block of SEO meta tags generated automatically.


Step 2: Configure _config.yml for SEO

These settings feed jekyll-seo-tag:

# _config.yml
title: "Your Site Name"
description: "A clear, 150-character description of what your site is about."
url: "https://yourdomain.com"
baseurl: ""
author: "Your Name"
twitter:
  username: yourhandle
  card: summary_large_image
logo: /assets/images/logo.png
social:
  name: Your Site Name
  links:
    - https://twitter.com/yourhandle
    - https://github.com/yourusername

The url field is critical — it is used to build absolute URLs for canonical tags and Open Graph URLs.


Step 3: Optimise Every Post’s Front Matter

Each post should have these fields:

---
title: "How to Do X: A Complete Guide for 2026"
description: "A 150–160 character description that includes your target keyword and gives users a reason to click."
date: 2026-06-13
author: "Your Name"
last_modified_at: 2026-06-13
image: /assets/images/blog/your-post-image.jpg
tags:
  - primary keyword
  - secondary keyword
---

Title tips:

  • Include your target keyword near the start
  • Keep under 60 characters
  • Add the year for freshness signals
  • Use power words: “Complete”, “Guide”, “Fast”, “Free”

Description tips:

  • 150–160 characters max
  • Include your primary keyword naturally
  • Write for humans, not bots — the description shows in search results

Step 4: Add a Sitemap

A sitemap tells Google about all the pages on your site.

# Gemfile
gem "jekyll-sitemap"
# _config.yml
plugins:
  - jekyll-sitemap

Your sitemap is automatically generated at /sitemap.xml. Submit it to Google Search Console.

To exclude pages from the sitemap, add to their front matter:

sitemap: false

Step 5: Set Up Canonical URLs

Duplicate content confuses Google. Canonical URLs tell Google which version of a page is the authoritative one.

jekyll-seo-tag handles canonicals automatically using your url setting. Verify by checking the source of a built page for:

<link rel="canonical" href="https://yourdomain.com/your-post/" />

Step 6: Optimise for Core Web Vitals

Google uses Core Web Vitals as a ranking signal. The three metrics are:

  • LCP (Largest Contentful Paint) — How fast the main content loads. Target: under 2.5 seconds.
  • FID/INP (Interaction to Next Paint) — How responsive the page is to clicks. Target: under 200ms.
  • CLS (Cumulative Layout Shift) — How much the layout shifts during load. Target: under 0.1.

Jekyll-specific improvements:

Preload fonts:

<link rel="preload" href="/assets/fonts/your-font.woff2" as="font" type="font/woff2" crossorigin>

Lazy load images:

<img src="image.jpg" loading="lazy" alt="Description" width="800" height="400">

Always include width and height attributes to prevent CLS.

Minify CSS: Add to _config.yml:

sass:
  style: compressed

Defer JavaScript:

<script src="/assets/js/main.js" defer></script>

Step 7: Add Structured Data (Schema Markup)

Structured data helps Google understand your content and can earn rich snippets in search results.

jekyll-seo-tag adds basic Article schema. For more control, add JSON-LD directly to your post layout:


{% if page.layout == "post" %}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "{{ page.title | escape }}",
  "description": "{{ page.description | escape }}",
  "datePublished": "{{ page.date | date_to_xmlschema }}",
  "dateModified": "{{ page.last_modified_at | default: page.date | date_to_xmlschema }}",
  "author": {
    "@type": "Person",
    "name": "{{ page.author | default: site.author }}"
  },
  "publisher": {
    "@type": "Organization",
    "name": "{{ site.title }}",
    "logo": {
      "@type": "ImageObject",
      "url": "{{ site.url }}{{ site.logo }}"
    }
  }
}
</script>
{% endif %}


Shorter, keyword-rich URLs rank better than long, dated ones.

Recommended:

# _config.yml
permalink: /blog/:title/

This gives you URLs like /blog/how-to-install-jekyll-theme/ instead of /2026/06/01/how-to-install-jekyll-theme/.

Avoid changing permalink structure on an existing site without setting up 301 redirects — changing URLs resets the SEO value those pages have accumulated.


Step 9: Internal Linking Strategy

Internal links distribute “link equity” across your site and help Google discover content.

Best practices:

  • Link to related posts within your content using descriptive anchor text
  • Add a “Related posts” section at the bottom of each post
  • Link from high-traffic pages (homepage, popular posts) to newer content

In Jekyll, you can link to other posts using post_url:


[How to Install a Jekyll Theme]({% post_url 2026-06-01-how-to-install-jekyll-theme %})

This will throw a build error if the post doesn’t exist, which is helpful for catching broken links.


Step 10: Set Up Google Search Console

  1. Go to Google Search Console
  2. Add your property (use the URL prefix method)
  3. Verify ownership by adding a meta tag to your <head> or uploading an HTML file
  4. Submit your sitemap at yourdomain.com/sitemap.xml
  5. Wait 1–3 days for Google to crawl and index your site

Once indexed, use the Coverage report to find crawl errors and the Performance report to see which queries drive traffic.


Jekyll SEO Plugins Worth Using

Plugin Purpose
jekyll-seo-tag Meta tags, Open Graph, Twitter Cards, JSON-LD
jekyll-sitemap Auto-generated sitemap.xml
jekyll-feed RSS feed for subscribers and search engines
jekyll-redirect-from 301 redirects when you change URLs
jekyll-last-modified-at Accurate last_modified_at dates for structured data

Content Strategy for Jekyll Sites

Technical SEO only gets you so far. Content quality is what drives rankings in 2026.

Target long-tail keywords — Instead of “Jekyll theme”, target “best Jekyll theme for portfolio 2026”. Lower competition, higher intent.

Answer questions completely — Google rewards comprehensive answers. If a topic has 5 sub-questions, answer all 5 in one post.

Update existing posts — Refreshing content with last_modified_at dates signals freshness to Google.

Build backlinks — Share posts in relevant communities (Reddit’s r/webdev, HackerNews, dev.to) to earn inbound links.


Jekyll’s clean HTML and fast load times give you a technical SEO advantage from day one. With the right configuration, you can outrank WordPress sites with far fewer resources.

Ready to start with a well-optimised Jekyll theme? Browse themes on JekyllHub →


References

Share LinkedIn

<!DOCTYPE html>

How to Migrate from WordPress to Jekyll (Complete Guide) | JekyllHub
Home Blog How to Migrate from WordPress to Jekyll (Complete Guide)
Tutorial

How to Migrate from WordPress to Jekyll (Complete Guide)

Step-by-step guide to migrating your WordPress blog or site to Jekyll — export your content, convert posts, set up redirects, and deploy to GitHub Pages.

How to Migrate from WordPress to Jekyll (Complete Guide)

Moving from WordPress to Jekyll is one of the most common migrations in the static site world — and for good reason. Jekyll sites are faster, cheaper to host, more secure, and far simpler to maintain. This guide walks through every step of the migration.


Why Migrate from WordPress to Jekyll?

WordPress powers 43% of the web, but it comes with real costs:

  • Hosting: WordPress needs a PHP/MySQL server — minimum $5–15/month
  • Maintenance: Core, theme, and plugin updates are constant
  • Security: WordPress is the most targeted CMS on the internet
  • Performance: Even with caching, WordPress is slower than a static site

Jekyll produces plain HTML files that you can host free on GitHub Pages, Netlify, or Cloudflare Pages. There are no databases, no PHP, and nothing to patch.


Before You Start: What You Need

  • Your WordPress admin credentials
  • Basic comfort with the command line
  • Git installed locally
  • Ruby and Jekyll installed (see how to install Jekyll)

Step 1: Export Your WordPress Content

In WordPress Admin, go to Tools → Export.

Select All Content and click Download Export File. You will get an .xml file — this contains all your posts, pages, categories, tags, and metadata.


Step 2: Convert WordPress Export to Jekyll Posts

Use the official Jekyll importer:

gem install jekyll-import hpricot open_uri_redirections

Then run:

ruby -r rubygems -e 'require "jekyll-import";
  JekyllImport::Importers::WordpressDotCom.run({
    "source" => "wordpress-export.xml",
    "no_fetch_images" => false,
    "assets_folder" => "assets/images"
  })'

This creates a _posts/ folder with all your WordPress posts converted to Markdown files, preserving titles, dates, categories, and tags.


Step 3: Review and Clean Up the Imported Posts

The importer does a good job but you will need to review:

Front matter — Posts will have front matter like:

---
layout: post
title: "My Post Title"
date: 2024-03-15 12:00:00 +0000
categories:
  - Tech
tags:
  - jekyll
---

This is correct. You may want to add a description: field for SEO.

Images — If you set no_fetch_images: false, images will be downloaded to assets/images/. Check that the paths in your posts match where the files landed.

HTML vs Markdown — The importer converts to HTML, not Markdown. Posts will still render correctly, but you may want to clean them up for readability. Tools like Pandoc can convert HTML to Markdown:

pandoc -f html -t markdown post.html -o post.md

Shortcodes — WordPress shortcodes like [gallery] or [caption] will not convert automatically. Search your posts for [ and fix them manually.


Step 4: Set Up Your Jekyll Site

Create a new Jekyll site or pick a theme from JekyllHub:

jekyll new my-site
cd my-site

Copy your converted _posts/ folder into the new site:

cp -r /path/to/imported/_posts/* _posts/

Step 5: Migrate Your Categories and Tags

Jekyll handles categories and tags in front matter. If the importer created a _categories/ or _tags/ folder, check that the naming matches your post front matter.

To generate tag and category archive pages, add the jekyll-archives plugin:

# Gemfile
gem "jekyll-archives"
# _config.yml
jekyll-archives:
  enabled:
    - categories
    - tags
  layouts:
    category: archive-taxonomy
    tag: archive-taxonomy

Step 6: Set Up Redirects From Old WordPress URLs

WordPress uses URLs like /2024/03/my-post/ or /?p=123. Jekyll’s default URL structure is /year/month/day/title/. You need redirects so old links and search rankings don’t break.

Option A: Jekyll redirect-from plugin

gem "jekyll-redirect-from"

Add the old URL to each post’s front matter:

redirect_from:
  - /2024/03/15/my-post/
  - /?p=1234

Option B: Netlify redirects

If deploying to Netlify, create a _redirects file:

/2024/03/15/my-post/  /blog/my-post/  301
/?p=1234             /blog/my-post/  301

Option C: Match WordPress URL structure

Set your Jekyll permalink to match WordPress:

# _config.yml
permalink: /:year/:month/:day/:title/

This preserves your old URLs with no redirects needed.


Step 7: Migrate Your WordPress Pages

The importer also creates pages in a _pages/ folder (or at the root level). Review:

  • about.md
  • contact.md
  • Any custom pages

Make sure each has correct front matter and a layout assigned.


Step 8: Handle WordPress Comments

Jekyll does not have a built-in comment system. Your options:

  • Disqus — easiest to migrate (Disqus can import WordPress comment exports)
  • Giscus — uses GitHub Discussions, free and privacy-friendly
  • Utterances — GitHub Issues-based, simple to set up
  • No comments — many blogs that migrate to Jekyll simply drop comments

For Giscus, add to your post layout:

<script src="https://giscus.app/client.js"
  data-repo="username/repo"
  data-repo-id="YOUR_REPO_ID"
  data-category="Comments"
  data-category-id="YOUR_CATEGORY_ID"
  data-mapping="pathname"
  data-theme="light"
  crossorigin="anonymous"
  async>
</script>

Step 9: Migrate Your WordPress Menu

WordPress menus become simple YAML in Jekyll. In _data/navigation.yml:

main:
  - title: "Home"
    url: /
  - title: "Blog"
    url: /blog/
  - title: "About"
    url: /about/
  - title: "Contact"
    url: /contact/

Then in your header template:


{% for item in site.data.navigation.main %}
  <a href="{{ item.url }}">{{ item.title }}</a>
{% endfor %}


Step 10: Deploy to GitHub Pages

  1. Create a new GitHub repository
  2. Push your Jekyll site to the main branch
  3. In the repo Settings → Pages, set Source to GitHub Actions
  4. GitHub will detect your Jekyll site and deploy automatically

Your site is now live at https://username.github.io/repo-name/.

For a custom domain, add a CNAME file to your repo root:

yourdomain.com

Then point your domain’s DNS to GitHub Pages.


After Migration: SEO Checklist

  • Submit new sitemap to Google Search Console: yourdomain.com/sitemap.xml (generated by jekyll-sitemap plugin)
  • Remove WordPress site from Google’s index only after confirming redirects are working
  • Check 301 redirects — verify old URLs redirect to new URLs with a tool like httpstatus.io
  • Update internal links — search posts for your old domain name and update to relative links
  • Add structured data — use jekyll-seo-tag for automatic Open Graph and Twitter Card meta tags

Common Migration Pitfalls

Encoding issues — WordPress content sometimes contains smart quotes and em dashes in Windows-1252 encoding. If you see garbled characters, open affected files and save as UTF-8.

Broken image paths — Double-check all image paths after migration. Use bundle exec jekyll build and check the output for 404s.

Date format — Jekyll requires YYYY-MM-DD dates. WordPress exports use a different format — the importer handles this, but check a few posts to be sure.


Ready to Pick a Jekyll Theme?

One of the best parts of migrating to Jekyll is choosing a clean, modern theme. Browse the collection at JekyllHub — filter by blog, portfolio, or documentation themes with live demos.

Share LinkedIn

<!DOCTYPE html>

25 Common Jekyll Errors and How to Fix Them Fast | JekyllHub
Home Blog 25 Common Jekyll Errors and How to Fix Them Fast
Tutorial

25 Common Jekyll Errors and How to Fix Them Fast

Running into Jekyll build errors? This guide covers the 25 most common Jekyll errors with exact fixes — from dependency issues to Liquid syntax crashes.

25 Common Jekyll Errors and How to Fix Them Fast

Jekyll errors can stop your build dead in its tracks. Whether you are setting up for the first time or have been running Jekyll for years, these errors show up repeatedly. This guide covers the 25 most common ones — with exact error messages and step-by-step fixes.


Dependency and Installation Errors

1. bundler: command not found

Full error:

bundler: command not found: jekyll

Fix: Jekyll runs through Bundler. You need both installed:

gem install bundler jekyll

If you already have them and still see this, run:

bundle exec jekyll serve

Always use bundle exec to ensure Jekyll runs in the context of your project’s gems.


2. Could not find gem 'jekyll (~> 4.0)'

Fix: Run bundle install in your project directory:

bundle install

If the error persists, check your Gemfile includes:

gem "jekyll", "~> 4.0"

3. Gem::FilePermissionError

Full error:

You don't have write permissions for the /usr/bin directory.

Fix: Never install gems with sudo. Instead, use a user-level gem path:

echo 'export GEM_HOME="$HOME/.gem"' >> ~/.bashrc
echo 'export PATH="$HOME/.gem/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
gem install bundler jekyll

4. LoadError: cannot load such file -- webrick

This happens in Ruby 3.0+ where WEBrick was removed from the standard library.

Fix: Add WEBrick to your Gemfile:

gem "webrick"

Then run bundle install.


5. Liquid Exception: No such file or directory @ rb_sysopen

Fix: Check that all files referenced in your _config.yml (like favicon, logo, or custom include files) actually exist at the paths you specified.


Build and Configuration Errors

6. Configuration file: none

Jekyll cannot find _config.yml. This usually means you are running Jekyll from the wrong directory.

Fix: cd into your project’s root folder (where _config.yml lives) before running:

cd my-jekyll-site
bundle exec jekyll serve

7. Invalid date '': (Post)

A post has an empty or malformed date: field in its front matter.

Fix: Check your post’s front matter:

---
date: 2026-06-11
---

Also make sure your filename follows the YYYY-MM-DD-title.md pattern.


8. 'layout' key in front matter defaults is not a string

Fix: Ensure layout values in _config.yml are quoted strings:

defaults:
  - scope:
      path: ""
      type: "posts"
    values:
      layout: "post"   # must be a quoted string

9. Build Warning: Layout 'post' requested in _posts/... does not exist

Fix: Make sure you have a _layouts/post.html file. If you are using a gem-based theme, run:

bundle info --path your-theme-name

This shows you all the files the theme provides. If post.html is missing from your local _layouts/ folder, the theme should provide it.


10. Conflict: The following destination is shared by multiple files

Two files are trying to write to the same output path.

Fix: Check for duplicate slugs — for example, about.md and about/index.md both produce /about/. Remove or rename one of them.


Liquid Template Errors

11. Liquid Exception: Liquid syntax error: Unknown tag 'xyz'

An unrecognised Liquid tag is in your template.

Fix: Either you have a typo, the plugin providing that tag is not installed, or it is not listed in your Gemfile. Check the plugin documentation and add it:

gem "jekyll-plugin-name"

Then add it to _config.yml:

plugins:
  - jekyll-plugin-name

12. Liquid Warning: Liquid syntax error (line X): Variable '{{' was not properly terminated

A Liquid tag is malformed — often a missing }} or %}.

Fix: Find line X in the file mentioned and check for unclosed tags. A common mistake:


# Wrong
{{ page.title }

# Right
{{ page.title }}


13. Liquid Exception: undefined method 'to_liquid'

An object is being passed to Liquid that it cannot serialise.

Fix: This often happens with custom plugins. Check that your plugin’s return values are standard Ruby types (strings, arrays, hashes) that Liquid can handle.


14. Liquid::ArgumentError: wrong number of arguments

A Liquid filter is being called with the wrong number of arguments.

Fix: Check the filter documentation. For example, slice takes two arguments:


{{ "Jekyll" | slice: 0, 3 }}   # correct


Front Matter Errors

15. YAML Exception reading _posts/...: did not find expected key

Invalid YAML in your post’s front matter.

Fix: YAML is whitespace-sensitive. Common mistakes:

# Wrong — tab indentation
tags:
	- jekyll

# Right — space indentation
tags:
  - jekyll

Use a YAML validator like yaml-online-parser.appspot.com to check your front matter.


16. Error: invalid byte sequence in UTF-8

A file contains characters that are not valid UTF-8.

Fix: Open the file in a text editor that shows encoding (VS Code, Sublime Text). Save the file as UTF-8. You can also run:

file -i your-file.md

to check the detected encoding.


17. Front matter not being parsed (content appearing as raw ---)

Jekyll only parses front matter if the file starts with --- on the very first line, with no space or BOM character before it.

Fix: Open the file and delete any blank lines before the opening ---. If the file was created on Windows, check for a BOM character using:

hexdump -C your-file.md | head

GitHub Pages Specific Errors

18. Page build failed: unknown tag 'some_tag'

GitHub Pages only supports a subset of Jekyll plugins. A plugin you are using locally is not allowed on GitHub Pages.

Fix: Either use only the allowed plugins, or switch to deploying via GitHub Actions where you can use any plugin.


19. GitHub Pages: Your site is having problems building: The value 'X' was passed to a date filter that cannot be parsed as a date

A date field in your content is malformed.

Fix: Find the file and fix the date:

date: 2026-06-11   # ISO format only, no quotes needed

20. Site deploys but shows old content

GitHub Pages can cache aggressively.

Fix: Hard refresh (Ctrl+Shift+R or Cmd+Shift+R). If the problem persists for more than 10 minutes, check the Actions tab in your GitHub repo for build errors.


Asset and URL Errors

21. CSS/JS not loading on live site (works locally)

Usually a baseurl misconfiguration.

Fix: In _config.yml, set:

url: "https://yourdomain.com"
baseurl: ""   # leave empty unless site lives in a subdirectory

For a GitHub Pages project site (e.g. username.github.io/project), set:

baseurl: "/project"

22. Images 404 on live site

Fix: Always use {{ site.baseurl }}/assets/images/photo.jpg in your templates rather than /assets/images/photo.jpg. The baseurl prefix is needed for project sites.


23. Error: ENOENT: no such file or directory, scandir '...'

A directory referenced in _config.yml (like collections_dir) does not exist.

Fix: Create the missing directory:

mkdir -p _collections

Or correct the path in _config.yml.


Server and Watch Errors

24. Address already in use - bind(2) for 127.0.0.1:4000

Another process is using port 4000 (usually a previous Jekyll instance that didn’t shut down cleanly).

Fix: Kill the other process:

lsof -ti:4000 | xargs kill -9

Or run Jekyll on a different port:

bundle exec jekyll serve --port 4001

25. --watch not detecting changes

Jekyll’s file watcher sometimes misses changes, especially on case-insensitive filesystems (macOS) or inside Docker containers.

Fix: Use the --force-polling flag:

bundle exec jekyll serve --livereload --force-polling

Quick Reference: Most Common Fixes

Symptom Most likely fix
command not found gem install bundler jekyll
Build fails silently Run bundle exec jekyll build --trace for full error output
Local works, GitHub Pages fails Check allowed plugins list
CSS not loading Fix baseurl in _config.yml
YAML errors Validate front matter with a YAML linter
Port 4000 in use lsof -ti:4000 | xargs kill -9

Still stuck?

Run Jekyll with full trace output to get the most helpful error message:

bundle exec jekyll build --trace

This prints the complete stack trace and usually points directly to the file and line causing the problem.

Browse Jekyll themes on JekyllHub to start fresh with a well-tested, error-free base.

Share LinkedIn

<!DOCTYPE html>

Jekyll Theme Setup Tutorial: Complete Walkthrough (2026) | JekyllHub
Home Blog Jekyll Theme Setup Tutorial: Complete Walkthrough (2026)
Tutorial

Jekyll Theme Setup Tutorial: Complete Walkthrough (2026)

A complete Jekyll theme setup tutorial — from installing Jekyll and picking a theme to configuring your site, adding content, and going live on GitHub Pages.

Jekyll Theme Setup Tutorial: Complete Walkthrough (2026)

This tutorial walks you through the complete process of setting up a Jekyll theme — from a blank machine to a fully configured, live website. No prior Jekyll experience needed.


What You Will Need

  • A computer running macOS, Windows, or Linux
  • A GitHub account (free)
  • Basic comfort with the terminal/command prompt
  • About 30 minutes

Part 1: Install Jekyll

Jekyll runs on Ruby. Install it first.

macOS

Apple ships an old version of Ruby — use rbenv for a proper install:

# Install Homebrew if you don't have it
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install rbenv and Ruby
brew install rbenv ruby-build
rbenv install 3.2.0
rbenv global 3.2.0

# Add rbenv to your shell
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source ~/.zshrc

# Install Jekyll
gem install jekyll bundler

Windows

  1. Download RubyInstaller (Ruby+Devkit version)
  2. Run the installer and follow the prompts
  3. Open a new command prompt and run:
gem install jekyll bundler

Linux (Ubuntu/Debian)

sudo apt-get update
sudo apt-get install ruby-full build-essential zlib1g-dev

echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

gem install jekyll bundler

Verify your install:

jekyll -v
ruby -v

For detailed platform-specific instructions, see the official Jekyll installation guide.


Part 2: Choose a Jekyll Theme

Before creating your site, pick a theme that matches your goals. Browse JekyllHub’s full theme collection or use these quick picks:

Use Case Theme Stars
Tech / developer blog Chirpy 7,000+
Personal blog / portfolio Hydejack 8,000+
All-purpose blog Minimal Mistakes 12,000+
Academic / research al-folio 10,000+
Documentation Just the Docs 7,000+
Beginner-friendly Jekyll Now 8,400+

Part 3: Set Up Your Site

There are two main approaches depending on the theme you chose.

Approach A: Gem-based themes (Minimal Mistakes, etc.)

# Create a new Jekyll site
jekyll new my-site
cd my-site

Open Gemfile and replace the default theme:

# Remove this line:
# gem "minima"

# Add your theme:
gem "minimal-mistakes-jekyll"

Open _config.yml and set the theme:

theme: minimal-mistakes-jekyll

Install and run:

bundle install
bundle exec jekyll serve

Approach B: Fork-based themes (Chirpy, al-folio, etc.)

Most modern themes recommend starting from their template:

# Example: Chirpy
git clone https://github.com/cotes2020/chirpy-starter my-site
cd my-site
bundle install
bundle exec jekyll serve

Visit http://localhost:4000 to preview your site.


Part 4: Configure Your Site

Open _config.yml — this is the control centre for your Jekyll site. Update these essential fields:

# Site identity
title: "Your Site Name"
tagline: "A short description"
description: >-
  A longer description of your site used in meta tags and search results.
  Keep it between 120–160 characters.

# Your URL (critical for SEO and social sharing)
url: "https://yourusername.github.io"
baseurl: ""

# Author information
author:
  name: "Your Name"
  email: "you@example.com"
  bio: "A short bio"
  avatar: "/assets/images/avatar.jpg"

# Social profiles
github_username: yourusername
twitter_username: yourusername
linkedin_username: yourusername

# Timezone and language
timezone: America/New_York
lang: en

# Build settings
permalink: /:year/:month/:day/:title/
paginate: 10

# Plugins
plugins:
  - jekyll-feed
  - jekyll-sitemap
  - jekyll-seo-tag

SEO tip: The url field must be set correctly for jekyll-seo-tag to generate proper canonical URLs and Open Graph tags. Never leave it as http://localhost:4000 in production.


Part 5: Customise the Look

Change colours

Most themes expose SCSS variables. Create assets/css/main.scss:

---
---

// Override variables before importing the theme
$primary-color: #2563eb;
$link-color: #2563eb;
$background-color: #ffffff;

@import "your-theme-name";

Override a layout

# Find where the theme gem is installed
bundle info --path your-theme-gem

# Copy the layout you want to change
cp /path/to/theme/_layouts/post.html _layouts/post.html

# Edit your local copy freely

Part 6: Add Your First Post

Create a file in _posts/ named YYYY-MM-DD-your-title.md:

---
title: "My First Post"
date: 2026-06-10 10:00:00 +0000
categories: [Blog]
tags: [jekyll, first-post]
description: "A brief description for SEO and social sharing"
---

This is my first Jekyll post. Write your content here in Markdown.

## A Section Heading

Your content goes here.

```code
echo "Code blocks work too"

Jekyll renders this into HTML automatically when you save.

---

## Part 7: Deploy to GitHub Pages

### Step 1: Create a GitHub repository

Go to [github.com/new](https://github.com/new).

- Name it `yourusername.github.io` for a personal site
- Leave it public
- Do not add a README (you already have files)

### Step 2: Push your site

```bash
git init
git add .
git commit -m "Initial site setup with Jekyll theme"
git branch -M main
git remote add origin https://github.com/yourusername/yourusername.github.io.git
git push -u origin main

Step 3: Enable GitHub Pages

In your repository, go to Settings → Pages:

  • Source: Deploy from a branch
  • Branch: main / root
  • Click Save

Your site goes live at https://yourusername.github.io within 2 minutes.


Part 8: Verify Everything Works

After deployment, check:

  • Site loads at https://yourusername.github.io
  • Posts appear on the homepage
  • Images load correctly
  • Navigation links work
  • Site looks correct on mobile (use browser DevTools)
  • View source and confirm <meta name="description"> is populated

Submit to Google Search Console

Register your site at Google Search Console and submit your sitemap:

https://yourusername.github.io/sitemap.xml

This tells Google your site exists and accelerates indexing.


Troubleshooting Common Setup Issues

Problem Solution
Liquid Exception on build Check front matter YAML syntax — indentation must be consistent
CSS not loading Verify baseurl in _config.yml matches your repository setup
Theme not applying Run bundle update and restart jekyll serve
Posts not showing Confirm filename format: YYYY-MM-DD-title.md and date is not in the future
Build fails on GitHub Pages Check the Actions tab — the error message shows exactly what failed

What to Do Next

Your site is live. Here is what experienced Jekyll users do next:

  1. Write 3–5 posts before promoting — gives visitors something to read
  2. Add a custom domain — set up in GitHub Pages settings and your DNS provider
  3. Enable commentsGiscus uses GitHub Discussions for free
  4. Set up Google Analytics — add your measurement ID to _config.yml
  5. Check your Lighthouse score — run Chrome DevTools → Lighthouse for a performance and SEO audit

Browse More Jekyll Themes

Not happy with your current theme? Browse 70+ Jekyll themes on JekyllHub — with real screenshots, live demos, and GitHub star counts to help you find the perfect fit.


References

Share LinkedIn

<!DOCTYPE html>

Jekyll Blog Setup Guide: From Zero to Live in 30 Minutes (2026) | JekyllHub
Home Blog Jekyll Blog Setup Guide: From Zero to Live in 30 Minutes (2026)
Tutorial

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 Blog Setup Guide: From Zero to Live in 30 Minutes (2026)

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 → SettingsPages → 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:

  1. Create a new file in _posts/ with today’s date in the filename
  2. Write in Markdown
  3. 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.


Once your blog is live:

  • Add Google Analytics — track your traffic from day one
  • Set up a custom domainyourblog.com instead of yourusername.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.


References

Share LinkedIn

<!DOCTYPE html>

Best Jekyll Themes for a Portfolio Website (2026) | JekyllHub
Home Blog Best Jekyll Themes for a Portfolio Website (2026)
Roundup

Best Jekyll Themes for a Portfolio Website (2026)

The best Jekyll portfolio themes for designers, developers, photographers, and academics — with live demos, feature breakdowns, and setup guidance.

Best Jekyll Themes for a Portfolio Website (2026)

A portfolio is one of the best use cases for Jekyll. Static files load instantly, hosting is free on GitHub Pages, and the result looks as good as any dynamic site — without the maintenance overhead. Here are the best Jekyll portfolio themes available in 2026.


What Makes a Great Jekyll Portfolio Theme?

Before picking a theme, consider what your portfolio needs:

  • Image-forward layout — your work should be the hero
  • Responsive design — looks great on mobile and desktop
  • Fast loading — first impressions matter
  • Easy content updates — adding new projects should take minutes
  • GitHub Pages compatibility — for free, zero-maintenance hosting

Best Jekyll Portfolio Themes

1. al-folio — Best for Academics and Researchers

al-folio is the most popular academic portfolio theme on GitHub. It renders publications, projects, CV, and blog posts from simple Markdown and YAML files — with BibTeX citation support built in.

Best for: Researchers, PhD students, professors, academics
Stars: 10,000+
Price: Free (MIT)
Demo: academicpages.github.io

Features:

  • Publication list with BibTeX auto-rendering
  • Projects grid with tags
  • CV page generated from YAML data
  • News/updates feed
  • Google Scholar integration

2. Hydejack — Best for Developer Portfolios

Hydejack is a premium-quality free Jekyll theme built specifically for developers who want a portfolio and a blog in one. The signature sidebar, smooth page transitions, and dark mode make it one of the most visually distinctive Jekyll themes.

Best for: Developers, designers, tech professionals
Stars: 8,000+
Price: Free (basic) / PRO $99
Demo: hydejack.com

Features:

  • Projects showcase with case study pages
  • Resume/CV page built from YAML
  • Dark mode
  • Offline support (PRO)
  • Beautiful typography

3. Modern Resume Theme — Best Single-Page Portfolio

Modern Resume Theme is a clean, single-page portfolio and resume Jekyll theme. Everything lives on one page — your bio, skills, experience, education, and projects — making it ideal for a concise professional introduction.

Best for: Job seekers, freelancers, early-career professionals
Stars: 2,000+
Price: Free
Demo: sproogen.github.io/modern-resume-theme


4. Minimal Mistakes — Best All-Purpose Portfolio

Minimal Mistakes is the most flexible Jekyll theme available. Its portfolio layout (collection) lets you showcase projects with full case study pages, categories, and tags. The 9 available skins mean you can achieve very different looks without touching CSS.

Best for: Developers and writers who want a blog + portfolio
Stars: 12,000+
Price: Free


5. Huxpro — Best Cover Image Portfolio Blog

Huxpro brings Ghost’s Casper aesthetic to Jekyll. Each post or project has its own full-screen cover image, creating a magazine-quality portfolio-blog hybrid that stands out from typical developer sites.

Best for: Creatives, writers, developers with strong visual content
Stars: 5,400+
Price: Free
Demo: huxpro.github.io


6. Online CV — Best Minimal Resume Portfolio

Online CV is a single-page Jekyll CV theme that is clean, readable, and completely content-focused. No distractions — just your skills, experience, and contact information presented professionally.

Best for: Job seekers, consultants
Stars: 2,200+
Price: Free


How to Set Up a Jekyll Portfolio on GitHub Pages

Step 1: Fork the theme repository

Go to your chosen theme’s GitHub repository and click Fork.

Step 2: Rename the repository

Rename it to yourusername.github.io to get a free custom domain.

Step 3: Edit _config.yml

title: "Your Name"
tagline: "Designer & Developer"
description: "Portfolio and blog of Your Name"
url: "https://yourusername.github.io"
author:
  name: "Your Name"
  email: "you@example.com"
  github: yourusername
  linkedin: yourusername

Step 4: Add your projects

Most portfolio themes store projects in _projects/ or _portfolio/:

---
title: "My Project"
date: 2026-01-01
image: /assets/images/project.jpg
tags: [React, Node.js, PostgreSQL]
link: https://myproject.com
---

Description of the project and what you built.

Step 5: Deploy

Push your changes — GitHub Pages builds and deploys automatically within 2 minutes.


Tips for a High-Converting Portfolio

  • Lead with your best work — put your 3 strongest projects first
  • Write case studies, not just screenshots — explain the problem you solved
  • Keep contact info visible — don’t make visitors search for it
  • Use real screenshots — avoid mockups that don’t show actual work
  • Keep it fast — compress images, avoid heavy JS libraries

Browse All Jekyll Portfolio Themes

See the full collection of Jekyll portfolio themes on JekyllHub, including both free and premium options with live demos and GitHub star counts.


References

Share LinkedIn

<!DOCTYPE html>

Jekyll vs Hugo: Full Comparison for 2026 (Themes, Speed, Hosting) | JekyllHub
Home Blog Jekyll vs Hugo: Full Comparison for 2026 (Themes, Speed, Hosting)
Comparison

Jekyll vs Hugo: Full Comparison for 2026 (Themes, Speed, Hosting)

A complete comparison of Jekyll and Hugo — build speed, theme ecosystems, GitHub Pages support, customisation ease, and which static site generator wins for your use case.

Jekyll vs Hugo: Full Comparison for 2026 (Themes, Speed, Hosting)

Jekyll and Hugo are the two most popular static site generators. Both produce fast, secure static websites — but they approach it differently. This comparison focuses specifically on themes: quality, variety, customisation, and which ecosystem better fits your workflow.


The Core Difference

Jekyll is built on Ruby and uses the Liquid templating language. It’s the oldest major static site generator and has native GitHub Pages support — push a repository and your site is live with no build configuration.

Hugo is built on Go and uses Go templates. It is dramatically faster than Jekyll — a site with 10,000 pages builds in seconds. But it requires more setup for deployment and has a steeper learning curve.


Theme Ecosystems

Jekyll Themes

Jekyll has a mature theme ecosystem built around:

  • GitHub repositories — fork or clone to get started
  • Ruby gems — install via Bundler, override files as needed
  • GitHub Pages themes — 12 official themes hosted by GitHub

Notable Jekyll themes include Minimal Mistakes (27k stars), Chirpy (7k+ stars), and Just the Docs for documentation.

Browse the complete collection at JekyllHub.

Hugo Themes

Hugo’s theme directory at themes.gohugo.io lists 400+ themes. They are installed via Hugo modules or Git submodules:

git submodule add https://github.com/adityatelange/hugo-PaperMod themes/PaperMod

Hugo themes tend to have more polished designs for business and portfolio sites, but the Jekyll ecosystem has deeper tooling for documentation and academic sites.


Build Speed

This is Hugo’s biggest advantage:

Site Size Jekyll Build Time Hugo Build Time
100 posts ~5 seconds <1 second
1,000 posts ~60 seconds ~2 seconds
10,000 posts ~10 minutes ~10 seconds

For personal blogs and small sites (under 500 pages), Jekyll’s speed is perfectly acceptable. For large content sites, Hugo’s speed advantage becomes significant.


Ease of Theme Customisation

Jekyll

Jekyll’s override system is intuitive for Ruby developers:

# Copy any theme file to override it
bundle info --path your-theme
cp /path/to/theme/_layouts/post.html _layouts/post.html

Edit the copy — Jekyll uses it automatically. No need to fork the theme.

Hugo

Hugo uses a similar override concept. Place files in layouts/ to override theme templates:

my-site/
  layouts/
    _default/
      single.html    # Overrides theme's single.html

Hugo’s Go templates are more powerful but harder to learn than Liquid. Features like pipes, partials, and shortcodes require reading documentation carefully.


GitHub Pages Support

Jekyll: Native support. Push your repository, GitHub Pages builds it automatically with no configuration needed.

Hugo: Requires GitHub Actions. You need to set up a workflow file to build Hugo and deploy the output. More setup upfront, but it works reliably once configured.

If you want zero-configuration deployment, Jekyll is the clear winner.


SEO and Performance

Both generators produce clean, fast HTML. The performance of the final site depends more on the theme than the generator.

  • Jekyll’s jekyll-seo-tag provides structured data, Open Graph, and Twitter Card support automatically.
  • Hugo has built-in SEO features in most popular themes, with no plugin required.

Neither has a meaningful SEO advantage over the other.


Which Should You Choose?

Choose Jekyll if:

  • You want GitHub Pages native deployment
  • You are building a blog, portfolio, or documentation site
  • You prefer a large existing theme library
  • You are new to static site generators
  • You want the largest community support

Choose Hugo if:

  • Your site will have 1,000+ pages
  • Build speed is critical to your workflow
  • You prefer Go/JavaScript tooling
  • You want more polished business/portfolio themes
  • You are comfortable with a steeper learning curve

The Honest Verdict

For most personal sites, blogs, and portfolios — Jekyll is the better starting point. The GitHub Pages integration eliminates hosting complexity, and the theme ecosystem is deep enough for almost any use case.

Hugo becomes the better choice at scale, or if you need the performance headroom for a large content site.

Whatever you choose, the most important decision is picking a theme that fits your content. Browse our Jekyll theme collection to find the right starting point.


References

Share LinkedIn

<!DOCTYPE html>

Best Static Site Themes in 2026 (Jekyll, Hugo & Eleventy) | JekyllHub
Home Blog Best Static Site Themes in 2026 (Jekyll, Hugo & Eleventy)
Roundup

Best Static Site Themes in 2026 (Jekyll, Hugo & Eleventy)

A curated list of the best static site themes across Jekyll, Hugo, and Eleventy — covering blogs, portfolios, documentation, and business sites.

Best Static Site Themes in 2026 (Jekyll, Hugo & Eleventy)

Static site generators have matured into a serious alternative to WordPress and other CMS platforms. Jekyll, Hugo, and Eleventy each have strong theme ecosystems — here are the best themes available in 2026 across all three platforms.


Best Jekyll Themes

Jekyll remains the most GitHub-native static site generator, with deep integration into GitHub Pages and a large library of community themes.

Best Jekyll Blog Themes

Chirpy — The most popular Jekyll blog theme in active development. Features dark mode, full-text search, categories, tags, table of contents, and PWA support. Free and MIT licensed.

Minimal Mistakes — The most-starred Jekyll theme on GitHub. Flexible two-column layout with 9 skins, extensive documentation, and support for dozens of layouts. Free.

Hydejack — A premium Jekyll blog theme with a signature sidebar, smooth page transitions, and exceptional typography. The PRO version adds offline support and a project showcase. Free/Premium.

Clean Blog — Ported from Start Bootstrap, this is a clean, distraction-free blog theme with beautiful cover images per post. Free.

Best Jekyll Portfolio Themes

al-folio — The leading Jekyll portfolio theme for academics and researchers. Supports publications, projects, CV, and BibTeX citations. Free.

Hydejack — Doubles as an excellent portfolio theme with its projects section and full-screen card layouts.

Modern Resume Theme — A single-page resume and portfolio theme. Clean, professional, and GitHub Pages compatible. Free.

Best Jekyll Documentation Themes

Just the Docs — The definitive Jekyll documentation theme. Instant search, nested navigation, customisable colour schemes, and accessible design. Used by hundreds of open-source projects. Free.


Best Hugo Themes

Hugo is the fastest static site generator — build times are measured in milliseconds. Its theme ecosystem is extensive.

PaperMod

One of the most popular Hugo themes for blogs. Minimal, fast, and featureful — supporting dark mode, social cards, search, and multilingual content. Free on GitHub.

Docsy

Google’s official Hugo theme for technical documentation. Used by Kubernetes, gRPC, and other major projects. Feature-rich with versioned docs support. Free.

Congo

A modern Hugo theme inspired by Tailwind CSS. Beautiful typography, dark mode, and an excellent authoring experience. Free.

Blowfish

A highly customisable Hugo blog theme with multiple homepage layouts, rich taxonomies, and excellent Lighthouse scores. Free.


Best Eleventy (11ty) Themes

Eleventy is the most flexible static site generator — it supports multiple templating languages and has no opinion on your data layer.

Eleventy Base Blog

The official Eleventy starter template. Minimal, fast, and a great foundation for customisation. Free.

Slinkity

Combines Eleventy with component frameworks (React, Vue, Svelte). For developers who want the speed of static sites with the interactivity of modern JS frameworks.

Hylia

A clean, accessible Eleventy blog starter with a focus on web performance and progressive enhancement. Free.


Static Site Theme Comparison

Generator Build Speed Theme Variety Learning Curve GitHub Pages
Jekyll Moderate Large Low–Medium Native ✓
Hugo Very fast Large Medium Via Actions
Eleventy Fast Growing Medium–High Via Actions

How to Choose the Right Theme

Choose Jekyll if:

  • You want GitHub Pages native hosting
  • You prefer Ruby/Liquid templating
  • You want the largest community support

Choose Hugo if:

  • Build speed matters (large sites with 1,000+ pages)
  • You prefer Go templating
  • You want the widest choice of premium themes

Choose Eleventy if:

  • You want maximum flexibility
  • You prefer JavaScript/Node.js tooling
  • You want to mix templating languages

Browse Jekyll Themes on JekyllHub

JekyllHub is the most comprehensive Jekyll theme directory — with 70+ curated themes across every category, real screenshots, and GitHub star counts.


References

Share LinkedIn

<!DOCTYPE html>

Jekyll Theme vs WordPress Theme: Which Should You Choose in 2026? | JekyllHub
Home Blog Jekyll Theme vs WordPress Theme: Which Should You Choose in 2026?
Comparison

Jekyll Theme vs WordPress Theme: Which Should You Choose in 2026?

An honest comparison of Jekyll themes vs WordPress themes — covering speed, cost, ease of use, SEO, and security to help you make the right choice for your project.

Jekyll Theme vs WordPress Theme: Which Should You Choose in 2026?

Choosing between Jekyll and WordPress is one of the most common decisions developers and bloggers face. Both power millions of websites — but they are fundamentally different tools suited to different needs. This comparison will help you decide which is right for your project.


At a Glance

  Jekyll WordPress
Type Static site generator Dynamic CMS
Hosting GitHub Pages (free), Netlify, Cloudflare Requires PHP server
Cost Free to near-free Hosting + plugins + themes add up
Speed Extremely fast (static files) Slower (database queries)
Security No server-side attack surface Regular patching required
Learning curve Moderate (requires terminal comfort) Low (visual editor)
Theme ecosystem Hundreds of free themes Thousands of themes
Plugins Limited 60,000+ plugins

Speed

Jekyll wins decisively on speed. A Jekyll site serves pre-built HTML files with no database queries, no PHP execution, and no plugin overhead. A typical Jekyll page loads in under 200ms.

WordPress serves pages dynamically — every request hits the database, runs PHP, and executes plugins. Even with caching plugins like WP Rocket or W3 Total Cache, a WordPress site rarely matches a Jekyll site’s raw speed.

Google Core Web Vitals increasingly factor into search rankings. Jekyll sites typically score 95–100 on Lighthouse performance out of the box. WordPress sites often require significant optimisation to reach the same scores.

According to HTTP Archive, the median WordPress page is 2.5× heavier than the median static site page.


Security

Jekyll has no server-side code, no database, and no admin login page. There is nothing for attackers to exploit. Once deployed, a Jekyll site is essentially immune to SQL injection, plugin vulnerabilities, and brute-force login attacks.

WordPress is the most attacked CMS on the internet. According to Sucuri’s 2023 Website Threat Research Report, WordPress accounted for 96.2% of infected CMS websites. Regular core updates, plugin updates, and security plugins are mandatory maintenance tasks.


Cost

Jekyll:

  • GitHub Pages hosting: free
  • Netlify/Cloudflare Pages: free for personal projects
  • Premium themes: $0–$79 one-time
  • No recurring hosting costs for most projects

WordPress:

  • Managed hosting (WP Engine, Kinsta): $25–$100/month
  • Premium theme: $30–$80 one-time or annual
  • Essential plugins (SEO, caching, security, backups): $100–$300/year
  • Developer maintenance: variable

For a personal blog or portfolio, Jekyll can cost you nothing. A comparable WordPress setup typically runs $400–$1,200 per year.


Ease of Use

WordPress wins here. Its block editor (Gutenberg) lets non-technical users publish content without touching code. The admin dashboard handles everything from media uploads to plugin configuration through a visual interface.

Jekyll requires comfort with:

  • The terminal (command line)
  • Markdown for writing posts
  • YAML for configuration
  • Git for version control

If you can handle these, Jekyll is extremely pleasant to work with. If you cannot, WordPress is the better choice.


SEO

Both platforms can achieve excellent SEO results. The advantage lies in execution:

Jekyll SEO advantages:

  • Faster page speed → better Core Web Vitals
  • Cleaner HTML output
  • jekyll-seo-tag handles meta tags, Open Graph, and structured data automatically
  • No bloated plugin conflicts

WordPress SEO advantages:

  • Yoast SEO and Rank Math provide visual guidance for non-developers
  • Easier to manage large sites with hundreds of pages
  • Built-in redirect management

For developers comfortable with configuration files, Jekyll’s SEO setup is cleaner and more maintainable.


Content Management

WordPress’s database-driven CMS makes it genuinely better for:

  • Large editorial teams
  • Scheduled publishing
  • Custom post types and taxonomies
  • E-commerce (WooCommerce)
  • Membership sites

Jekyll stores all content as Markdown files in a Git repository. This is perfect for developer blogs and documentation but awkward for a team of non-technical writers.


When to Choose Jekyll

  • Personal blog or portfolio
  • Developer documentation
  • Project landing page
  • GitHub Pages deployment
  • Sites where speed and security are priorities
  • You are comfortable with Git and Markdown

When to Choose WordPress

  • Large editorial team
  • E-commerce site
  • You need a visual content editor
  • Extensive plugin requirements
  • Client sites where non-technical users manage content

Jekyll Themes vs WordPress Themes

Jekyll themes are typically:

  • Distributed as Ruby gems or GitHub repositories
  • Modified through SCSS and Liquid templates
  • Smaller and faster by default
  • Less visual to customise

WordPress themes:

  • Available through the WordPress theme directory (10,000+) or marketplaces
  • Customised through the Theme Customiser or page builders like Elementor
  • More polished out of the box for non-developers
  • Can become bloated with page builder dependencies

Browse our Jekyll theme collection to see what’s available — many rival the quality of premium WordPress themes at a fraction of the cost.


The Verdict

Choose Jekyll if you value speed, security, and low cost — and you are comfortable with developer tooling.

Choose WordPress if you need a visual editor, a large plugin ecosystem, or a non-technical team managing content.

There is no wrong answer. The best platform is the one that matches your workflow and technical comfort level.


References

Share LinkedIn

<!DOCTYPE html>

How to Change Your Jekyll Theme (Without Losing Content) | JekyllHub
Home Blog How to Change Your Jekyll Theme (Without Losing Content)
Tutorial

How to Change Your Jekyll Theme (Without Losing Content)

A safe, step-by-step guide to switching Jekyll themes — including how to migrate your posts, preserve your SEO, and avoid common pitfalls when changing themes.

How to Change Your Jekyll Theme (Without Losing Content)

Changing a Jekyll theme is straightforward if you follow the right steps. The key is understanding what belongs to the theme and what belongs to your content — so you can swap one without touching the other.


Before You Start: Back Up Your Site

Always create a git commit (or branch) before changing themes:

git checkout -b backup-before-theme-change
git add .
git commit -m "Backup before switching theme"
git checkout main

This gives you a safe rollback point.


Step 1: Audit Your Current Content

Identify what will need to migrate:

ls _posts/        # Your blog posts — always portable
ls _pages/        # Static pages — usually portable
ls _data/         # Data files — check if theme-specific
ls _includes/     # Custom includes — may need rewriting
ls _layouts/      # Custom layouts — may need rewriting

Your _posts/ content is always safe — Jekyll’s post format is universal. The files most likely to break are custom layouts and includes that reference theme-specific variables.


Step 2: Note Your Front Matter Defaults

Check _config.yml for any theme-specific settings:

# These are Minimal Mistakes specific — won't work in other themes
defaults:
  - scope:
      path: ""
      type: posts
    values:
      layout: "single"        # Theme-specific layout name
      author_profile: true    # Theme-specific variable
      sidebar:
        nav: "docs"           # Theme-specific sidebar

Write down any settings like these — you will need to find the equivalent in your new theme.


Step 3: Choose Your New Theme

Browse all Jekyll themes and pick one that matches your content type:

Check that the new theme supports the layouts your posts use.


Step 4: Install the New Theme

For gem-based themes

Update Gemfile:

# Remove old theme
# gem "minima"

# Add new theme
gem "jekyll-theme-chirpy"

Update _config.yml:

# Remove old theme
# theme: minima

# Add new theme
theme: jekyll-theme-chirpy

Run:

bundle update
bundle exec jekyll serve

For GitHub-hosted themes

# _config.yml
remote_theme: cotes2020/jekyll-theme-chirpy

Step 5: Fix Broken Layouts

After switching, some posts may show errors like Layout 'single' does not exist. This means your posts use a layout name from the old theme.

Update the layout: field in affected posts, or set a default in _config.yml:

defaults:
  - scope:
      path: ""
      type: posts
    values:
      layout: "post"   # Use the new theme's post layout name

Step 6: Migrate Custom Pages

Static pages in _pages/ may reference old theme layouts. Check each one and update the layout: front matter to match the new theme’s available layouts.


Step 7: Preserve Your SEO

When changing themes, protect your existing SEO signals:

Keep the same URLs. Your post URLs are controlled by permalink in _config.yml, not the theme. Make sure this doesn’t change:

permalink: /:year/:month/:day/:title/

Keep your meta descriptions. Make sure the new theme uses jekyll-seo-tag or equivalent to render your post description fields.

Keep your sitemap. Add jekyll-sitemap to your Gemfile if the new theme doesn’t include it:

gem "jekyll-sitemap"

Step 8: Rebuild and Review

bundle exec jekyll clean
bundle exec jekyll serve --livereload

Check:

  • Homepage renders correctly
  • All posts are accessible
  • Images load properly
  • Navigation works
  • Mobile layout looks correct

Common Issues When Changing Themes

Issue Cause Fix
Posts show wrong layout Old layout name in front matter Update layout: or set defaults in _config.yml
Images broken Different asset path convention Check baseurl and image paths
Styles look wrong Old SCSS overrides conflict Remove or update assets/css/main.scss
Navigation missing Old _data/navigation.yml format Check new theme’s navigation format

References

Share LinkedIn

<!DOCTYPE html>

GitHub Pages Jekyll Theme: Complete Setup Guide (2026) | JekyllHub
Home Blog GitHub Pages Jekyll Theme: Complete Setup Guide (2026)
Tutorial

GitHub Pages Jekyll Theme: Complete Setup Guide (2026)

Everything you need to know about using Jekyll themes on GitHub Pages — supported themes, remote themes, deployment, and troubleshooting common issues.

GitHub Pages Jekyll Theme: Complete Setup Guide (2026)

GitHub Pages is the most popular way to host a Jekyll site — it’s free, integrates directly with your repository, and rebuilds automatically on every push. This guide covers everything you need to set up a Jekyll theme on GitHub Pages correctly.


How GitHub Pages Builds Jekyll Sites

When you push to a GitHub Pages repository, GitHub runs Jekyll automatically on their servers. This means:

  • No build command needed
  • No server to manage
  • Free HTTPS via GitHub’s CDN
  • Automatic rebuilds on every commit

The limitation: GitHub Pages only supports a specific set of plugins. Themes that require unsupported plugins won’t build on GitHub Pages directly — you’ll need to use GitHub Actions instead.


Option 1: Use an Official GitHub Pages Theme

GitHub maintains 12 official themes that work on GitHub Pages without any plugin setup:

To use one, add to _config.yml:

theme: jekyll-theme-minimal

That’s it — no Gemfile changes needed for GitHub Pages.


Option 2: Use Any Theme via remote_theme

The jekyll-remote-theme plugin (supported by GitHub Pages) lets you use any public GitHub repository as a theme:

Step 1: Update _config.yml

remote_theme: mmistakes/minimal-mistakes
plugins:
  - jekyll-remote-theme

Step 2: Update Gemfile

source "https://rubygems.org"
gem "github-pages", group: :jekyll_plugins
gem "jekyll-remote-theme"

Step 3: Push to GitHub

git add .
git commit -m "Set up Jekyll theme"
git push

GitHub Pages builds your site automatically. Check the Actions tab in your repository to monitor the build.


For themes like Chirpy, Hydejack, or Just the Docs that use unsupported plugins, use GitHub Actions to build and deploy:

Step 1: Create .github/workflows/pages.yml


name: Deploy Jekyll site to Pages

on:
  push:
    branches: ["main"]
  workflow_dispatch:

permissions:
  contents: read
  pages: write
  id-token: write

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Setup Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.1'
          bundler-cache: true
      - name: Build with Jekyll
        run: bundle exec jekyll build
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3

  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    needs: build
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

Step 2: Enable GitHub Pages via Actions

Go to Settings → Pages → Source and select GitHub Actions.


Setting Up Your Repository

Repository naming

Goal Repository name
User/org site yourusername.github.io
Project site Any name (served at yourusername.github.io/repo-name)

Essential _config.yml settings for GitHub Pages

url: "https://yourusername.github.io"
baseurl: ""  # Leave empty for user sites, "/repo-name" for project sites

title: "My Site"
author:
  name: "Your Name"
  email: "you@example.com"

Common mistake: Setting baseurl incorrectly causes broken asset links. For user sites (yourusername.github.io), always set baseurl: "".


Theme Type GitHub Pages Compatible
Minimal Mistakes Blog/Portfolio ✓ via remote_theme
Chirpy Blog ✓ via Actions
Just the Docs Documentation ✓ via Actions
Beautiful Jekyll Blog ✓ via remote_theme
Jekyll Now Blog ✓ direct fork
Hacker Developer ✓ official theme
Minimal Personal ✓ official theme

Troubleshooting Common GitHub Pages Issues

Build fails with “Dependency Error”

The theme uses a plugin not supported by GitHub Pages. Switch to GitHub Actions deployment.

Site builds but CSS is broken

Check your baseurl setting. For project sites it must be /repo-name, for user sites it must be "".

Changes not appearing

GitHub Pages can take 1–2 minutes to rebuild. Check the Actions tab for build status.

remote_theme not loading

Make sure jekyll-remote-theme is listed under plugins: in _config.yml and in your Gemfile.


References

Share LinkedIn

<!DOCTYPE html>

How to Customize a Jekyll Theme (Complete Guide 2026) | JekyllHub
Home Blog How to Customize a Jekyll Theme (Complete Guide 2026)
Tutorial

How to Customize a Jekyll Theme (Complete Guide 2026)

Learn how to customize any Jekyll theme — override layouts, change colours and fonts, modify SCSS, and add custom functionality without breaking your theme.

How to Customize a Jekyll Theme (Complete Guide 2026)

Customizing a Jekyll theme doesn’t mean editing the theme files directly — that approach breaks every time you update the theme. The right way is to use Jekyll’s override system: copy only the files you want to change into your project, and Jekyll will use your version instead.

This guide covers everything from changing colours to overriding layouts to adding completely new features.


How Jekyll Theme Overrides Work

Jekyll loads files in this priority order:

  1. Your project files (highest priority)
  2. Theme gem files
  3. Jekyll defaults

This means if you create _layouts/post.html in your project, Jekyll uses it instead of the theme’s version — without touching the original.


1. Change Colours and Fonts (SCSS Override)

Most modern themes expose SCSS variables you can override. Here is the standard approach:

Step 1: Find the theme’s variable file

bundle info --path minimal-mistakes-jekyll

This shows the gem path. Look for _sass/minimal-mistakes/_variables.scss.

Step 2: Create your override file

Create assets/css/main.scss in your project:

---
---

// Override theme variables BEFORE importing the theme
$primary-color: #2563eb;
$font-family-sans-serif: "Inter", sans-serif;
$border-radius: 8px;

// Then import the theme
@import "minimal-mistakes";

Step 3: Rebuild

bundle exec jekyll serve

Your colour and font changes apply site-wide instantly.


2. Override a Layout

To modify a theme’s layout without editing the gem:

Step 1: Copy the layout file

cp $(bundle info --path minimal-mistakes-jekyll)/_layouts/post.html _layouts/post.html

Step 2: Edit your local copy

Open _layouts/post.html and make your changes. Jekyll will use this file automatically.


3. Override an Include

Includes work the same way as layouts:

cp $(bundle info --path your-theme)/_includes/header.html _includes/header.html

Edit _includes/header.html freely — your version takes precedence.


4. Customize _config.yml

Most themes expose configuration options in _config.yml. This is the safest place to make changes since it never conflicts with theme updates:

# Minimal Mistakes example
minimal_mistakes_skin: "dark"
author:
  name: "Your Name"
  bio: "Your bio here"
  avatar: "/assets/images/avatar.jpg"

# Typography
title_separator: "—"
words_per_minute: 200

Consult your theme’s documentation for available options.


5. Add Custom CSS Without Overriding SCSS

For small tweaks, create a custom CSS file and include it in your layout:

/* assets/css/custom.css */
.site-header {
  border-bottom: 2px solid #2563eb;
}

.post-title {
  font-size: 2.5rem;
}

Then reference it in your _includes/head.html override:


<link rel="stylesheet" href="{{ '/assets/css/custom.css' | relative_url }}">


6. Add Google Fonts

Override _includes/head.html and add:

<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap" rel="stylesheet">

Then set the font in your SCSS override:

$font-family-sans-serif: "Inter", system-ui, sans-serif;

7. Add a Custom Navigation Menu

Most themes read navigation from _data/navigation.yml:

main:
  - title: "Blog"
    url: /blog/
  - title: "Themes"
    url: /themes/
  - title: "About"
    url: /about/

8. Modify the Home Page

To customise the homepage, create index.html or index.md in your project root. Most themes support front matter options to configure sections:

---
layout: home
hero_title: "My Jekyll Site"
hero_subtitle: "Writing about code and design"
show_posts: true
posts_limit: 6
---

Best Practices for Customizing Jekyll Themes

  • Never edit gem files directly — changes are lost on bundle update
  • Override only what you need — fewer overrides = easier theme updates
  • Use _config.yml options first — most themes expose more than you expect
  • Keep a _sass/custom.scss — a single file for all your tweaks is easier to maintain
  • Test with bundle exec jekyll serve --livereload — see changes instantly

Theme Customization Guide
Minimal Mistakes Docs
Chirpy Docs
Just the Docs Docs
Hydejack Docs

References

Share LinkedIn

<!DOCTYPE html>

How to Install a Jekyll Theme (Step-by-Step Guide for 2026) | JekyllHub
Home Blog How to Install a Jekyll Theme (Step-by-Step Guide for 2026)
Tutorial

How to Install a Jekyll Theme (Step-by-Step Guide for 2026)

Learn exactly how to install a Jekyll theme from scratch — covering gem-based themes, GitHub Pages themes, and manual installation with clear step-by-step instructions.

How to Install a Jekyll Theme (Step-by-Step Guide for 2026)

Installing a Jekyll theme is one of the first things you will do when building a static site. Whether you are using GitHub Pages, a local Jekyll setup, or deploying to Netlify, this guide walks you through every method clearly and completely.

Prerequisites

Before installing a theme, make sure you have Jekyll installed on your machine:

gem install jekyll bundler
jekyll -v

If you need a full setup guide, see the official Jekyll installation docs.


Method 1: Install a Gem-Based Jekyll Theme

Most modern Jekyll themes are distributed as Ruby gems. This is the recommended approach for new projects.

Step 1: Create a new Jekyll site

jekyll new my-site
cd my-site

Step 2: Add the theme gem to your Gemfile

Open Gemfile and replace or add the theme gem. For example, to install Minimal Mistakes:

gem "minimal-mistakes-jekyll"

Step 3: Update _config.yml

theme: minimal-mistakes-jekyll

Step 4: Install dependencies

bundle install

Step 5: Preview your site

bundle exec jekyll serve

Visit http://localhost:4000 to see your new theme in action.


Method 2: Install a Jekyll Theme from GitHub

Many popular themes — including Chirpy, Hydejack, and al-folio — are not gem-based. You install them by forking or cloning the repository.

  1. Go to the theme’s GitHub repository
  2. Click Fork in the top-right corner
  3. Rename the fork to yourusername.github.io
  4. Edit _config.yml to update your site details

Your site will be live at https://yourusername.github.io within minutes.

Option B: Clone and copy files

git clone https://github.com/cotes2020/jekyll-theme-chirpy.git
cd jekyll-theme-chirpy
bundle install
bundle exec jekyll serve

Method 3: Install a Jekyll Theme on GitHub Pages

GitHub Pages supports a limited set of officially supported themes natively. To use one:

Step 1: Open _config.yml

remote_theme: pages-themes/minimal@v0.2.0
plugins:
  - jekyll-remote-theme

Step 2: Add the plugin to your Gemfile

gem "jekyll-remote-theme"

Step 3: Push to GitHub

git add .
git commit -m "Add Jekyll theme"
git push

GitHub Pages will build your site automatically.

Note: GitHub Pages only supports a specific list of plugins. If your theme requires unsupported plugins, deploy via Netlify or Cloudflare Pages instead.


Method 4: Install a Remote Theme on GitHub Pages

The jekyll-remote-theme plugin lets you use any public GitHub repository as a theme:

remote_theme: mmistakes/minimal-mistakes
plugins:
  - jekyll-remote-theme

This is the most flexible approach for GitHub Pages users.


Common Installation Errors and Fixes

Bundler could not find compatible versions

Run bundle update to resolve dependency conflicts.

Invalid theme folder

Make sure the theme name in _config.yml exactly matches the gem name in Gemfile.

No such file or directory — jekyll

Jekyll is not installed. Run gem install jekyll bundler first.

Theme shows default Minima styles

Clear the Jekyll cache and rebuild:

bundle exec jekyll clean
bundle exec jekyll serve

Which Installation Method Should You Use?

Method Best For
Gem-based Local development, full control
Fork from GitHub GitHub Pages, theme-specific setup
remote_theme GitHub Pages with any public theme
Clone manually Customising the theme source

Next Steps

Once your theme is installed, you will want to:

  • Update _config.yml with your site name, URL, and author details
  • Add your first post to _posts/
  • Customise colours and fonts in the theme’s SCSS files

Browse our full collection of Jekyll themes to find the perfect starting point for your project.


References

Share LinkedIn

<!DOCTYPE html>

Best Free Jekyll Themes for GitHub Pages (2026) | JekyllHub
Home Blog Best Free Jekyll Themes for GitHub Pages (2026)
Blog

Best Free Jekyll Themes for GitHub Pages (2026)

The best free Jekyll themes that work seamlessly with GitHub Pages — no build step, no plugins, just push and deploy.

Best Free Jekyll Themes for GitHub Pages (2026)

GitHub Pages is the easiest way to host a Jekyll site — free, reliable, and zero configuration. The catch is that it only supports a whitelist of plugins and runs Jekyll in safe mode. That means not every theme works out of the box.

This list covers only themes that are fully compatible with GitHub Pages — no workarounds, no GitHub Actions required. Push to your repo and your site is live in minutes.

What “GitHub Pages Compatible” Means

A theme is GitHub Pages compatible if it:

  • Uses only whitelisted plugins (jekyll-feed, jekyll-sitemap, jekyll-seo-tag, etc.)
  • Does not require a custom build step
  • Works with the Jekyll version GitHub Pages currently runs (Jekyll 3.10)

The Best Free GitHub Pages Themes

Minimal Mistakes

The most popular free Jekyll theme in existence, and for good reason. Nine colour skins, multiple layout options, built-in SEO, six comment systems, and support for 35+ languages. Minimal Mistakes is completely GitHub Pages compatible and has some of the best documentation of any open source theme.

Best for: Blogs, personal sites, documentation View on JekyllHub

Chirpy

A modern blog theme with a sidebar, dark mode, full-text search (powered by Algolia or local JSON), categories, tags, and a table of contents on every post. Actively maintained with regular updates.

Best for: Developer blogs, technical writing View on JekyllHub

Minima

The official default Jekyll theme — minimal, clean, and completely frictionless. Not the most feature-rich, but if you want to focus entirely on writing with zero distraction, Minima delivers.

Best for: Simple blogs, getting started quickly View on JekyllHub

Just the Docs

If you need to document a project, tool, or API, Just the Docs is the clear choice. Three-column layout, instant search, nested navigation, and colour schemes. Used by hundreds of open source projects.

Best for: Documentation sites, developer tools View on JekyllHub

Hydejack

A boutique portfolio-blog hybrid with a fixed sidebar, offline support via Service Worker, blur-up image loading, and smooth page transitions. The free version is genuinely complete — the premium version adds extra layouts.

Best for: Developer portfolios, personal sites View on JekyllHub

Cayman

GitHub’s own official theme — the clean, green-accented theme you have seen on countless project pages. Simple, fast, and perfectly suited for project landing pages.

Best for: Project pages, open source repos View on JekyllHub

Getting Started

All of the themes above can be installed in under five minutes. Our installation guide walks through every step — from cloning the repo to going live on GitHub Pages with a custom domain.

Want More Options?

Browse the full collection of free themes on JekyllHub — filter by category, dark mode support, and more.

Browse Free Themes →

Share LinkedIn

<!DOCTYPE html>

35 Best Jekyll Themes for 2026 (Free + Premium) | JekyllHub
Home Blog 35 Best Jekyll Themes for 2026 (Free + Premium)
Blog

35 Best Jekyll Themes for 2026 (Free + Premium)

A hand-picked collection of the best Jekyll themes available in 2026 — covering blogs, portfolios, documentation, e-commerce, and landing pages.

35 Best Jekyll Themes for 2026 (Free + Premium)

Jekyll remains one of the most reliable static site generators in 2026 — fast, GitHub Pages native, and backed by a thriving theme ecosystem. Whether you are starting a personal blog, a developer portfolio, or a documentation site, there is a Jekyll theme built exactly for your use case.

We have reviewed hundreds of themes and hand-picked the best ones across every category. Here is the definitive list for 2026.

What Makes a Great Jekyll Theme?

Before diving in, here is what we looked for:

  • Active maintenance — updated within the last 12 months
  • Responsive design — works on every screen size
  • Clean code — readable, well-structured Liquid and SCSS
  • Good documentation — easy to install and customise
  • Performance — fast load times and good Lighthouse scores

Best Jekyll Blog Themes

1. Minimal Blog

A clean, typographic theme built for writers. Generous whitespace, beautiful typography, and a reading experience that puts your words first. Supports dark mode, RSS, and SEO out of the box.

Price: Premium — $19 View Theme

2. Chirpy

One of the most popular free Jekyll themes on GitHub, Chirpy is a feature-rich blog theme with categories, tags, search, dark mode, and a clean sidebar layout. Perfect for developer blogs.

Price: Free View Theme

3. Minimal Mistakes

The Swiss Army knife of Jekyll themes — 9 skins, multiple layouts, Algolia search, six comment systems, and i18n support for 35+ languages. Arguably the best-documented free theme in existence.

Price: Free View Theme

Best Jekyll Portfolio Themes

4. Portfolio Noir

A bold, dark portfolio theme for designers and developers. High-contrast layouts, smooth transitions, and a projects grid that makes your work the centrepiece.

Price: Premium — $29 View Theme

5. Folio Light

A clean, minimal portfolio with a light aesthetic. Great for photographers and illustrators who want their images to breathe.

Price: Premium — $24 View Theme

6. Hydejack

The most visually distinctive Jekyll portfolio-blog hybrid available. A fixed sidebar, offline support via Service Worker, blur-up image loading, and fast page transitions. Free and premium versions available.

Price: Free View Theme

Best Jekyll Documentation Themes

7. Just the Docs

The gold standard for Jekyll documentation. Clean three-column layout, instant search, colour schemes, and deep navigation support. Used by hundreds of open source projects.

Price: Free View Theme

8. DevDocs Pro

A premium documentation theme with versioned docs, an API reference layout, a command palette, and dark mode. Built for developer tools and SaaS products.

Price: Premium — $39 View Theme

Best Jekyll Landing Page Themes

9. Launch Pad

A conversion-optimised landing page theme for SaaS products and apps. Includes a hero, features grid, pricing table, testimonials, and a CTA section — all driven by front matter.

Price: Premium — $34 View Theme

Best Jekyll E-Commerce Themes

10. ShopFront

A modern e-commerce landing page theme for product showcases, with Gumroad and LemonSqueezy integration built in. Conversion-optimised layouts and a clean checkout flow.

Price: Premium — $29 View Theme

How to Install a Jekyll Theme

Installing any theme from this list takes about five minutes. Check our full installation guide for step-by-step instructions covering GitHub Pages, Netlify, and custom domains.

Find Your Theme

Browse the full collection at JekyllHub — filter by category, price, dark mode support, and more. New themes are added regularly.

Share LinkedIn
    — all posts Academic Pages is the most widely used academic personal website template on GitHub, with over 12,000 stars and hundreds of thousands of researchers using it worldwide. It's a fork of Minimal Mistakes, extended specifically for academic use cases: publications with BibTeX citations, conference talks with slides and video links, course teaching pages, a project portfolio, and a CV that generates itself from structured YAML files.

The fork-to-publish model is particularly popular in academia — researchers can have a live personal website on GitHub Pages within minutes, with no server, no CMS, and no ongoing cost.

Who is it for? Researchers, academics, PhD students, and scientists who want a professional web presence that highlights publications, talks, and research without complex web development. Advance is the theme for teams and businesses that have outgrown a simple blog and need a full website — one that can handle services, a project portfolio, staff pages, and a content blog, all from a single Jekyll installation.

More Than a Blog

Most Jekyll themes give you a blog and a few static pages. Advance ships with dedicated content types for Services, Projects, and Team — each with its own listing page and individual detail pages, all driven by markdown files and front-matter. Add a new team member, service offering, or case study the same way you’d add a blog post: create a markdown file and fill in the front-matter.

The Configurable Hero

Every page in Advance can have a unique hero section. Adjust the background image, colour overlay, blend effects, text alignment, and call-to-action — all from front-matter. No CSS editing required. The result is a site that feels custom-designed without custom development.

Performance by Default

Advance uses Bootstrap 5.2 for layout but strips jQuery entirely, keeping JavaScript to a minimum. Combined with automatic SEO meta tags, Open Graph data, and semantic HTML, the theme achieves strong Lighthouse scores out of the box. Dark mode is built in — automatic via system preference or manual toggle — so the design holds up in any context.

Deploy Anywhere

Advance is fully compatible with GitHub Pages (no custom plugins that break Pages builds) and ships with a netlify.toml for one-click Netlify deployment. Formspree and Netlify Forms are supported for contact forms; Disqus handles comments.

Who is it for? Agencies, freelancers, and small businesses that want a professional multi-page Jekyll site — not just a blog — and need the flexibility to grow it over time. Agency is a bold, dark-themed Jekyll portfolio theme inspired by the best creative agency sites on the web. It makes a strong first impression with a full-screen hero, then guides visitors through your work, services, and team in a single scrolling page.

Built for designers, developers, and studios who want their portfolio to look as professional as the work inside it.

Who is it for? Freelancers, agencies, and creative studios who want a striking, one-page portfolio site. al-folio is the go-to Jekyll theme for academics, researchers, and students who need a polished personal website. It handles everything specific to academic publishing — BibTeX citations, publication lists, project pages — with a clean, distraction-free design.

Originally created for a Princeton researcher, it has grown into one of the most starred academic Jekyll themes on GitHub with over 11,000 stars.

Who is it for? PhD students, professors, researchers, and academics who want a professional online presence with proper support for publications and projects. Alembic is a clean, gem-based Jekyll theme that works beautifully as a starting point for blogs, personal sites, and small business pages. It prioritises great typography and readable layouts over flashy design.

Being gem-based means you can install and update it like any Ruby gem, keeping your content separate from your theme.

Who is it for? Bloggers and developers who want a clean, maintainable theme that installs as a gem. Almace Scaffolding is a statement theme — bold typography, strong visual personality, and an obsessive focus on performance. Pages load in milliseconds thanks to a lean build pipeline that strips out everything unnecessary.

The Grunt-powered build system gives developers full control over the asset pipeline.

Who is it for? Developers and designers who want a high-performance, visually distinctive blog that makes a strong typographic impression. Architect is GitHub’s documentation-oriented official theme. Its fixed sidebar and clearly delineated content area create an organised, easy-to-navigate layout that works well for project READMEs, API docs, and any site with multiple sections.

The theme’s structured visual hierarchy gives your content immediate credibility, and its lightweight implementation means fast page loads even for large documentation sites.

Who is it for? Developers building open-source project documentation or any structured informational site that benefits from persistent sidebar navigation. Aura Pro is the premium evolution of the Aura Jekyll theme — everything in the free version, extended with features that content-focused sites demand.

The headline addition is two distinct blog post layout options, letting you vary the presentation of long-form content, tutorials, and short-form posts without theme customisation. Each post also shows a read-time estimate, which has become standard on quality editorial sites. The testimonials section now supports star ratings, making social proof more visually compelling for freelancers and small businesses.

Newsletter support is expanded with Sendy.co — a self-hosted alternative to MailChimp that keeps your subscriber list yours. Both Sendy and MailChimp are supported simultaneously.

Who is it for? Writers, developers, and freelancers who started with Aura and need the next level — or anyone building a personal site that doubles as a professional presence from day one.

Upcoming features include price boxes, additional home page layouts, animated sections, and a dark theme variant. All future updates are included free with your purchase. Aura is a versatile Jekyll theme built for content creators, writers, and developers who need more than just a blog. It ships with dedicated sections for blog posts, projects, and testimonials — everything you need to build a personal site that represents you fully.

The theme is a fork of CloudCannon’s Vonge template, extended with GitHub Pages compatibility and a richer feature set. Blog posts support code highlighting, image galleries, embedded YouTube videos, and a full table of contents — making it equally at home for technical writers and creative bloggers.

Who is it for? Developers and creators who want a single theme that handles a personal site, portfolio, and blog without switching between multiple themes. If you want to show off projects, collect testimonials, and write posts — all in one clean package — Aura is built for exactly that.

AuraPro — a premium version with additional layouts and components — is also available at jekyll-theme-aura-pro. Basically Basic is Michael Rose’s answer to the question: what if Minima was actually good? It keeps the simplicity and GitHub Pages compatibility of Jekyll’s default theme, but adds six colour skins, an off-canvas navigation menu, a dedicated resume layout, and the overall polish you’d expect from the author of Minimal Mistakes.

It’s the theme to recommend when someone asks for something simple but not boring, and it works straight out of the box with GitHub Pages.

Who is it for? Developers and writers who want a step up from Minima without jumping into the full complexity of Minimal Mistakes — a clean, modern blog with useful extras and zero setup friction. Beautiful Jekyll is one of the most widely-used Jekyll themes on GitHub. Its combination of ease of setup, clean design, and deep customisability has made it the go-to choice for thousands of developers building personal blogs and project sites.

You can go from zero to a live blog on GitHub Pages in minutes — fork the repo, update _config.yml, and you’re done.

Who is it for? Anyone who wants a polished blog on GitHub Pages with minimal setup and maximum flexibility. Bulma Clean Theme leverages the Bulma CSS framework to deliver a modern, component-rich Jekyll theme. Beyond a standard blog layout, it includes portfolio pages, product showcases, and documentation-style layouts.

The theme is actively maintained and comes with thorough documentation, making it approachable for developers of all experience levels.

Who is it for? Developers who want a modern Bulma-based theme with more layout variety than a typical blog theme. Cayman is the classic GitHub Pages documentation theme, recognisable by its signature teal gradient header. It’s the cleanest way to turn a repository’s README into a polished project page.

Built and maintained by GitHub itself, it’s always up to date with the latest GitHub Pages Jekyll version.

Who is it for? Open source projects, GitHub Pages documentation sites, and anyone who wants the classic, trusted project page look. Centrarium balances a clean, classy aesthetic with a generous feature set. The large header image gives each page a visual anchor, while the well-structured navigation makes it easy to explore categories and tags.

Featured posts can be pinned to highlight important content, and the comment system integrates cleanly with Disqus.

Who is it for? Bloggers who want a polished, feature-complete theme without the complexity of larger frameworks like Minimal Mistakes. Chalk stands out in the crowded minimal blog space by adding just enough polish to feel premium without feeling heavy. The sidebar layout makes good use of horizontal space on desktop, and the subtle CSS animations — hover states, transitions, loading effects — give the whole site a crafted, alive feeling.

The built-in Lunr.js search and category filtering are genuinely useful, and the theme’s careful attention to cross-browser consistency means it looks right everywhere.

Who is it for? Developers and bloggers who want a minimal aesthetic with a bit more visual refinement and user-friendly features like search and category browsing. Chirpy has emerged as one of the most beloved Jekyll themes of the last few years. Where many themes offer either good looks or good features, Chirpy delivers both. Its clean, modern design prioritises readability — comfortable line lengths, generous whitespace, and a typographic hierarchy that guides your reader through even the longest technical articles.

The dark mode implementation is among the best in the Jekyll ecosystem: it respects the operating system preference by default, remembers the user’s manual override, and transitions smoothly without a flash of unstyled content.

Who is it for? Technical bloggers, developers writing tutorials, and anyone publishing long-form content who wants their readers to have a genuinely great experience. Clean Blog is a straightforward, polished blog theme built on Bootstrap 5. Its signature feature is the full-width header image on every post — it gives each article its own visual identity without requiring any special setup.

Ported from Start Bootstrap’s original HTML template, it’s one of the most forked Jekyll themes on GitHub.

Who is it for? Bloggers who want a classic, reader-friendly blog layout with strong visual post headers. Contrast lives up to its name — bold, high-contrast typography makes every post immediately legible. The design is stripped back to the bare essentials: a post list, individual post pages, and tag archives.

With no JavaScript dependencies, pages load nearly instantly.

Who is it for? Writers who prioritise readability above all else and want a featherweight theme with zero bloat. Creative is a Jekyll adaptation of Start Bootstrap’s Creative theme — a bold, fullscreen one-pager built for agencies, studios, and freelancers making a strong first impression.

A large hero image commands attention above the fold, while smooth-scroll navigation guides visitors through portfolio, services, and contact sections below.

Who is it for? Agencies and freelancers who need a striking one-page landing site that showcases their portfolio and services. Devlopr stands out from every other Jekyll theme in one important way: it ships with built-in CMS support. You can write and publish blog posts through a browser-based admin interface — no terminal, no text editor, no git commits. This makes it genuinely practical for developers who want the speed and security of a static site but the convenience of a CMS for day-to-day content updates.

Beyond the CMS integration, it’s a well-rounded developer portfolio theme with sections for projects, skills, timeline, and a blog — all with dark mode support.

Who is it for? Developers who want a personal portfolio and blog with CMS-based content editing, so they can write posts from anywhere without a local development environment. Dinky is a compact, sidebar-based GitHub Pages official theme well suited to small-to-medium project documentation sites. Its bright blue accents and tidy layout feel modern and approachable, and the sidebar keeps navigation visible without consuming too much page space.

Like all official GitHub Pages themes, it activates with a single theme: line in your config — no gem management, no local installation.

Who is it for? Developers who want a structured sidebar layout for project documentation without the complexity of full documentation frameworks like Just the Docs. Documentation is a clean, professional Jekyll theme from CloudCannon designed specifically for technical documentation and help systems.

A collapsible sidebar handles deep navigation hierarchies, while built-in search lets users find content instantly. Code blocks are syntax-highlighted throughout.

Who is it for? Developers and teams who need to publish product documentation, API references, or technical guides as a static site. Feeling Responsive is one of the most feature-rich free Jekyll themes available, built on Zurb’s Foundation framework. It offers a wide range of layouts — from full-width magazine-style pages to narrow reading columns.

The theme ships with widgets, gallery support, video embedding, and multilingual capabilities. Its extensive documentation makes customisation straightforward even for less experienced developers.

Who is it for? Bloggers and small publishers who want a flexible, feature-rich theme without paying for a premium option. Flexible Jekyll is a clean, versatile theme with a two-column layout — posts on the left, author sidebar on the right. It ships with both light and dark modes, letting readers choose their preferred reading environment.

The design is deliberately understated, keeping the focus entirely on content. Tag archive pages make it easy to navigate a large back-catalogue of posts.

Who is it for? Bloggers who want a clean, readable two-column layout with dark mode support out of the box. Forty is a Jekyll port of the popular HTML5 UP design of the same name. Its bold tile-based layout creates a striking visual grid where each tile can show off a project, case study, or article.

The alternating dark and light tiles create visual rhythm and make each piece of work feel intentional.

Who is it for? Designers, photographers, and creatives who want a visually bold portfolio site that showcases work in large format. Freelancer is a Jekyll port of Start Bootstrap’s popular Freelancer theme — a one-page scrolling layout built for designers and developers showcasing their work.

The portfolio grid opens each project in a modal overlay, keeping the visitor on the same page. A flat design aesthetic with bold colours makes it stand out without being cluttered.

Who is it for? Freelancers and designers who want a polished single-page portfolio to showcase their work and attract clients. Hacker Blog is a no-frills, terminal-inspired Jekyll blog theme for developers who want their writing space to feel like their workspace. Black background, monospace font, green or white text — that’s it.

No images, no social buttons, no distractions. Just your words, formatted like a terminal.

Who is it for? Developers and hackers who want a minimal, dark, CLI-aesthetic blog. Hacker is GitHub’s terminal-aesthetic official theme — green text on a black background, monospace type throughout, and the unmistakable look of a classic command-line interface. It’s the most distinctive of the official themes and immediately signals a technical, developer identity.

As an official GitHub Pages theme, setup is a single line in _config.yml. It’s a popular choice for security researchers, CTF writeups, developer portfolios, and any project that wants to wear its technical credentials visually.

Who is it for? Developers, security researchers, and technical writers who want their site to look like it was built by someone who knows their way around a terminal. Hitchens is named after Christopher Hitchens and designed for writers who share his devotion to the written word. The design is austere by intention — every pixel either serves the text or stays out of the way.

Dark mode is built in and toggleable, and the theme runs without a single line of JavaScript on the reader’s device.

Who is it for? Essayists, journalists, and serious writers who want a sophisticated, literary reading experience. HPSTR (pronounced “hipster”) is one of Michael Rose’s earlier Jekyll themes and remains one of the most visually striking options in the ecosystem. Its defining feature is the large full-width header image on each post — combined with smooth CSS animations, it creates a reading experience that feels polished and intentional.

The sliding navigation menu and responsive layout were ahead of their time when the theme launched, and the overall design has aged well. Rose is the author of Minimal Mistakes and So Simple, so the code quality and documentation are characteristically excellent.

Who is it for? Bloggers who want a visually bold, image-forward theme with smooth animations and a strong sense of style — particularly those publishing photography, design, or creative work alongside writing. Huxpro is one of the most-starred personal Jekyll blog themes on GitHub, built by Huasheng Luo as his own personal site and open-sourced for the community. Inspired by Ghost’s iconic Casper theme, it brings full-screen cover images and a magazine-quality reading experience to Jekyll.

Each post supports its own hero image, creating a visually rich archive page that immediately communicates the personality of a blog. The typography is clean and generous, making long-form writing genuinely pleasant to read.

Who is it for? Writers, developers, and creatives who want a personal blog with a strong visual identity and cover-image-driven design. Hyde is one of Jekyll’s most iconic themes — a two-column layout with a bold dark sidebar and clean reading area. Built on Poole by Mark Otto (co-creator of Bootstrap), it sets the standard for elegant simplicity.

Eight built-in colour themes let you swap the sidebar accent colour with a single config change.

Who is it for? Writers and developers who want a classic, timeless Jekyll blog with a distinctive sidebar presence. Hydejack is the boutique evolution of Hyde — taking the two-column sidebar layout and elevating it with smooth page transitions, a polished profile sidebar, and full portfolio support.

One of the most feature-rich free Jekyll themes available, it includes everything from KaTeX math rendering to offline PWA support. A paid PRO version adds extra layouts and features.

Who is it for? Developers and technical writers who want a beautiful, full-featured blog and portfolio in one, with a distinctive aesthetic. Hydra is a product marketing theme from CloudCannon, built for SaaS products, apps, and services that need a professional landing page. Hero, features, pricing, and testimonials sections are all pre-built and easy to customise.

A blog is included so you can publish content marketing articles alongside your product pages.

Who is it for? Founders and teams launching SaaS products or apps who need a polished marketing site fast. Jasper brings the polished editorial aesthetic of Ghost’s default Casper theme to the Jekyll ecosystem. If you admire the clean, image-led layout of Ghost blogs but want to stay on a static site, Jasper is the natural choice.

Cover images dominate the header of each post, creating a visual impact that draws readers in before they’ve read a word.

Who is it for? Bloggers who love Ghost’s editorial aesthetic but prefer or require a static Jekyll workflow. Jekyll Now is the most-forked Jekyll theme on GitHub and the go-to starting point for anyone who wants a blog without touching the command line. The setup is genuinely three steps: fork the repository, rename it to username.github.io, and your blog is live.

Barry Clark built Jekyll Now to lower the barrier to entry as far as it could go. The theme is intentionally minimal — clean typography, a responsive single-column layout, and just enough configuration to feel personal without overwhelming a new user.

Who is it for? Beginners, writers, and developers who want a quick personal blog on GitHub Pages with no local setup required. TeXt is one of the most feature-complete free Jekyll themes available. Its iOS 11-inspired design is clean and modern, and the depth of built-in functionality is remarkable for a free theme — you get multiple colour skins, dark mode, reading progress, multiple comment systems, maths rendering, diagram support, and full internationalisation all out of the box.

The theme works equally well for personal blogs, team sites, and documentation. Its YAML-driven configuration keeps customisation accessible without requiring deep Jekyll knowledge.

Who is it for? Bloggers, developers, and teams who want a polished, professional site with broad feature coverage and don’t want to piece together plugins manually. Just the Docs is the undisputed standard for Jekyll documentation sites. Thousands of open source projects use it to ship clean, searchable documentation — from small libraries to major frameworks.

Its sidebar navigation supports multiple levels of nesting, its search is fast and client-side, and the whole thing is deeply customisable through SCSS variables.

Who is it for? Open source projects, developer tools, APIs, and anyone building a documentation site that needs to look professional and be easy to navigate. Klisé (pronounced “cliché”) is the modern minimalist’s Jekyll theme. Its defining feature is a light/dark mode toggle that’s smooth, instant, and remembers your preference — implemented with care rather than as an afterthought.

The overall design is clean and contemporary: generous whitespace, careful typographic choices, and a colour palette that works equally well in both modes. It’s the theme you’d reach for if you want something that looks like it was built this year, not five years ago.

Who is it for? Developers and writers who want a modern minimal blog with a polished dark mode implementation and a design that feels current. Lanyon is Hyde’s sibling from the Poole family — sharing the same clean foundation but hiding its sidebar until the reader needs it. A small toggle button reveals a smooth slide-out navigation drawer, keeping the reading area completely clean by default.

The result is one of the most spacious and focused reading experiences in the Jekyll theme ecosystem.

Who is it for? Writers who want maximum reading space and a navigation drawer that stays out of the way. Leonids is a two-column Jekyll theme that gets the balance right between sidebar utility and content space. The fixed sidebar keeps your author bio, avatar, and social links persistently visible, while the main column gives posts the room they need to breathe.

The design is clean and timeless — no trendy flourishes that will date it, just solid typography and a layout that works equally well for technical writing, personal essays, or mixed-content blogs.

Who is it for? Bloggers who want a classic two-column layout with a persistent author sidebar, without the complexity of heavier themes like Minimal Mistakes. Livvic keeps things focused: one strong homepage layout, clean typography, and a set of unique interactive effects that make the design feel alive without being distracting. For designers and agencies who want their portfolio site to reflect the same restraint and craft they apply to client work, that focus is exactly the point.

Design Philosophy

The flat, modern aesthetic means Livvic ages well — there are no trendy gradients or animation gimmicks that date the design after twelve months. What you get instead is clean grid structure, thoughtful whitespace, and the kind of pixel-perfect spacing that signals professional attention to detail to the clients visiting your portfolio.

Built to Customise

The Bootstrap 4 base and W3C-valid HTML5/CSS3 code mean any frontend developer can extend or restyle Livvic without fighting proprietary conventions. The well-commented codebase and extended documentation make onboarding quick whether you’re the theme buyer or a developer handed the project.

Who is it for? Freelance designers, creative agencies, consultants, and personal portfolio builders who want a distinctive, minimal presentation for their work — without the weight of a feature-heavy multipurpose theme. Long Haul is built for writers who take their craft seriously. Every design decision favours the text — generous line height, carefully chosen typefaces, and a layout that disappears behind the words.

Navigation is minimal, distractions are absent, and pages load almost instantly with no JavaScript dependencies.

Who is it for? Serious writers and essayists who want a distraction-free reading experience that puts content first. Massively is unlike anything else in the Jekyll ecosystem. Ported from HTML5 UP’s popular Massively template, it opens with a dramatic full-screen background image and bold typography that immediately signals a strong visual identity. The post listing uses large featured images that make even text-heavy content feel visual and inviting.

If most Jekyll themes are quiet and minimal, Massively is loud — in the best possible way. It’s the choice when you want your site to make an impression the moment someone arrives.

Who is it for? Bloggers, photographers, journalists, and creatives who want a visually dramatic, image-led site that stands out from the typical minimal developer blog. Mediator is a Jekyll theme inspired by Medium’s clean reading experience. Large full-width featured images set the tone for each post, while generous line spacing and careful typography keep readers comfortable through long articles.

The author bio section at the bottom of each post adds a personal touch — great for building a connection with your readership.

Who is it for? Writers publishing long-form content who want a reading-first experience similar to Medium. Mediumish brings the clean, readable aesthetic of Medium to your self-hosted Jekyll blog. Card-based post listings, full author profile pages, and a spacious reading layout combine to create a blog that feels serious and editorial.

Who is it for? Bloggers and content creators who want a Medium-quality reading experience on their own domain. Merlot is the warmest of GitHub’s official themes. Its deep burgundy header creates an immediately distinctive look that feels more personal and elegant than the typical developer site. The white content area keeps reading comfortable, and the overall impression is polished without being corporate.

As an official GitHub Pages theme, enabling it is a single line — making it a popular choice for personal project pages that need to look good quickly.

Who is it for? Anyone who wants a warmer, more personal aesthetic on GitHub Pages, with a distinctive look that stands out from the default blue-and-white developer site template. Midnight is the dark-mode option among GitHub’s official supported themes. Its deep charcoal background and carefully chosen accent colours create a striking, high-contrast aesthetic that feels at home for developer portfolios, open-source project pages, and creative personal sites.

Like all GitHub Pages official themes, it requires only a line in _config.yml to activate — making it the fastest way to get a good-looking dark site onto GitHub Pages.

Who is it for? Developers and creatives who want a polished dark-themed site on GitHub Pages with zero configuration overhead. Miles is built for creative professionals who need a portfolio or agency site that makes an immediate impression. The headline stat — 12+ homepage layouts — means you can pick the mood and structure that fits your work, from bold full-screen hero layouts to editorial multi-column arrangements, without touching layout code.

Layout Variety That Matters

Six portfolio styles means your work can be presented the way it deserves: masonry grids for photography, clean single-column for case studies, filtered galleries for multi-discipline agencies. The four blog layouts and three service page styles give the same flexibility to supporting content, so every section of the site feels considered rather than templated.

Designed for Agencies and Freelancers

The 1170px grid, clean typography, smooth effects, and dark-capable design palette make Miles appropriate for the kinds of clients who judge a supplier by their own website. The theme is built on Bootstrap 4 with Font Awesome icons and Google Fonts — a stable, familiar stack that any developer can extend without learning proprietary conventions.

Who is it for? Creative agencies, freelance designers and developers, consultants, and personal portfolio builders who want a professional result fast — and a theme that presents their work rather than competing with it. Millennial is a clean, straightforward Jekyll blog theme designed for writers who want a no-nonsense publishing platform. The layout is minimal by design — no sidebars, no clutter, just posts.

Tag archive pages organise content for readers, and pagination handles large archives gracefully.

Who is it for? Bloggers who want a lean, focused reading experience without any distracting design elements. Minima is Jekyll’s official default theme — the one that ships with every new Jekyll install. It’s deliberately minimal: clean white background, sensible typography, and just enough structure to get a blog running without getting in the way.

Version 3.x adds dark mode support and social link icons, making it a surprisingly capable foundation despite its simplicity.

Who is it for? Anyone just starting with Jekyll who wants a reliable, clean foundation they can customise or grow from. Minimal Mistakes is the undisputed king of Jekyll themes — with over 13,000 GitHub stars it is the most-starred and most-used Jekyll theme ever created. Built by Michael Rose over more than a decade of active development, it strikes the perfect balance between simplicity and power.

Twelve built-in colour skins let you switch the visual tone of your site with a single config change. Its documentation covers every feature in detail.

Who is it for? Developers, technical writers, and bloggers who want a battle-tested, feature-complete Jekyll theme they can deploy today and customise for years. Minimal is exactly what its name promises — GitHub’s most stripped-back official theme. A clean white page, a simple header, and nothing to get in the way of your content. It’s the choice when you want a professional online presence as quickly as possible.

As an official GitHub Pages theme, it can be activated with a single theme: line in _config.yml, making it one of the fastest paths from a GitHub repository to a live website.

Who is it for? Anyone who wants a simple, professional-looking GitHub Pages site with minimal fuss and maximum speed. Modern Resume Theme turns a YAML configuration file into a polished, single-page CV. You fill in your experience, education, and skills in _config.yml — the theme handles all the layout and styling.

The dark header with avatar creates a professional first impression, and the clean timeline makes career history easy to scan.

Who is it for? Developers, designers, and professionals who want a clean, online CV hosted on GitHub Pages. Moonwalk is a dark, minimal Jekyll blog theme that puts your words first. No sidebars, no carousels, no social widgets cluttering the margins — just clean typography on a deep background that makes reading a pleasure at any hour.

Who is it for? Writers, thinkers, and bloggers who want a dark, distraction-free writing environment that readers will appreciate. Mundana is a modern, publication-style Jekyll theme from WowThemes.net. The homepage features a large hero post followed by a clean card grid — giving it the feel of a professional editorial site.

Category pages, author profiles, and newsletter signup sections are all built in, making it one of the most complete free blogging themes for Jekyll.

Who is it for? Bloggers and content creators who want a professional editorial look without the complexity of a premium theme. Online CV is a clean two-column resume theme with a dark sidebar for your profile photo and contact details, and a light content area for your experience, education, and skills.

All content is configured through data/data.yml — no HTML editing required.

Who is it for? Job seekers and professionals who want a clean, printable online resume hosted on GitHub Pages. Origin is a modern, fully featured Jekyll blog theme built for writers, developers, and content creators who want a polished, high-performance site without trade-offs.

Why Origin Stands Out

The headline achievement is a perfect 100/100 Google Lighthouse score for both speed and SEO — achieved through minimal JavaScript (no jQuery), tiny CSS/JS bundles, and semantic HTML with auto-generated meta tags. Visitors get fast page loads; you get better search rankings by default.

Content Management

All content is managed through markdown files and YAML configuration — no hardcoded HTML to hunt down. Configure your logo, colour scheme, fonts, navigation menus, header, and footer entirely from _config.yml. The fully featured blog supports categories, named authors, Disqus comments, and paginated archive pages, giving your site professional editorial structure from day one.

Design & Customisation

Origin ships with SCSS + Bootstrap 5.2 for a responsive, mobile-first layout that looks polished on every screen size. Dark mode is built in with both automatic (system preference) and manual toggle options. The navigation supports nested dropdown menus and a responsive mobile overlay with an animated hamburger icon — no third-party libraries required.

Integrations

Out of the box: Google Analytics, Mailchimp newsletter signup, Formspree and Netlify Forms for contact, Disqus comments, Google Fonts, Font Awesome 6, and Open Graph / Twitter card metadata. Ready to deploy to GitHub Pages or Netlify with a netlify.toml already included.

Who is it for? Writers and developers who want a beautiful, fast, SEO-ready blog — without spending time on configuration or performance tuning. Phantom is a clean, minimal portfolio theme built for designers and developers who want to present their work with style. Projects are displayed in a responsive grid, with each item opening in a full modal lightbox on click.

Subtle hover animations add polish without distracting from the work itself.

Who is it for? Designers, illustrators, and developers who want a minimal portfolio with a lightbox-style project viewer. Pixyll is the minimalist’s Jekyll theme. Created by John Otander, it strips away every non-essential element and focuses entirely on making text beautiful. The result is a theme that feels effortless to read — wide margins, comfortable line height, and a typographic hierarchy that works at every screen size.

The mobile-first approach means it looks just as good on a phone as a widescreen monitor. And because it carries so little visual weight, pages load instantly.

Who is it for? Writers, essayists, and developers who believe design should get out of the way and let the words do the work. Primer is the official GitHub Pages theme built on GitHub’s own design system — the same CSS framework that powers GitHub.com. The result is a site that feels immediately familiar and credible to developers: clean, neutral, readable, and professional without being flashy.

For open-source projects that want their documentation site to feel like a natural extension of GitHub itself, Primer is the natural choice. Its single-line setup makes it one of the easiest ways to put a well-designed page on GitHub Pages.

Who is it for? Open-source maintainers and developers who want documentation that looks authoritative and professional, with the familiar GitHub design language users already trust. Researcher is the no-nonsense option for academics who want a clean, single-page CV on the web. Where Academic Pages gives you an entire multi-page website, Researcher keeps everything on one page — education, experience, publications, skills, and contact — in a clean, minimal layout that loads instantly and looks professional everywhere.

The monospace typography gives it a subtle technical identity without being gimmicky, and the straightforward YAML configuration means you can have it set up and deployed in under an hour.

Who is it for? Academics, researchers, and PhD students who want a simple, fast, single-page CV site without the complexity of a full academic website. Reverie is a fork of the classic Poole theme, polished into an elegant blogging experience by Amit Merchant. It retains Poole’s clean, spacious feel while adding practical features like category/tag pages, Disqus integration, and pagination.

The setup is deliberately simple — fork the repo, update _config.yml, and you’re live on GitHub Pages in minutes.

Who is it for? Writers who want an elegant, low-maintenance blog that deploys straight to GitHub Pages. Sandbox is the most comprehensive Jekyll theme in this collection. With 27 home pages, 130+ UI blocks, and 250+ individual elements, it is less a theme and more a complete design system — one that can produce any type of website from the same codebase.

Built for Every Use Case

The 27 pre-built home pages cover the full spectrum of modern website types: SaaS platforms, startup landing pages, creative agency sites, personal portfolios, photography showcases, eCommerce storefronts, blog/journal sites, wedding pages, and travel sites. Each is production-ready and fully customisable through SCSS variables and config files.

Block-Based Building

The 130+ block library is where Sandbox earns its “Sandbox” name. Every block — hero, features, pricing, testimonials, portfolio grid, CTA, contact — is a standalone, droppable section. Combine them to create custom page layouts without writing HTML. The 250+ UI elements include buttons, cards, badges, tabs, accordions, progress bars, and more.

Modern Technical Foundation

Built on Bootstrap 5 with Gulp and SASS, and containing zero jQuery, Sandbox loads fast and scores well on Core Web Vitals. Interactive features come from purpose-built libraries: Swiper.js for sliders, Isotope.js for filterable galleries, scrollCue.js for scroll animations, and Plyr for video backgrounds and embedded media (YouTube and Vimeo supported).

Who is it for? Agencies or developers who need one theme that can build anything — and who want to stop buying a new theme for every new client project. Scriptor is a minimal Jekyll theme from JustGoodThemes built around clean typography and distraction-free reading. Its simple single-column layout keeps the focus entirely on the writing, while featured images give each post a visual anchor without overwhelming the content.

The theme is lightweight, fast, and easy to customise — a solid starting point for writers who want something polished without the complexity of heavier themes.

Who is it for? Writers, bloggers, and journalists who want a clean, typographically focused blog that’s easy to set up and fast to load. Serif is a polished small business theme from CloudCannon that pairs warm tones with elegant serif typography to create a trustworthy, professional presence. It ships with everything a small business site needs — services pages, team bios, a blog, and a contact form.

The CloudCannon compatibility means non-technical users can edit content through a visual CMS without touching any code.

Who is it for? Small businesses, consultants, agencies, and professional services firms who want a warm, professional web presence. Slate is one of the twelve official themes supported natively by GitHub Pages, meaning you can enable it with a single line in your _config.yml — no gem installs, no local setup. Its dark slate sidebar paired with a white content area creates an immediately recognisable, professional look suited to open-source project documentation.

The code-friendly typography and syntax highlighting make it a natural fit for developer tools and API documentation pages.

Who is it for? Developers who want a fast, reliable documentation theme they can enable on any GitHub Pages project in seconds. Snowlake is a fully-featured Jekyll multipurpose theme that covers the full range of modern website types in a single purchase. The headline numbers — 27 demos, 17 color schemes, 4 icon sets — give you the raw material to build a polished, differentiated site for almost any brief.

The Slider Revolution Advantage

One of Snowlake’s standout inclusions is Slider Revolution, a premium animated slider plugin that normally costs $16 separately. With it you get animated hero banners, parallax scrolling effects, and full video background support (HTML5, image, and video backgrounds) without any extra purchase or setup. Combined with the parallax sections and smooth-scroll single-page option, the theme handles the kind of rich visual storytelling that premium agency and SaaS landing pages need.

Branding Flexibility at Scale

Seventeen color schemes means you are not locked into the theme’s out-of-the-box appearance. Swap the palette to match your brand in minutes via CSS variables, then choose one of five font options to tune the typography. The result is a site that looks custom-designed rather than theme-purchased. Each of the 27 demos is fully production-ready, covering business, startup, agency, portfolio, photographer, SaaS, digital studio, and creative industry use cases.

Technical Foundation

Built on Jekyll 4.3+ with Bootstrap 5, the codebase is modern and maintainable. The four icon sets totalling 2300+ icons cover every UI need without reaching for external libraries. Retina-ready throughout, with responsive layouts that adapt across mobile, tablet, and desktop.

Who is it for? Business owners, creative agencies, digital studios, SaaS founders, and freelancers who need a complete, high-quality website with visual flexibility — and who want it running quickly rather than designed from scratch. So Simple is a clean, minimal Jekyll theme from Michael Rose — the same creator behind Minimal Mistakes. True to its name, it strips away everything non-essential and focuses on typography and readability.

The theme supports author profiles with avatars and social links, making it ideal for personal blogs where the writer’s identity is front and centre.

Who is it for? Writers and bloggers who want a clean, no-fuss reading experience without sacrificing flexibility. Swiss is a love letter to the International Typographic Style — the design movement behind some of the most influential graphic design of the 20th century. Diana Mounter (GitHub’s Head of Design at the time) brought that aesthetic to Jekyll: strong grid, oversized Helvetica-inspired headings, and a restrained black-and-white palette that lets typography do all the work.

The result is a theme that feels confidently editorial. Nothing is decorative; everything is intentional.

Who is it for? Designers, writers, and developers who appreciate typographic rigour and want a site that looks like it was designed, not just assembled. Tactile is the most characterful of GitHub’s official themes. Its wood-grain-textured sidebar and green accent colour palette give it a warm, handcrafted feel that’s quite unlike the clean minimalism of the other official themes. The result is a site that feels personal and approachable — like something built with care.

It’s particularly effective for open-source projects that want to stand out, personal portfolios with a creative bent, or any project that wants its page to have a real identity.

Who is it for? Developers and creators who want a GitHub Pages site with distinct visual personality and warmth, as an alternative to the more minimal official themes. Tale is a minimal Jekyll theme built around the idea that nothing should compete with your writing. Its single-column layout, careful typographic choices, and complete absence of visual clutter create a reading experience that feels calm and focused.

The theme handles the basics well — pagination, tags, syntax highlighting, comments — without adding anything unnecessary. If you’ve ever felt that most blog themes have too much going on, Tale is the answer.

Who is it for? Writers, journalists, and developers who want their words to be the centrepiece of every page with no distracting chrome around them. Type Theme is built on a single conviction: typography is everything. Rohan Chandra stripped away everything that wasn’t essential to reading and writing, leaving a theme that loads fast, renders beautifully, and gets out of the author’s way.

The Google Fonts integration gives it more typographic flexibility than most minimal themes, and the clean header with social links strikes a good balance between personality and restraint. It’s also the base for the popular Type on Strap fork, which extends it with additional features.

Who is it for? Writers and bloggers who want a typography-focused, distraction-free reading experience and a theme that’s fast, simple, and easy to customise. YAT (Yet Another Theme) lives up to its understated name by quietly being one of the best-looking modern Jekyll blog themes available. Its flat design aesthetic feels fresh without being trendy, and the night mode implementation — with a smooth toggle that remembers your preference — is genuinely pleasant to use.

What sets YAT apart is the attention to detail: per-post full-width banner images, careful typographic spacing, and a colour palette that works equally well in light and dark modes. The multi-language support makes it a strong choice for bloggers writing in more than one language.

Who is it for? Writers and developers who want a modern-feeling blog with dark mode and polished visual design, without the complexity of heavier themes. — all items in the themes collection


**`layout` variables** — front matter from the layout file itself:
```liquid


Conditional content in layouts

Use Liquid conditionals to show or hide layout sections based on page front matter:


<!-- _layouts/post.html -->
---
layout: default
---

<article>
  {{ content }}

  {% if page.toc %}
    {% include toc.html %}
  {% endif %}

  {% if page.show_author != false %}
    {% include author-bio.html %}
  {% endif %}

  {% if page.related_posts != false %}
    {% include related-posts.html %}
  {% endif %}
</article>

Now individual posts can opt out of sections without modifying the layout:

---
layout: post
title: "My Post"
toc: false              # hide table of contents
related_posts: false    # hide related posts
---

Passing data from pages to layouts

Any front matter variable in the page is accessible in the layout. Use this to customise layout behaviour per page:

---
layout: page
title: "Homepage"
hero_image: /assets/images/hero.webp
hero_title: "Find Your Perfect Jekyll Theme"
hero_cta: "Browse Themes"
hero_cta_url: /themes/
body_class: "homepage"
---

<!-- _layouts/page.html -->
---
layout: default
---

{% if page.hero_image %}
<section class="hero" style="background-image: url('{{ page.hero_image | relative_url }}')">
  <h1>{{ page.hero_title | default: page.title }}</h1>
  {% if page.hero_cta %}
    <a href="{{ page.hero_cta_url }}" class="btn">{{ page.hero_cta }}</a>
  {% endif %}
</section>
{% endif %}

<main class="{{ page.body_class }}">
  {{ content }}
</main>

Layout-level front matter

Layouts can have their own front matter, accessible via {"layout"=>"default"} in includes:

<!-- _layouts/post.html -->
---
layout: default
sidebar: true
show_comments: true
---

This is useful for setting defaults that applies to all pages using a layout, which individual pages can override.

The none layout

To render a file with no layout at all — just raw content — set:

---
layout: none
---

Or use an empty string:

---
layout: ""
---

Useful for: JSON data files, XML sitemaps, text files, or any output that should not be wrapped in HTML.

Example: Building a complete layout system

Here is a complete, practical layout hierarchy for a Jekyll blog:

_layouts/default.html — the shell:


---
# no layout — this is the base
---
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  {% seo %}
  <link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
</head>
<body>
  {% include nav.html %}
  {{ content }}
  {% include footer.html %}
  <script src="{{ '/assets/js/main.js' | relative_url }}" defer></script>
</body>
</html>

_layouts/page.html — for standard pages:

---
layout: default
---
<main class="container page-container">
  <h1>Jekyll Layouts Explained: How to Structure Your Site Templates</h1>
  <div class="read-progress" id="read-progress"></div>

<article class="post" itemscope itemtype="https://schema.org/BlogPosting">

  <header class="post-hero">
    <div class="container">
      <div class="post-hero__breadcrumb">
        <a href="/">Home</a>
        <span class="breadcrumb-sep"></span>
        <a href="/blog/">Blog</a>
        <span class="breadcrumb-sep"></span>
        <span>Jekyll Front Matter: The Complete Guide</span>
      </div>

      <div class="post-hero__inner">
        
        <span class="post-hero__cat">Tutorial</span>
        

        <h1 class="post-hero__title" itemprop="name">Jekyll Front Matter: The Complete Guide</h1>

        
        <p class="post-hero__desc" itemprop="description">Everything you need to know about Jekyll front matter — YAML syntax, built-in variables, custom fields, defaults, and real-world examples for posts, pages, and collections.</p>
        

        <div class="post-hero__meta">
          <span class="post-meta-item">
            <svg width="15" height="15" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg>
            Updated <time itemprop="dateModified" datetime="2026-07-29T00:00:00+00:00">July 29, 2026</time>
          </span>

          <span class="post-meta-item">
            <svg width="15" height="15" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/></svg>
            13 min read
          </span>
        </div>
      </div>
    </div>
  </header>

  
  <div class="post-cover">
    <div class="container">
      <img src="/assets/images/blog/jekyll-front-matter-guide.webp" alt="Jekyll Front Matter: The Complete Guide" class="post-cover__img" itemprop="image">
    </div>
  </div>
  

  <div class="container">
    <div class="post-body">
      <div class="post-body__main">
        
        <div class="post-toc" id="post-toc" data-collapsed="false" style="display:none">
          <button class="post-toc__label" id="toc-toggle" aria-expanded="false" aria-controls="toc-body">
            <span class="post-toc__label-left">
              <svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 10h16M4 14h10"/></svg>
              Table of Contents
            </span>
            <svg class="post-toc__chevron" width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/></svg>
          </button>
          <nav id="toc-body" class="toc"></nav>
        </div>
        

        <div class="prose" itemprop="articleBody">
          <p>Front matter is how Jekyll knows what to do with a file. Without it, Jekyll treats a file as a static asset and copies it unchanged. With it, Jekyll processes the file through its template engine, applies a layout, and builds a page with all the data you specified.</p>

<p>Understanding front matter is foundational to using Jekyll effectively. This guide covers everything from basic syntax to advanced defaults.</p>

<h2 id="what-is-front-matter">What is front matter?</h2>

<p>Front matter is a block of YAML at the top of a file, enclosed between triple-dashed lines:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">post</span>
<span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="s">My</span><span class="nv"> </span><span class="s">First</span><span class="nv"> </span><span class="s">Post"</span>
<span class="na">date</span><span class="pi">:</span> <span class="s">2026-07-29</span>
<span class="nn">---</span>

<span class="s">Content goes here.</span>
</code></pre></div></div>

<p>The triple dashes are required — both opening and closing. Jekyll strips the front matter block before rendering the content and makes all the variables available in your Liquid templates.</p>

<p>Any file in a Jekyll site that has front matter (even empty front matter <code class="language-plaintext highlighter-rouge">---
---</code>) is processed by Jekyll. Files without front matter are copied as-is.</p>

<h2 id="yaml-basics">YAML basics</h2>

<p>Front matter uses YAML (YAML Ain’t Markup Language). You only need to know a handful of YAML patterns to write effective front matter.</p>

<p><strong>Strings:</strong></p>
<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="s">My</span><span class="nv"> </span><span class="s">Post</span><span class="nv"> </span><span class="s">Title"</span>
<span class="na">title</span><span class="pi">:</span> <span class="s">My Post Title</span>        <span class="c1"># quotes are optional for simple strings</span>
<span class="na">description</span><span class="pi">:</span> <span class="s2">"</span><span class="s">A</span><span class="nv"> </span><span class="s">post</span><span class="nv"> </span><span class="s">about</span><span class="nv"> </span><span class="s">Jekyll</span><span class="nv"> </span><span class="s">front</span><span class="nv"> </span><span class="s">matter</span><span class="nv"> </span><span class="s"></span><span class="nv"> </span><span class="s">the</span><span class="nv"> </span><span class="s">basics</span><span class="nv"> </span><span class="s">and</span><span class="nv"> </span><span class="s">beyond."</span>
</code></pre></div></div>

<p><strong>Numbers:</strong></p>
<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">nav_order</span><span class="pi">:</span> <span class="m">3</span>
<span class="na">weight</span><span class="pi">:</span> <span class="m">10</span>
</code></pre></div></div>

<p><strong>Booleans:</strong></p>
<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">published</span><span class="pi">:</span> <span class="no">true</span>
<span class="na">featured</span><span class="pi">:</span> <span class="no">false</span>
<span class="na">toc</span><span class="pi">:</span> <span class="no">true</span>
</code></pre></div></div>

<p><strong>Lists (arrays):</strong></p>
<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">tags</span><span class="pi">:</span>
  <span class="pi">-</span> <span class="s">jekyll</span>
  <span class="pi">-</span> <span class="s">tutorial</span>
  <span class="pi">-</span> <span class="s">yaml</span>

<span class="c1"># Or inline:</span>
<span class="na">tags</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">jekyll</span><span class="pi">,</span> <span class="nv">tutorial</span><span class="pi">,</span> <span class="nv">yaml</span><span class="pi">]</span>
</code></pre></div></div>

<p><strong>Nested objects:</strong></p>
<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">author</span><span class="pi">:</span>
  <span class="na">name</span><span class="pi">:</span> <span class="s">Marcus Webb</span>
  <span class="na">email</span><span class="pi">:</span> <span class="s">marcus@example.com</span>
  <span class="na">twitter</span><span class="pi">:</span> <span class="s">marcuswebb</span>
</code></pre></div></div>

<p><strong>Multiline strings:</strong></p>
<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">description</span><span class="pi">:</span> <span class="pi">&gt;</span>
  <span class="s">This is a long description that spans</span>
  <span class="s">multiple lines but will be joined into</span>
  <span class="s">a single paragraph.</span>

<span class="na">excerpt</span><span class="pi">:</span> <span class="pi">|</span>
  <span class="s">This preserves</span>
  <span class="s">line breaks</span>
  <span class="s">exactly.</span>
</code></pre></div></div>

<h2 id="built-in-jekyll-front-matter-variables">Built-in Jekyll front matter variables</h2>

<p>Jekyll recognises several variable names and uses them specially:</p>

<h3 id="layout">layout</h3>

<p>Specifies which layout file from <code class="language-plaintext highlighter-rouge">_layouts/</code> to use:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">layout</span><span class="pi">:</span> <span class="s">post</span>        <span class="c1"># uses _layouts/post.html</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">page</span>        <span class="c1"># uses _layouts/page.html</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">default</span>     <span class="c1"># uses _layouts/default.html</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">none</span>        <span class="c1"># no layout — render content only</span>
</code></pre></div></div>

<p>If omitted, Jekyll uses no layout (renders content only). Most files should specify a layout.</p>

<h3 id="title">title</h3>

<p>The page title. Available as <code class="language-plaintext highlighter-rouge">Jekyll Front Matter: The Complete Guide</code> in templates and used by <code class="language-plaintext highlighter-rouge">jekyll-seo-tag</code> for the <code class="language-plaintext highlighter-rouge">&lt;title&gt;</code> element:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Jekyll</span><span class="nv"> </span><span class="s">Front</span><span class="nv"> </span><span class="s">Matter:</span><span class="nv"> </span><span class="s">The</span><span class="nv"> </span><span class="s">Complete</span><span class="nv"> </span><span class="s">Guide"</span>
</code></pre></div></div>

<h3 id="date">date</h3>

<p>For posts in <code class="language-plaintext highlighter-rouge">_posts/</code>, the date is normally part of the filename (<code class="language-plaintext highlighter-rouge">2026-07-29-my-post.md</code>). You can override or supplement it with a front matter date:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">date</span><span class="pi">:</span> <span class="s">2026-07-29</span>
<span class="na">date</span><span class="pi">:</span> <span class="s">2026-07-29 14:30:00 +0100</span>    <span class="c1"># with time and timezone</span>
</code></pre></div></div>

<p>The <code class="language-plaintext highlighter-rouge">date</code> variable sets <code class="language-plaintext highlighter-rouge">page.date</code>, which is used for sorting posts and for display in templates.</p>

<h3 id="published">published</h3>

<p>Controls whether Jekyll includes the page in the build output:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">published</span><span class="pi">:</span> <span class="no">false</span>    <span class="c1"># page is excluded from build</span>
<span class="na">published</span><span class="pi">:</span> <span class="no">true</span>     <span class="c1"># page is included (default)</span>
</code></pre></div></div>

<p>Drafts in <code class="language-plaintext highlighter-rouge">_drafts/</code> are automatically excluded unless you run <code class="language-plaintext highlighter-rouge">jekyll serve --drafts</code>.</p>

<h3 id="permalink">permalink</h3>

<p>Overrides Jekyll’s default URL for the page:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">permalink</span><span class="pi">:</span> <span class="s">/about/</span>
<span class="na">permalink</span><span class="pi">:</span> <span class="s">/blog/:year/:month/:title/</span>
<span class="na">permalink</span><span class="pi">:</span> <span class="s">/themes/minimal/</span>
</code></pre></div></div>

<p>Available <code class="language-plaintext highlighter-rouge">:placeholders</code> for posts: <code class="language-plaintext highlighter-rouge">:year</code>, <code class="language-plaintext highlighter-rouge">:month</code>, <code class="language-plaintext highlighter-rouge">:day</code>, <code class="language-plaintext highlighter-rouge">:title</code>, <code class="language-plaintext highlighter-rouge">:categories</code>, <code class="language-plaintext highlighter-rouge">:slug</code>.</p>

<h3 id="categories-and-tags">categories and tags</h3>

<p>Categorise and tag your content:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">categories</span><span class="pi">:</span> <span class="s">Tutorial</span>
<span class="na">categories</span><span class="pi">:</span>
  <span class="pi">-</span> <span class="s">Tutorial</span>
  <span class="pi">-</span> <span class="s">Jekyll</span>

<span class="na">tags</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">front-matter</span><span class="pi">,</span> <span class="nv">yaml</span><span class="pi">,</span> <span class="nv">jekyll</span><span class="pi">]</span>
</code></pre></div></div>

<p><code class="language-plaintext highlighter-rouge">categories</code> affects the default URL of posts (<code class="language-plaintext highlighter-rouge">/tutorial/2026/07/29/my-post/</code>). <code class="language-plaintext highlighter-rouge">tags</code> do not affect URLs.</p>

<h3 id="excerpt">excerpt</h3>

<p>By default, Jekyll uses the first paragraph of a post as its excerpt. Override with:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">excerpt</span><span class="pi">:</span> <span class="s2">"</span><span class="s">A</span><span class="nv"> </span><span class="s">short</span><span class="nv"> </span><span class="s">custom</span><span class="nv"> </span><span class="s">summary</span><span class="nv"> </span><span class="s">for</span><span class="nv"> </span><span class="s">use</span><span class="nv"> </span><span class="s">in</span><span class="nv"> </span><span class="s">post</span><span class="nv"> </span><span class="s">listings</span><span class="nv"> </span><span class="s">and</span><span class="nv"> </span><span class="s">meta</span><span class="nv"> </span><span class="s">descriptions."</span>
</code></pre></div></div>

<h3 id="last_modified_at">last_modified_at</h3>

<p>Used by <code class="language-plaintext highlighter-rouge">jekyll-seo-tag</code> and <code class="language-plaintext highlighter-rouge">jekyll-sitemap</code> to set the <code class="language-plaintext highlighter-rouge">&lt;lastmod&gt;</code> value:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">last_modified_at</span><span class="pi">:</span> <span class="s">2026-07-29</span>
</code></pre></div></div>

<h2 id="custom-front-matter-variables">Custom front matter variables</h2>

<p>Any variable you add to front matter becomes available in your templates as <code class="language-plaintext highlighter-rouge">page.variable_name</code>:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">post</span>
<span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="s">My</span><span class="nv"> </span><span class="s">Post"</span>
<span class="na">author</span><span class="pi">:</span> <span class="s">Marcus Webb</span>
<span class="na">reading_time</span><span class="pi">:</span> <span class="m">8</span>
<span class="na">featured_image</span><span class="pi">:</span> <span class="s">/assets/images/hero.webp</span>
<span class="na">show_newsletter</span><span class="pi">:</span> <span class="no">true</span>
<span class="na">difficulty</span><span class="pi">:</span> <span class="s">beginner</span>
<span class="nn">---</span>
</code></pre></div></div>

<p>In your templates:</p>

<div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
&lt;p&gt;By <span class="p">{{</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">author</span><span class="w"> </span><span class="p">}}</span> · <span class="p">{{</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">reading_time</span><span class="w"> </span><span class="p">}}</span> min read&lt;/p&gt;

<span class="p">{%</span><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">featured_image</span><span class="w"> </span><span class="p">%}</span>
&lt;img src="<span class="p">{{</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">featured_image</span><span class="w"> </span><span class="p">}}</span>" alt="<span class="p">{{</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>"&gt;
<span class="p">{%</span><span class="w"> </span><span class="kr">endif</span><span class="w"> </span><span class="p">%}</span>

<span class="p">{%</span><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">show_newsletter</span><span class="w"> </span><span class="p">%}</span>
  <span class="p">{%</span><span class="w"> </span><span class="nt">include</span><span class="w"> </span>newsletter-form.html<span class="w"> </span><span class="p">%}</span>
<span class="p">{%</span><span class="w"> </span><span class="kr">endif</span><span class="w"> </span><span class="p">%}</span>

</code></pre></div></div>

<p>This pattern is powerful — you can add any metadata to a page and use it anywhere in your templates without touching layout files.</p>

<h2 id="front-matter-in-different-file-types">Front matter in different file types</h2>

<h3 id="posts-_posts">Posts (<code class="language-plaintext highlighter-rouge">_posts/</code>)</h3>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">post</span>
<span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="s">How</span><span class="nv"> </span><span class="s">to</span><span class="nv"> </span><span class="s">Install</span><span class="nv"> </span><span class="s">a</span><span class="nv"> </span><span class="s">Jekyll</span><span class="nv"> </span><span class="s">Theme"</span>
<span class="na">description</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Step-by-step</span><span class="nv"> </span><span class="s">guide</span><span class="nv"> </span><span class="s">to</span><span class="nv"> </span><span class="s">installing</span><span class="nv"> </span><span class="s">any</span><span class="nv"> </span><span class="s">Jekyll</span><span class="nv"> </span><span class="s">theme</span><span class="nv"> </span><span class="s">in</span><span class="nv"> </span><span class="s">under</span><span class="nv"> </span><span class="s">10</span><span class="nv"> </span><span class="s">minutes."</span>
<span class="na">date</span><span class="pi">:</span> <span class="s">2026-07-29</span>
<span class="na">last_modified_at</span><span class="pi">:</span> <span class="s">2026-07-29</span>
<span class="na">image</span><span class="pi">:</span> <span class="s">/assets/images/blog/install-jekyll-theme.webp</span>
<span class="na">author</span><span class="pi">:</span> <span class="s">Marcus Webb</span>
<span class="na">category</span><span class="pi">:</span> <span class="s">Tutorial</span>
<span class="na">tags</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">jekyll</span><span class="pi">,</span> <span class="nv">themes</span><span class="pi">,</span> <span class="nv">tutorial</span><span class="pi">]</span>
<span class="na">featured</span><span class="pi">:</span> <span class="no">false</span>
<span class="na">toc</span><span class="pi">:</span> <span class="no">true</span>
<span class="nn">---</span>
</code></pre></div></div>

<h3 id="pages-_pages-or-root">Pages (<code class="language-plaintext highlighter-rouge">_pages/</code> or root)</h3>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">page</span>
<span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="s">About</span><span class="nv"> </span><span class="s">JekyllHub"</span>
<span class="na">description</span><span class="pi">:</span> <span class="s2">"</span><span class="s">The</span><span class="nv"> </span><span class="s">story</span><span class="nv"> </span><span class="s">behind</span><span class="nv"> </span><span class="s">JekyllHub</span><span class="nv"> </span><span class="s"></span><span class="nv"> </span><span class="s">a</span><span class="nv"> </span><span class="s">marketplace</span><span class="nv"> </span><span class="s">for</span><span class="nv"> </span><span class="s">Jekyll</span><span class="nv"> </span><span class="s">themes."</span>
<span class="na">permalink</span><span class="pi">:</span> <span class="s">/about/</span>
<span class="na">nav_order</span><span class="pi">:</span> <span class="m">4</span>
<span class="nn">---</span>
</code></pre></div></div>

<h3 id="collection-items-_themes-_authors-etc">Collection items (<code class="language-plaintext highlighter-rouge">_themes/</code>, <code class="language-plaintext highlighter-rouge">_authors/</code>, etc.)</h3>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">theme</span>
<span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Minimal</span><span class="nv"> </span><span class="s">Mistakes"</span>
<span class="na">github_url</span><span class="pi">:</span> <span class="s">https://github.com/mmistakes/minimal-mistakes</span>
<span class="na">stars</span><span class="pi">:</span> <span class="m">12800</span>
<span class="na">price</span><span class="pi">:</span> <span class="m">0</span>
<span class="na">category</span><span class="pi">:</span> <span class="s">Blog</span>
<span class="na">tags</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">responsive</span><span class="pi">,</span> <span class="nv">dark-mode</span><span class="pi">,</span> <span class="nv">sidebar</span><span class="pi">]</span>
<span class="nn">---</span>
</code></pre></div></div>

<h3 id="layouts-and-includes">Layouts and includes</h3>

<p>Layouts and includes can also have front matter, but it is rarely used. One exception: layout inheritance.</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">default</span>    <span class="c1"># This layout itself uses another layout</span>
<span class="nn">---</span>
</code></pre></div></div>

<h2 id="front-matter-defaults">Front matter defaults</h2>

<p>Repeating the same front matter on every post is tedious. Jekyll’s defaults feature lets you set front matter values globally in <code class="language-plaintext highlighter-rouge">_config.yml</code>:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># _config.yml</span>
<span class="na">defaults</span><span class="pi">:</span>
  <span class="c1"># Default for all posts</span>
  <span class="pi">-</span> <span class="na">scope</span><span class="pi">:</span>
      <span class="na">path</span><span class="pi">:</span> <span class="s2">"</span><span class="s">"</span>
      <span class="na">type</span><span class="pi">:</span> <span class="s">posts</span>
    <span class="na">values</span><span class="pi">:</span>
      <span class="na">layout</span><span class="pi">:</span> <span class="s">post</span>
      <span class="na">author</span><span class="pi">:</span> <span class="s">Marcus Webb</span>
      <span class="na">toc</span><span class="pi">:</span> <span class="no">true</span>
      <span class="na">featured</span><span class="pi">:</span> <span class="no">false</span>

  <span class="c1"># Default for all pages</span>
  <span class="pi">-</span> <span class="na">scope</span><span class="pi">:</span>
      <span class="na">path</span><span class="pi">:</span> <span class="s2">"</span><span class="s">"</span>
      <span class="na">type</span><span class="pi">:</span> <span class="s">pages</span>
    <span class="na">values</span><span class="pi">:</span>
      <span class="na">layout</span><span class="pi">:</span> <span class="s">page</span>

  <span class="c1"># Default for a specific directory</span>
  <span class="pi">-</span> <span class="na">scope</span><span class="pi">:</span>
      <span class="na">path</span><span class="pi">:</span> <span class="s2">"</span><span class="s">_themes"</span>
      <span class="na">type</span><span class="pi">:</span> <span class="s">themes</span>
    <span class="na">values</span><span class="pi">:</span>
      <span class="na">layout</span><span class="pi">:</span> <span class="s">theme</span>

  <span class="c1"># Default for files matching a path pattern</span>
  <span class="pi">-</span> <span class="na">scope</span><span class="pi">:</span>
      <span class="na">path</span><span class="pi">:</span> <span class="s2">"</span><span class="s">guides/**"</span>
    <span class="na">values</span><span class="pi">:</span>
      <span class="na">layout</span><span class="pi">:</span> <span class="s">guide</span>
      <span class="na">show_sidebar</span><span class="pi">:</span> <span class="no">true</span>
</code></pre></div></div>

<p>With these defaults set, you do not need to specify <code class="language-plaintext highlighter-rouge">layout: post</code> or <code class="language-plaintext highlighter-rouge">author: Marcus Webb</code> on every post — Jekyll applies them automatically. Front matter in the file still overrides defaults.</p>

<p><strong>Specificity:</strong> More specific scopes override less specific ones. A post-level default overrides a site-wide default. Front matter in the file overrides both.</p>

<h2 id="accessing-front-matter-in-templates">Accessing front matter in templates</h2>

<p>All front matter variables are available in Liquid templates:</p>

<div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
&lt;!-- In the layout file --&gt;
&lt;h1&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/h1&gt;
&lt;p&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">description</span><span class="w"> </span><span class="p">}}</span>&lt;/p&gt;
&lt;time&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">date</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">date</span><span class="p">:</span><span class="w"> </span><span class="s2">"%B %-d, %Y"</span><span class="w"> </span><span class="p">}}</span>&lt;/time&gt;

&lt;!-- Conditional display --&gt;
<span class="p">{%</span><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">toc</span><span class="w"> </span><span class="p">%}</span>
  <span class="p">{%</span><span class="w"> </span><span class="nt">include</span><span class="w"> </span>toc.html<span class="w"> </span><span class="p">%}</span>
<span class="p">{%</span><span class="w"> </span><span class="kr">endif</span><span class="w"> </span><span class="p">%}</span>

&lt;!-- Iteration over arrays --&gt;
<span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">tag</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">page.tags</span><span class="w"> </span><span class="p">%}</span>
  &lt;span class="tag"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">tag</span><span class="w"> </span><span class="p">}}</span>&lt;/span&gt;
<span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>

&lt;!-- Nested objects --&gt;
<span class="p">{{</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">author</span><span class="p">.</span><span class="nv">name</span><span class="w"> </span><span class="p">}}</span>
<span class="p">{{</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">author</span><span class="p">.</span><span class="nv">twitter</span><span class="w"> </span><span class="p">}}</span>

</code></pre></div></div>

<h2 id="accessing-front-matter-from-other-pages">Accessing front matter from other pages</h2>

<p>You can loop through all pages or posts and access their front matter:</p>

<div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
&lt;!-- List all posts with their metadata --&gt;
<span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">post</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">site.posts</span><span class="w"> </span><span class="p">%}</span>
  &lt;article&gt;
    &lt;h2&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;&lt;/h2&gt;
    &lt;p&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">description</span><span class="w"> </span><span class="p">}}</span>&lt;/p&gt;
    <span class="p">{%</span><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">featured</span><span class="w"> </span><span class="p">%}</span>
      &lt;span class="badge"&gt;Featured&lt;/span&gt;
    <span class="p">{%</span><span class="w"> </span><span class="kr">endif</span><span class="w"> </span><span class="p">%}</span>
  &lt;/article&gt;
<span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>

&lt;!-- Filter by front matter value --&gt;
<span class="p">{%</span><span class="w"> </span><span class="nt">assign</span><span class="w"> </span><span class="nv">featured_posts</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">posts</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">where</span><span class="p">:</span><span class="w"> </span><span class="s2">"featured"</span><span class="p">,</span><span class="w"> </span><span class="kc">true</span><span class="w"> </span><span class="p">%}</span>
<span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">post</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">featured_posts</span><span class="w"> </span><span class="p">%}</span>
  &lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;
<span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span>

</code></pre></div></div>

<h2 id="common-front-matter-patterns">Common front matter patterns</h2>

<h3 id="hiding-a-page-from-navigation-while-keeping-it-live">Hiding a page from navigation while keeping it live</h3>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">page</span>
<span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Thank</span><span class="nv"> </span><span class="s">You"</span>
<span class="na">permalink</span><span class="pi">:</span> <span class="s">/thank-you/</span>
<span class="na">sitemap</span><span class="pi">:</span> <span class="no">false</span>
<span class="nn">---</span>
</code></pre></div></div>

<h3 id="overriding-the-excerpt">Overriding the excerpt</h3>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">post</span>
<span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="s">My</span><span class="nv"> </span><span class="s">Post"</span>
<span class="na">excerpt</span><span class="pi">:</span> <span class="s2">"</span><span class="s">This</span><span class="nv"> </span><span class="s">custom</span><span class="nv"> </span><span class="s">excerpt</span><span class="nv"> </span><span class="s">appears</span><span class="nv"> </span><span class="s">in</span><span class="nv"> </span><span class="s">post</span><span class="nv"> </span><span class="s">listings</span><span class="nv"> </span><span class="s">and</span><span class="nv"> </span><span class="s">meta</span><span class="nv"> </span><span class="s">descriptions</span><span class="nv"> </span><span class="s">instead</span><span class="nv"> </span><span class="s">of</span><span class="nv"> </span><span class="s">the</span><span class="nv"> </span><span class="s">first</span><span class="nv"> </span><span class="s">paragraph."</span>
<span class="nn">---</span>
</code></pre></div></div>

<h3 id="specifying-an-og-image-for-social-sharing">Specifying an OG image for social sharing</h3>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">post</span>
<span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="s">My</span><span class="nv"> </span><span class="s">Post"</span>
<span class="na">image</span><span class="pi">:</span> <span class="s">/assets/images/blog/my-post.webp</span>
<span class="nn">---</span>
</code></pre></div></div>

<p>With <code class="language-plaintext highlighter-rouge">jekyll-seo-tag</code>, <code class="language-plaintext highlighter-rouge">image</code> is automatically used as the Open Graph image.</p>

<h3 id="controlling-the-canonical-url">Controlling the canonical URL</h3>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">post</span>
<span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="s">My</span><span class="nv"> </span><span class="s">Post"</span>
<span class="na">canonical_url</span><span class="pi">:</span> <span class="s2">"</span><span class="s">https://original-source.com/my-post/"</span>
<span class="nn">---</span>
</code></pre></div></div>

<p>Useful if you are syndicating content from another site.</p>

<h2 id="validating-front-matter">Validating front matter</h2>

<p>YAML syntax errors in front matter cause Jekyll build errors. Common mistakes:</p>

<p><strong>Unquoted colons:</strong> A colon in a value must be quoted.</p>
<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># Bad</span>
<span class="na">title</span><span class="pi">:</span> <span class="na">Jekyll</span><span class="pi">:</span> <span class="s">The Complete Guide</span>

<span class="c1"># Good</span>
<span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Jekyll:</span><span class="nv"> </span><span class="s">The</span><span class="nv"> </span><span class="s">Complete</span><span class="nv"> </span><span class="s">Guide"</span>
</code></pre></div></div>

<p><strong>Tab characters:</strong> YAML uses spaces, not tabs. Always indent with spaces.</p>

<p><strong>Inconsistent list formatting:</strong></p>
<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># Bad — mixing inline and block style</span>
<span class="na">tags</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">jekyll</span>
  <span class="nv">tutorial</span><span class="pi">]</span>

<span class="c1"># Good</span>
<span class="na">tags</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">jekyll</span><span class="pi">,</span> <span class="nv">tutorial</span><span class="pi">]</span>
<span class="c1"># Or</span>
<span class="na">tags</span><span class="pi">:</span>
  <span class="pi">-</span> <span class="s">jekyll</span>
  <span class="pi">-</span> <span class="s">tutorial</span>
</code></pre></div></div>

<p>Run <code class="language-plaintext highlighter-rouge">bundle exec jekyll build --verbose</code> to see detailed error output when front matter parsing fails.</p>

<p>Front matter is the connective tissue of a Jekyll site — it is how content communicates with templates. Mastering it unlocks the full power of Jekyll’s data-driven architecture.</p>

        </div>

        
        <div class="post-tags">
          
        </div>
        

        <div class="post-share">
          <span class="post-share__label">Share</span>
          <a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fjekyllhub.com%2Ftutorial%2F2026%2F06%2F18%2Fjekyll-front-matter-guide%2F&text=Jekyll+Front+Matter%3A+The+Complete+Guide" target="_blank" rel="noopener" class="post-share__btn post-share__btn--twitter">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
            X / Twitter
          </a>
          <a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fjekyllhub.com%2Ftutorial%2F2026%2F06%2F18%2Fjekyll-front-matter-guide%2F&title=Jekyll+Front+Matter%3A+The+Complete+Guide" target="_blank" rel="noopener" class="post-share__btn post-share__btn--linkedin">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
            LinkedIn
          </a>
          <button class="post-share__btn post-share__btn--copy" onclick="JekyllHub.copyPostLink(this)">
            <svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"/></svg>
            <span>Copy Link</span>
          </button>
        </div>

        

        <nav class="post-nav" aria-label="Post navigation">
          <div class="post-nav__prev">
            
            <a href="/tutorial/2026/06/17/deploy-jekyll-firebase/" class="post-nav__link">
              <span class="post-nav__label">← Previous</span>
              <span class="post-nav__title">How to Deploy a Jekyll Site to Firebase Hosting (2026 Guide)</span>
            </a>
            
          </div>
          <div class="post-nav__center">
            <a href="/blog/" class="btn btn--secondary btn--sm">All Posts</a>
          </div>
          <div class="post-nav__next">
            
            <a href="/tutorial/2026/06/19/jekyll-layouts-explained/" class="post-nav__link post-nav__link--next">
              <span class="post-nav__label">Next →</span>
              <span class="post-nav__title">Jekyll Layouts Explained: How to Structure Your Site Templates</span>
            </a>
            
          </div>
        </nav>
      </div>

      <aside class="post-body__sidebar">
        <div class="sidebar-card">
          <h3 class="sidebar-card__title">Browse Themes</h3>
          <ul class="post-sidebar__links">
            
            <li><a href="/jekyll-academic-themes/">🎓 Academic Themes</a></li>
            
            <li><a href="/jekyll-blog-themes/">✍️ Blog Themes</a></li>
            
            <li><a href="/jekyll-business-themes/">💼 Business Themes</a></li>
            
            <li><a href="/jekyll-documentation-themes/">📚 Documentation Themes</a></li>
            
            <li><a href="/jekyll-e-commerce-themes/">🛒 E-commerce Themes</a></li>
            
            <li><a href="/jekyll-landing-page-themes/">🚀 Landing Page Themes</a></li>
            
            <li><a href="/jekyll-personal-themes/">👤 Personal Themes</a></li>
            
            <li><a href="/jekyll-portfolio-themes/">🎨 Portfolio Themes</a></li>
            
            <li><a href="/jekyll-resume-cv-themes/">📄 Resume/CV Themes</a></li>
            
            <li><a href="/jekyll-github-pages-themes/"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" style="display:inline;vertical-align:middle;margin-right:4px"><path d="M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>GitHub Pages Themes</a></li>
          </ul>
          <a href="/themes/" class="btn btn--primary btn--full" style="margin-top:var(--space-5)">Browse All Themes →</a>
        </div>

        <div class="sidebar-card" style="margin-top:var(--space-6)">
          <h3 class="sidebar-card__title">Submit Your Theme</h3>
          <p style="font-size:0.875rem;color:var(--text-3);line-height:1.6;margin-bottom:var(--space-4)">Built a Jekyll theme? Share it with thousands of developers.</p>
          <a href="/submit/" class="btn btn--secondary btn--full">Submit a Theme →</a>
        </div>
      </aside>
    </div>
  </div>

  <!-- Related Themes — rendered by JS from SITE_DATA, shuffled per page load -->

  

  
  <section class="post-related-themes" style="display:none">
    <div class="container">
      <h2 class="post-related-themes__title">Themes You Might Like</h2>
      <div class="themes-grid themes-grid--4" id="post-related-themes-grid"
           data-tags="[]"
           data-related-category="Blog"></div>
    </div>
  </section>
  

</article>

<!-- Back to top -->
<button class="back-to-top" id="back-to-top" aria-label="Back to top" onclick="window.scrollTo({top:0,behavior:'smooth'})">
  <svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M5 15l7-7 7 7"/>
  </svg>
</button>
<script src="/assets/js/post.js" defer></script>

</main>

_layouts/post.html — for blog posts:


---
layout: default
---
<main class="container">
  <article class="post">
    <h1>{{ page.title }}</h1>
    <time>{{ page.date | date: "%B %-d, %Y" }}</time>
    {{ content }}
  </article>
  {% include related-posts.html %}
</main>

_layouts/home.html — for the homepage only:


---
layout: default
---
{% include home-hero.html %}
{% include featured-themes.html %}
{{ content }}
{% include home-newsletter.html %}

This structure is clear, maintainable, and easy to extend. Adding a new page type means adding one layout file — not editing a monolithic template.

Tips for clean layouts

Keep layouts thin. Layouts should structure content — not contain it. Move repeating blocks to _includes/.

Use meaningful layout names. post, page, theme, author are clear. layout1, template_v2 are not.

Default to default. Most child layouts should inherit from default.html, not from each other. Deep chains (default → page → section → content) become hard to follow.

Test with no layout. If a layout-related bug appears, temporarily set layout: none on the affected page to isolate whether the issue is in the content or the layout.

Understanding Jekyll’s layout system is what separates a collection of Markdown files from a real, maintainable website. Once the hierarchy is in place, adding new page types or changing the global structure becomes a matter of editing one file.

Share LinkedIn