Automatically switches between dark and light modes based on operating system settings
brutalist-blog — Jekyll Blog Template
By andrewhwanpark
brutalist-blog is a minimalistic Jekyll-based blog theme that automatically switches between dark and light modes based on the operating system settings, and includes built-in SEO, sitemap, and RSS capabilities.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Fully responsive layout with desktop and mobile adaptations
Supports Google Analytics integration
Automatically generates an XML sitemap and an RSS Atom feed
Uses jekyll-seo-tag to output metadata tags for search engines and social networks
Full Markdown support, with code blocks and tables automatically rendered as Bootstrap components
Template Details
brutalist-blog is a Jekyll-based blog theme positioned as a no-frills, fully responsive, minimalistic dark/light dual-mode theme. The README states that its design is inspired by Mark Otto's personal site. The theme automatically switches between dark and light modes according to the operating system settings and provides both desktop and mobile layouts.
For content and site configuration, the theme centrally manages site title, name, footer social icons, navigation bar avatar, and other information through _config.yml. Permanent pages are added following the patterns in about.md and portfolio.md, and corresponding navigation data must be added to _data/navigation.yml. Blog posts are added following the example posts in the _posts directory. Custom styles can be implemented by adding or editing _sass/main.scss.
Functionally, the theme supports integration with Google Analytics, can generate an XML sitemap and an RSS Atom feed, uses jekyll-seo-tag to add metadata tags for search engines and social networks, and fully supports Markdown, with code blocks and tables automatically rendered as Bootstrap component styles. Installation involves cloning the repository, running bundle install, and previewing locally with bundle exec jekyll serve. To publish with GitHub Pages, switch to the gh-pages branch and follow the GitHub Pages Pages settings workflow.
Limitations: the theme's documentation does not specify a required Jekyll version; the licensing of third-party assets such as demo images, fonts, and icons must be checked separately and cannot be determined solely from the code's MIT license; external services such as domains and hosting may incur additional costs.
Is it right for your project?
Use Cases
- Building a personal blog focused on text content
- Sites that need dark/light mode to switch automatically with the system
- Publishing and hosting a Jekyll site via GitHub Pages
- Technical blogs that want consistent Bootstrap styling for code blocks and tables
Suitable For
- Bloggers familiar with Jekyll and Markdown writing
- Personal site authors who prefer a minimal, no-frills interface
- Developers hosting blogs on GitHub Pages
- Blog projects that need basic capabilities such as sitemap, RSS, and SEO metadata
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, install bundler and run bundle install, then preview locally with bundle exec jekyll serve
- 2
When publishing with GitHub Pages, switch to the gh-pages branch and complete the publishing settings under Pages in the repository Settings
- 3
On first use, modify the site title, name, social links, avatar, and other information in _config.yml
- 4
New permanent pages should follow the patterns in about.md and portfolio.md, and navigation data must be added to _data/navigation.yml
- 5
Custom styles can be added or edited in _sass/main.scss
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope applies to that version's code and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of that version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Integrating Google Analytics requires registering a Google account and obtaining a tracking ID; it is an external service and may be subject to its terms and privacy policy.
- Using a custom domain requires purchasing a domain and configuring DNS; domain registration and hosting may incur additional costs.
- The theme design is inspired by Mark Otto's personal site; if you adopt its visual style, you must independently confirm whether additional attribution or authorization requirements exist.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be determined solely from the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Easy integration with Google Analytics.
Original README
Custom domains with Github Pages
Original README
https://github.com/andrewhwanpark/brutalist-blog/blob/main/LICENSE.txthttps://github.com/andrewhwanpark/brutalist-blog/blob/main/README.mdThe theme is heavily inspired by Mark Otto's personal site: https://markdotto.com/
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 76 / 100
- Technologies
- Jekyll
- Website type
- Blog
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2021-08-29
- Screenshot last checked
- 2026-10-01
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Jekyll as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 9bf28f2f361eb2daf2f2b7db38906556fd022cbf0ee8a9428948fb21c55a7202
2026-10-01T14:46:23.953Z
Source file / repository# brutalist-blog
## Introduction



brutalist-blog is a no frills, fully-responsive, hyper-minimalistic dark/light theme. The theme is heavily inspired by Mark Otto's personal site: https://markdotto.com/
Demo: https://andrewhwanpark.github.io/brutalist-blog/
My personal site that uses the same theme: https://andrewhwanpark.github.io/
#### Features
- Automatically changes from dark/light modes depending on the OS settings.
- Easy integration with Google Analytics.
- Generates XML sitemap and RSS Atom feed.
- jekyll-seo-tag to add metadata tags for search engines and social networks to better index and display your site's content.
- Full markdown support: code blocks and tables are automatically bootstrap components.


## Installation
Clone this repo:
$ git clone https://github.com/andrewhwanpark/brutalist-blog.git
If you haven't already, install bundler:
$ gem install bundler
And then execute:
$ bundle install
Serve the site:
$ bundle exec jekyll serve
# Installation with Github Pages
After cloning the repo, checkout to the gh-pages branch.
$ git checkout gh-pages && git pull
In the directory:
$ bundle install
For local development:
$ bundle exec jekyll serve
After tweaking with it, you can publish the site. Under your repository name, click Settings.

In the left sidebar, click Pages.

To see your published site, under "GitHub Pages", click your site's URL.

For a more detailed guide, visit this guide by Github: https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll
## Usage
### First things first: \_config.yml
First, you should change data in \_config.yml to the appropriate information such as your social links for the footer icons, avatar for navbar logo, title and name of the site, and more crucial information.
### Adding content
In order to add permanent pages, add in similar fashion to about.md and portfolio.md and add apppropriate data to \_data/navigation.yml.
In order to add blog posts, add in similar fashion to \_posts/2021-07-16-this-post-demonstrates-post-content-styles.md.
### Custom style changes
If you wish to add custom styling through SCSS or CSS, you can add or edit \_sass/main.scss.
### Custom domains with Github Pages
Follow this simple guide: https://medium.com/@xiang_zhou/how-to-add-custom-domain-to-your-jekyll-blog-provided-that-you-built-your-site-using-github-6e1c8bf20afe
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/andrewhwanpark/brutalist-blog.
## License
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
Explore similar templates
Compare previews and descriptions within the same stack and category.

al-folio
A Jekyll academic homepage theme for scholars and researchers, with a clean responsive design and out-of-the-box support for publication lists, project showcases, CVs, and blogs.
Jekyll · Portfolio

minimal-mistakes
Minimal Mistakes is a two-column Jekyll theme for personal sites, blogs, project documentation, or portfolios.
Jekyll · Portfolio

Beautiful Jekyll
Beautiful Jekyll is a mature, easy-to-use Jekyll blog theme maintained by Dean Attali since 2015, with over 50,000 users.
Jekyll · Blog

jekyll-TeXt-theme
A customizable Jekyll theme for personal sites, team sites, blogs, projects, and documentation.
Jekyll · Blog

startbootstrap-clean-blog-jekyll
The official Jekyll version of Start Bootstrap's Clean Blog theme, offering a blog home page, about page, contact page, and sample post pages, with a Formspree-powered contact form.
Jekyll · Blog

So Simple
A minimal reading-oriented Jekyll theme by Michael Rose for personal blogs, portfolios, and long-form reading. It offers multiple layouts, microformat markup, Disqus comments, Google Analytics, Jekyll SEO Tag, three skins, and aggregation by year, category, and tag with a grid view.
Jekyll · Blog
