JekyllBlog

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.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-09-30View source

What stands out

A quick read of the recorded project description.

01

Automatically switches between dark and light modes based on operating system settings

02

Fully responsive layout with desktop and mobile adaptations

03

Supports Google Analytics integration

04

Automatically generates an XML sitemap and an RSS Atom feed

05

Uses jekyll-seo-tag to output metadata tags for search engines and social networks

06

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.

JekyllBlog

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. 1

    After cloning the repository, install bundler and run bundle install, then preview locally with bundle exec jekyll serve

  2. 2

    When publishing with GitHub Pages, switch to the gh-pages branch and complete the publishing settings under Pages in the repository Settings

  3. 3

    On first use, modify the site title, name, social links, avatar, and other information in _config.yml

  4. 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. 5

    Custom styles can be added or edited in _sass/main.scss

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This 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

The theme is heavily inspired by Mark Otto's personal site: https://markdotto.com/

Original README
https://github.com/andrewhwanpark/brutalist-blog/blob/main/LICENSE.txthttps://github.com/andrewhwanpark/brutalist-blog/blob/main/README.md

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 dark mode homepage](https://user-images.githubusercontent.com/13270895/131266947-65f2ae83-7d9e-48d7-8cd6-05a1d59df0ab.png)
![brutalist-blog light mode homepage](https://user-images.githubusercontent.com/13270895/131266950-3a0e0eff-0b15-4f60-ba22-231bcd78fb0c.png)
![brutalist-blog mobile homepages](https://user-images.githubusercontent.com/13270895/131266952-e245630a-9874-4bde-952c-3c63ebd745e0.png)

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.

![code blocks](https://user-images.githubusercontent.com/13270895/126393675-dacc65f1-7dd2-4651-ae2b-0e77eda7cd11.png)

![tables](https://user-images.githubusercontent.com/13270895/126393680-7b7fae57-abd0-4843-a9a1-c4f334b5eaa4.png)

## 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.

![tutorial](https://docs.github.com/assets/images/help/repository/repo-actions-settings.png)

In the left sidebar, click Pages.

![tutorial 2](https://docs.github.com/assets/images/help/pages/pages-tab.png)

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

![tutorial 3](https://docs.github.com/assets/images/help/pages/click-pages-url-to-preview.png)

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).
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.