LogoTemplate0
Logo of hugo-theme-sigil on template0.com

hugo-theme-sigil

A minimal literary Hugo theme with Tufte-style sidenotes, a three-ink palette, and CJK font subsetting, forked from PaperMod.

Introduction

hugo-theme-sigil is a minimal literary Hugo theme that renders Markdown content on an old-paper background using a strict three-ink color system — vermilion, ink-green, and amber — and nothing else. It is a deep customization of PaperMod, distributed under the MIT license by GitHub user ouatis, and requires Hugo v0.156.0 or newer.

What is hugo-theme-sigil?

hugo-theme-sigil is a Hugo theme that turns Markdown posts plus a hugo.toml configuration file into a static, typography-focused blog. It runs on Hugo v0.156.0 and later, is written and maintained by ouatis, and ships under the MIT license as a separate, heavily modified fork of PaperMod rather than as an upstream pull request. The output is a static site with a homepage hero and seal, posts, taxonomies, archives, RSS, and client-side search.

What makes hugo-theme-sigil stand out?
  • Tufte-style sidenotes — footnotes are cloned into the margin beside their reference on screens 1280px and wider, and fall back to endnotes on narrow screens; no param is needed.
  • Circular-reveal theme toggle — dark mode opens as a circle expanding from the click point through the View Transitions API, with a soft transition where that API is unsupported.
  • Ghost-year archives — the archives page sets each year as a large background numeral instead of a heading row.
  • Full-text RSS — the ShowFullTextinRSS param puts whole articles in the feed instead of summaries.
  • CJK font subsetting — bash and Python scripts (scripts/build-fonts.sh, scripts/build-fonts.py) emit IBM Plex woff2 slices keyed by unicode-range, so Chinese and Japanese readers download kilobytes rather than megabytes.
  • Three-color system — vermilion responds, ink-green informs, amber highlights; those are the only colors in the design.
  • PaperMod essentials retained — Fuse.js search, taxonomies, breadcrumbs, table of contents, code copy buttons, and Open Graph / Twitter / Schema metadata.
  • Built-in i18n — ships with zh-CN, English, and Japanese strings, plus a disableLangToggle param and an optional ShowDefaultLanguageContent mode for translated-UI, single-content sites.
Who should use hugo-theme-sigil?
  • Technical writers and essayists publishing long-form Markdown who want footnotes rendered as margin notes and a restrained paper-and-ink palette.
  • Chinese and Japanese bloggers who need IBM Plex CJK text without shipping multi-megabyte font files, using the bundled subsetting scripts.
  • Existing PaperMod users who want Tufte sidenotes, ghost-year archives, and a circular-reveal dark-mode toggle without changing static-site generators.
  • Developers deploying via CI — the recommended install path is a git submodule, which suits automated build pipelines.
Use cases
  • Literary bloggers: publish essays with footnote references set in the margin and deliver full articles through RSS using ShowFullTextinRSS.
  • Multilingual publishers: run a zh-CN, English, or Japanese site with translated UI strings, or set ShowDefaultLanguageContent to list the default language's posts on translated home, archive, search, and RSS pages.
  • Writers tracking readership: show a cumulative page-view counter in the footer by supplying a data/analytics.json file with a total and a since date.
  • Homepage customizers: override the hero with sgKicker, sgHomeTitle, sgSealImage, and the rotating sgReading / sgPlaying / sgMotto status line, and cap posts per page with homePageSize.
How does hugo-theme-sigil work?

Install by adding the repository to themes/hugo-theme-sigil as a git submodule or a plain clone, then set theme = "hugo-theme-sigil" in hugo.toml and point baseURL at your own domain, since the example site ships with https://example.com/. Sidenotes, the ghost-year archive background, and the circular theme toggle need no configuration; optional params such as homePageSize, ShowTotalWords, and ShowAllPagesInArchive control the rest. Regenerate Simplified-Chinese and Japanese font slices with the bash or Python build-fonts script when needed — Latin IBM Plex fonts already ship in static/fonts/ibm-plex/latin/.

Pricing

Free and open source under the MIT license. Bundled dependencies keep their own licenses: IBM Plex fonts (SIL OFL 1.1), Phosphor Icons (MIT), and Fuse.js (Apache-2.0).

FAQ
Is hugo-theme-sigil free?

Yes. The theme is released under the MIT license, so you can use, modify, and redistribute it. Its bundled third-party assets carry their own licenses: IBM Plex under SIL OFL 1.1, Phosphor Icons under MIT, and Fuse.js under Apache-2.0.

What Hugo version does hugo-theme-sigil require?

It requires Hugo v0.156.0 or newer, per the minimum-version badge in the repository. You can install it as a git submodule into themes/hugo-theme-sigil or clone it directly, then set theme = "hugo-theme-sigil" in hugo.toml.

Does hugo-theme-sigil support Chinese and Japanese?

Yes. It ships with zh-CN, English, and Japanese strings, and its build-fonts scripts emit IBM Plex woff2 slices keyed by unicode-range. Only Latin IBM Plex fonts ship in the repository, so you must regenerate the Simplified-Chinese and Japanese slices yourself before CJK readers benefit.

Do I need to configure sidenotes or the dark-mode toggle?

No. Tufte-style sidenotes, the ghost-year archive background, and the circular-reveal theme toggle are automatic and require no parameter. Sidenotes only become margin notes on screens 1280px and wider, however — narrower screens show ordinary endnotes instead.

screenshot of hugo-theme-sigil on template0.com

Information

GitHub Info

  • Stars1
  • Last maintained2026/09/06
  • LicenseMIT
  • Primary languageHTML

Categories

Tags

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates