This document explains how the Minimal Mistakes theme is integrated and customized.
The site uses Minimal Mistakes as a remote theme, loaded from GitHub:
# _config.yml
remote_theme: mmistakes/minimal-mistakes@4.27.0
Build Process:
1. Jekyll reads _config.yml
2. Downloads theme from GitHub
3. Merges local overrides
4. Builds the site
Current version: 4.27.0
To update the theme, change the version in _config.yml:
# Update to a new version
remote_theme: mmistakes/minimal-mistakes@4.28.0
Warning: Test updates locally before deploying. Theme updates may introduce breaking changes.
The theme uses skins for color schemes:
minimal_mistakes_skin: dirt
| Skin | Description |
|---|---|
| air | Light gray, clean |
| aqua | Blue accent |
| contrast | High contrast |
| dark | Dark mode |
| dirt | Warm brown (active) |
| neon | Bright colors |
| mint | Green accent |
| plum | Purple accent |
| sunrise | Orange/yellow |
Files in this repository override theme files. The following are customized:
| File | Customization |
|---|---|
default.html |
Added copyright notice, customized HTML structure |
single.html |
Modified article wrapper, meta display |
home.html |
Customized post listing |
| File | Customization |
|---|---|
masthead.html |
Navigation customization |
footer.html |
Custom footer with copyright years |
head.html |
Font Awesome kit, custom scripts |
author-profile.html |
Modified author display |
| File | Customization |
|---|---|
_variables.scss |
Typography, colors, breakpoints |
_base.scss |
Base element styling |
_page.scss |
Page layout adjustments |
_archive.scss |
Archive listing styles |
_sidebar.scss |
Sidebar styling |
_navigation.scss |
Navigation styles |
Several theme features are disabled for a cleaner design:
# _config.yml
search: false # No site search
atom_feed:
hide: true # No visible feed link
# In defaults
author_profile: false # No author sidebar
read_time: false # No reading time
comments: false # No comments
share: false # No share buttons
related: false # No related posts
In _sass/minimal-mistakes/_variables.scss:
// Custom type sizes
$type-size-6x: 0.85em; // Added intermediate size
$type-size-6: 0.75em;
$type-size-7: 0.7em;
// Breakpoints adjusted
$x-large: 980px;
$max-width: $x-large;
Transitions are disabled for faster perceived loading:
// _sass/minimal-mistakes.scss
$intro-transition: none;
$global-transition: none;
Custom footer with year range in _includes/footer.html:
<div class="page__footer-copyright">
© 2021–2026 Henk van der Schuur
</div>
Custom Font Awesome kit in _includes/head.html:
<script src="https://kit.fontawesome.com/dac1d6028f.js" crossorigin="anonymous"></script>
Defaults are set in _config.yml to avoid repetition:
defaults:
# Posts
- scope:
path: ""
type: posts
values:
layout: single
author_profile: false
read_time: false
show_date: true
comments: false
share: false
related: false
# Pages
- scope:
path: "_pages"
type: pages
values:
layout: single
author_profile: false
related: false
Browse the Minimal Mistakes repository for the file you want to override.
Copy the file to the same relative path in your repository:
# Example: Override the footer
# Theme file: _includes/footer.html
# Copy to: your-repo/_includes/footer.html
Edit the local copy. Jekyll will use your version instead of the theme’s.
bundle exec jekyll serve
Visit the Minimal Mistakes releases page.
_config.yml:
remote_theme: mmistakes/minimal-mistakes@NEW_VERSION
bundle exec jekyll serveIf an update breaks customizations:
For comprehensive theme documentation, see:
| See also: Architecture Overview | Styling Guide |