The next evolution of Jekyll's classic Minima theme β now with dark mode, search, pagination, and zero build steps.
π Live Demo β’ π Documentation β’ π Changelog
| Feature | Minima (Classic) | Minima+ |
|---|---|---|
| Dark Mode | β | β |
| Tailwind CSS | β | β |
| No Build Step | β | β |
| Responsive | β Full | |
| Blog + Docs | β Both | |
| π Search (Lunr.js) | β | β |
| π Pagination | β | β |
| π Changelog | β | β |
| π·οΈ Badges | β | β |
| π Stats Counter | β | β |
| ποΈ Tabs & Accordions | β | β |
| π Versioned Docs | β | β |
| π‘ API Reference | β | β |
| π» CLI Reference | β | β |
| π« 404 Page | β Animated | |
| π Coming Soon | β | β |
| Syntax Highlighting | β Prism.js | |
| Copy Code Button | β | β |
| Table of Contents | β | β |
| SEO Optimized | β Full |
|
|
|
|
- Click "Use this template" above
- Name your repo
username.github.io(for personal site) or any name - Clone β Edit
_config.ymlβ Push - π Your site is live!
Step 1: Create docs/_config.yml:
remote_theme: E-Segments/minima-plus
baseurl: "/your-repo-name"
title: "My Project"
description: "Documentation for my awesome project"
github_repo: "username/repo" # For changelog
theme_config:
colors:
primary: "emerald"
features:
search: trueStep 2: Create docs/Gemfile:
source "https://rubygems.org"
gem "jekyll", "~> 4.3"
gem "jekyll-remote-theme"
gem "jekyll-paginate-v2"Step 3: Enable GitHub Pages:
Settings β Pages β Branch:
mainβ Folder:/docs
Step 4 (Optional): Add 404 and Coming Soon pages:
Create docs/404.html:
---
layout: 404
title: "Page not found"
permalink: /404.html
---Create docs/coming-soon.html (for pre-launch):
---
layout: coming-soon
title: "Coming Soon"
headline: "Something Amazing is Coming"
launch_date: "2025-06-01T00:00:00"
permalink: /coming-soon/
---remote_theme, layouts like 404, coming-soon, api, and cli are automatically available from the theme.
Full-text search across posts, docs, and pages powered by Lunr.js.
- Press
Cmd+K(Mac) orCtrl+K(Windows/Linux) to open - Filter by content type (All / Posts / Docs)
- Keyboard navigation with arrow keys
- Recent searches saved locally
Enable in _config.yml:
theme_config:
features:
search: trueBuilt-in pagination for blog posts using jekyll-paginate-v2.
- Configurable posts per page
- Previous/Next navigation
- Page numbers with ellipsis
- "Showing X-Y of Z" counter
Configure in _config.yml:
pagination:
enabled: true
per_page: 6
permalink: '/page/:num/'Auto-fetch releases from GitHub API with search and filtering.
- Pulls releases from your GitHub repo
- Search and filter releases
- Version badges and download links
- Markdown release notes rendered
Set your repo in _config.yml:
github_repo: "username/repo"Then create changelog.md:
---
layout: changelog
title: Changelog
permalink: /changelog/
---Easy badge integration with Shields.io and Badgen.net.
{% include components/badge.html
label="Jekyll"
message="4.3+"
color="CC0000"
logo="jekyll"
style="for-the-badge"
%}
{% include components/badge.html
type="github/v/release"
repo="E-Segments/minima-plus"
style="flat-square"
%}Or use badge groups from data:
{% include components/badge-group.html badges=site.data.badges.theme %}Animated number counters that count up when scrolled into view.
{% include components/stats-counter.html
stats="10K+:Downloads,500+:Stars,50+:Contributors,99%:Satisfaction"
style="cards"
columns=4
%}Or use data arrays:
# In front matter
stats:
- value: 10000
label: "Downloads"
suffix: "+"
- value: 99.9
label: "Uptime"
suffix: "%"
decimals: 1Styles: default, cards, minimal
Interactive tabbed content and collapsible sections.
Tabs:
{% include components/tabs.html id="demo" tabs="HTML,CSS,JS" %}
<div data-tab-content="demo-0">HTML content</div>
<div data-tab-content="demo-1">CSS content</div>
<div data-tab-content="demo-2">JS content</div>
{% include components/tabs.html id="demo" end=true %}Accordion:
{% include components/accordion.html items=page.faq %}With front matter:
faq:
- question: "What is Jekyll?"
answer: "A static site generator."
- question: "Is it free?"
answer: "Yes, completely free."Styles: default, bordered, separated | Tab styles: underline, pills
Support multiple documentation versions with a dropdown selector.
Configure in _data/versions.yml:
current: "2.0"
versions:
- number: "2.0"
name: "v2.0 (Latest)"
path: "/docs/"
latest: true
- number: "1.0"
name: "v1.0"
path: "/docs/v1/"Features:
- Version dropdown in docs sidebar
- Warning banner for old versions
- Automatic "latest" detection
- localStorage preference saving
Beautiful animated 404 page with:
- Gradient animated "404" text
- Floating particles background
- Built-in search box
- Auto-populated navigation suggestions
- Rotating fun error messages
GitHub Pages automatically uses 404.html β no configuration needed!
Customize in 404.html:
---
layout: 404
title: "Page not found"
description: "Custom message here"
---Pre-launch landing page with countdown timer and email capture.
---
layout: coming-soon
title: "Coming Soon"
headline: "Something Amazing is Coming"
tagline: "Sign up to be notified!"
launch_date: "2025-06-01T00:00:00"
social:
- name: "Twitter"
icon: "twitter"
url: "https://twitter.com/handle"
- name: "GitHub"
icon: "github"
url: "https://github.com/repo"
# form_action: "https://your-email-service.com/subscribe"
---Features:
- Live countdown timer
- Email signup form
- Social links (Twitter, GitHub, LinkedIn, Instagram, Discord)
- Animated glowing background
- Mobile responsive
Pre-launch tip: Rename coming-soon.html to index.html until launch!
Document REST APIs with method badges, parameters, and response codes.
---
layout: api
title: API Reference
api_version: "v1"
base_url: "https://api.example.com/v1"
endpoints:
- method: "GET"
path: "/users"
description: "List all users"
auth: "required"
params:
- name: "page"
type: "integer"
in: "query"
responses:
- status: 200
description: "Success"
---Features:
- Method badges (GET, POST, PUT, DELETE)
- Parameter tables (query, path, body)
- Response status codes
- Sidebar navigation
Document command-line tools with arguments, options, and examples.
---
layout: cli
title: CLI Reference
cli_name: "mytool"
cli_version: "1.0.0"
commands:
- name: "init"
description: "Initialize a new project"
usage: "mytool init [options]"
options:
- flag: "-f, --force"
description: "Force overwrite"
examples:
- title: "Basic usage"
code: "mytool init my-project"
---Features:
- Command documentation
- Arguments and options tables
- Code examples with output
- Terminal-style headers
Change your entire site's color scheme with one line:
theme_config:
colors:
primary: "indigo" # Change this!Available colors: red, orange, amber, emerald, blue, violet, pink, rose, purple, cyan, teal, indigo, slate, gray, zinc, neutral, stone, yellow, lime, green, sky, fuchsia
your-site/
βββ _config.yml # Site configuration
βββ _data/
β βββ navigation.yml # Header menu
β βββ social.yml # Social links
β βββ footer.yml # Footer columns
β βββ badges.yml # Badge definitions
β βββ versions.yml # Doc versions
βββ _docs/ # Documentation pages
βββ _posts/ # Blog posts
βββ _layouts/
β βββ default.html # Base layout
β βββ post.html # Blog post
β βββ docs.html # Documentation
β βββ api.html # API reference
β βββ cli.html # CLI reference
β βββ changelog.html # GitHub releases
β βββ 404.html # Error page
β βββ coming-soon.html # Pre-launch page
βββ _includes/
β βββ components/ # UI components
β β βββ badge.html
β β βββ badge-group.html
β β βββ card.html
β β βββ button.html
β β βββ tabs.html
β β βββ accordion.html
β β βββ stats-counter.html
β β βββ endpoint.html
β β βββ cli-command.html
β β βββ version-selector.html
β βββ search.html # Search modal
β βββ pagination.html
βββ assets/
β βββ css/custom.css # Custom styles
β βββ search.json # Search index
βββ blog/ # Blog listing
βββ docs/ # Docs listing
βββ api.md # API docs example
βββ cli.md # CLI docs example
βββ changelog.md # Changelog page
βββ coming-soon.html # Coming soon page
βββ 404.html # 404 error page
βββ index.html # Homepage
Full _config.yml options:
# Site Basics
title: "My Site"
description: "My awesome site"
author: "Your Name"
url: "https://username.github.io"
baseurl: "/repo-name"
# GitHub repo for changelog
github_repo: "username/repo"
# Plugins
plugins:
- jekyll-feed
- jekyll-seo-tag
- jekyll-sitemap
- jekyll-paginate-v2
# Pagination
pagination:
enabled: true
per_page: 6
permalink: '/page/:num/'
# Theme Configuration
theme_config:
colors:
primary: "indigo"
secondary: "slate"
accent: "amber"
components:
show_toc: true
show_reading_time: true
show_date: true
show_author: true
show_tags: true
show_categories: true
features:
dark_mode: true
search: true
# Analytics (optional)
analytics:
google_analytics: "G-XXXXXXXXXX"
plausible: "your-domain.com"{% include components/badge.html
service="shields"
type="github/stars"
repo="E-Segments/minima-plus"
style="for-the-badge"
%}<div class="callout callout-info">
<strong>Pro Tip:</strong> This is helpful information!
</div><div class="not-prose cards-grid">
<a href="/docs/" class="card">
<div class="card-title">Documentation</div>
<div class="card-description">Learn how to use Minima+</div>
</a>
</div><ol class="steps">
<li>First, do this</li>
<li>Then, do that</li>
<li>Finally, celebrate!</li>
</ol>This template includes GitHub Actions for automatic deployment!
- Go to Settings β Pages
- Under Build and deployment, select GitHub Actions
- Push to
mainbranch - Your site deploys automatically!
- Create a
CNAMEfile with your domain - Configure DNS at your registrar
- Enable Enforce HTTPS in Pages settings
Contributions are welcome! Feel free to:
- Report bugs
- Suggest features
- Submit pull requests
MIT License β use it for anything! Free forever.
Built with:
- Jekyll β Static site generator
- Tailwind CSS β Utility-first CSS
- Lunr.js β Client-side search
- Prism.js β Syntax highlighting
- Shields.io β Badges
- Heroicons β Beautiful icons
Star this repo if you find it useful!
Made with care by E-Segments