HugoBlog

plain-blog — Hugo Blog Template

By LiaungYip

plain-blog is a minimalist, content-first Hugo blog theme released under the MIT license. It supports taxonomies such as categories, tags, and series, with optional KaTeX math and Google Analytics.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

1 previews
Author preview
Author-provided previewTop of page

Preview provided in the project README.

One original preview is available. Open the full image to inspect the design.

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-02View source

What stands out

A quick read of the recorded project description.

01

Content-first minimalist typography: high-contrast black text on white with blue links, responsive layout suitable for desktop and mobile reading

02

Very little JavaScript; reading is largely unaffected when JS is disabled

03

Supports categories, tags, and series taxonomies, which can be enabled individually or together

04

Front matter switches for table of contents (show_table_of_contents) and explicit updated date (content-updated-date)

05

Uses Hugo Pipes to fetch third-party CSS/JS dependencies at build time, reducing runtime reliance on third-party CDNs

06

Optional KaTeX math support, enabled by setting math = "true" in front matter

Template Details

plain-blog is a Hugo blog theme by LiaungYip positioned as minimalist and content-first. In the README, the author explicitly aims to keep first-screen load under 50kB. The theme uses a high-contrast palette of black text on a white background with blue links, a responsive layout, and very little JavaScript, so reading is largely unaffected when JS is disabled.

Functionally, the theme supports three taxonomies—categories, tags, and series—which can be enabled individually or together. It provides top and bottom menus, Google Analytics, and print styles that hide the header, footer, and menus when printing. Articles can show a table of contents via show_table_of_contents = "true" in front matter, and an explicit updated date via content-updated-date = "YYYY-MM-DD"; if omitted, no “Updated” label is shown, avoiding misleading display from file modification times. Math is supported through KaTeX and requires math = "true" in front matter; the README notes that it currently still relies on a third-party CDN. At build time, Hugo Pipes fetches third-party CSS and JS dependencies to reduce runtime reliance on third-party CDNs.

To control size, the theme deliberately omits jQuery, highlight.js (using Hugo’s built-in Chroma for server-side highlighting), web fonts, and icon fonts. Dependencies include purecss and timeago.js (for fuzzy timestamps such as “just now” or “4 days ago”). The README offers the author’s personal site penwatch.net as a live example and notes inspiration from qntm.org and gizak/nofancy; the same author also has a plain-docs theme aimed at documentation scenarios. The repository does not provide detailed theme configuration options, Hugo version requirements, or installation steps, so users should read the repository files to confirm before use.

HugoBlog

Is it right for your project?

Use Cases

  • Building a personal blog focused on text reading, with a simple page structure and low load burden
  • Organizing articles by category, tag, or series, with controllable table of contents and updated date
  • Writing technical or academic articles that include mathematical formulas
  • Needing print-friendly pages that automatically hide the header, footer, and menus when printing
  • Hugo sites that want to reduce reliance on third-party CDNs and front-end libraries

Suitable For

  • Individual authors building static blogs with Hugo who prefer minimalist typography
  • Developers who care about first-screen size and want to avoid jQuery, highlight.js, web fonts, and icon fonts
  • Writers who need basic blog capabilities such as taxonomies, table of contents, updated date, and print styles
  • Users who can accept reading repository files themselves and manually completing theme configuration

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    The repository README does not provide complete installation and configuration steps; check the theme files and example configuration in the repository before use

  2. 2

    Math relies on KaTeX, and the README notes that it currently still uses a third-party CDN; evaluate this yourself

  3. 3

    The table of contents requires show_table_of_contents = "true" in the article front matter, and the updated date requires content-updated-date = "YYYY-MM-DD"

  4. 4

    Code highlighting uses Hugo’s built-in Chroma on the server side; the theme does not include highlight.js

  5. 5

    The code is MIT-licensed and may be used, modified, commercialized, and distributed for free; when distributing, retain the copyright notice and the full MIT license notice. Third-party assets such as demo images, fonts, and icons must be checked separately under their own licenses

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version in the public repository under the MIT license; the free scope is the code of that version and does not mean external services or third-party assets are free.

Must comply with when using

  • The code of this version may be used, modified, commercialized, and distributed for free.
  • 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

  • The math feature relies on KaTeX, and the README notes that it is currently loaded via a third-party CDN, which is an external service dependency and may fail to render offline or in restricted network environments.
  • The theme includes Google Analytics support; enabling it requires providing your own Google Analytics account and tracking ID and is subject to Google’s terms of service.
  • At build time, third-party CSS/JS dependencies are fetched via Hugo Pipes; the build environment must be able to access the corresponding sources, otherwise the build may fail.
  • Demo images, fonts, icons, and other third-party assets must be checked under their own licenses and cannot be judged solely by 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

Supports math using KaTeX - `$ x = \frac{-b\pm\sqrt{b^2-4ac}}{2a} $` - use `math = "true"` in front matter. (Note: Uses third party CDN - for now.)

Original README

Google Analytics.

Original README

Hugo Pipes is used to fetch third-party CSS and JS dependencies at the time you build the website, avoiding use of third-party CDN's.

Original README
https://github.com/LiaungYip/plain-blog/blob/master/LICENSEhttps://github.com/LiaungYip/plain-blog/blob/master/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-02. 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
Partly documented · 71 / 100
Technologies
Hugo
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
2026-05-14
Screenshot last checked
2026-10-02

No demo link is recorded. Use the repository instructions to evaluate the project locally; the screenshot alone cannot establish interactive behavior.

The catalog identifies Hugo 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: 8f152f28bfb9bbf18b038f78ace2806f4ef2e1a56711410b5b6386ec6919e405

2026-10-02T10:21:34.385Z

Source file / repository
# plain-blog

    minimal theme
    puts your content first
    refridgerator

See a live example at my website, [penwatch.net](//penwatch.net/).

Inspired by [qntm.org](//qntm.org) and [gizak/nofancy](https://github.com/gizak/nofancy).

Looking for a Hugo documentation theme with a similar focus on minimal functionality? Try [`plain-docs`](//github.com/LiaungYip/plain-docs/).

## Screenshots

![](https://raw.githubusercontent.com/LiaungYip/plain-blog/master/images/screenshot.png)

## Features

* Pages load FAST FAST FAST. (First page overhead: ≈40 kB. Subsequent page overhead: ≈3 kB.)
* Responsive - looks great on desktop or mobile.
* High contrast - black text, on a white background, with blue links.
* Minimal Javascript. Hardly cares if JS is disabled.
* Supports your choice of taxonomies: categories, or tags, or series, or all three at once.
* Google Analytics.
* Top and bottom menus.
* Printable - headers, footers, and menus disappear when you hit the "Print" button.
* Table of contents - use `show_table_of_contents = "true"` in front matter.
* Intentional "Updated" date - add `content-updated-date = "YYYY-MM-DD"` in front matter to show an updated date alongside the posted date. Omitting it suppresses the "Updated" label entirely, so spurious file-modification timestamps don't appear.
* Hugo Pipes is used to fetch third-party CSS and JS dependencies at the time you build the website, avoiding use of third-party CDN's. (See https://github.com/gohugoio/hugoThemes/issues/668 .)
* Supports math using KaTeX - `$ x = \frac{-b\pm\sqrt{b^2-4ac}}{2a} $` -  use `math = "true"` in front matter. (Note: Uses third party CDN - for now.)

## Things omitted

My goal is to load the first page in 50kB or less.

That means I've left out anything that wasn't needed. Some things I omitted include:

* jQuery (30kB compressed)
* highlight.js (100kB compressed) - use Chroma for [server-side highlighting](https://gohugo.io/extras/highlighting/) instead.
* Web fonts (e.g. 200kB for Proxima Nova and Source Code Pro)
* Icons, i.e. font-awesome (70 kB compressed)

## Libraries used

* [`purecss`](https://purecss.io/) ([License](https://github.com/yahoo/pure/blob/master/LICENSE.md))
* [`timeago.js`](https://github.com/hustcc/timeago.js) for fuzzy timestamps - "just now", "4 days ago", "2 years ago". (MIT License)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.