plague is a minimal Hugo theme that adds IndieWeb microformats such as h-card and h-entry to a design inspired by Jekyll's Minima and the Indigo theme.
What is plague?
plague is a Hugo theme created by Brian Reumere, distributed via GitHub at github.com/brianreumere/plague. It takes a Hugo site's content — Markdown pages, blog posts, and configuration in hugo.toml — and renders it with built-in microformats and two color schemes. The theme runs on any Hugo site and can be installed either as a Hugo module or as a Git submodule, with a demo site available at brianreumere.github.io/plague-demo-site.
Key Features
- IndieWeb microformats — Automatically includes h-card in the site footer and h-entry on single post pages, with social links carrying the
rel="me"attribute. - Two built-in color schemes —
defaultandgibson, each with automatic light/dark varieties based onprefers-color-scheme, plus forced variants likedefault-light,default-dark,gibson-light, andgibson-dark. - Flexible installation — Supports Hugo modules via
hugo mod initand a module import inhugo.toml, or a Git submodule underthemes/plaguewiththeme = "plague". - Customizable h-card — Configure
fullName, avatar, pronouns, location, and an array of social platforms; icons are SVG files you place in aniconsdirectory at your site root. - Accessibility-oriented — Aims to work with assistive technologies, using ARIA roles and
aria-hiddenattributes; the author cites WAVE and MDN accessibility docs as development resources. - Useful Hugo shortcodes — An
iconshortcode inlines decorative SVGs from youriconsfolder, and acalloutshortcode renders a paragraph with thecalloutclass and ARIAnoterole. - Flexible footer — Supports
siteFooterTextwith Markdown, rendered in a right-hand column next to the h-card. - Multiple page layouts — Homepage renders
content/_index.md, posts list viaposts/_index.md, standalone pages via astandalonelayout, and single posts using thesinglelayout.
Who is it for?
- IndieWeb enthusiasts who want their blog posts and author identity automatically marked up with microformats such as h-card and h-entry, making content interoperable with IndieWeb tools.
- Hugo users who prefer a minimal, Minima-inspired theme with two built-in color schemes and no JavaScript framework overhead.
- Accessibility-minded developers who need a theme that intentionally targets assistive technologies and includes ARIA roles in its markup.
- Self-hosters who want a personal blog with a simple setup, social icons, and location information in the footer without a heavyweight CMS.
What can you do with plague?
- Personal bloggers: Set up a blog with a
postssection, using filenames for post dates via the[frontmatter]configuration, and render the homepage fromcontent/_index.md. - IndieWeb publishers: Add your author h-card with full name, avatar, pronouns, and social links; the theme outputs
rel="me"links for verification. - Custom site builders: Use the
iconshortcode to inline SVG icons and thecalloutshortcode to highlight notes in your Markdown content. - Page variety: Start with a homepage, a list of posts, and standalone pages like contact, all controllable through menu weights in front matter.
How does plague work?
Install the theme via Hugo modules or as a Git submodule, then configure hugo.toml with the required baseURL, languageCode, title, module import, and [params] values. The theme reads the h-card data from [params.hcard], applies the chosen color scheme, and renders microformats in the footer and on single posts. Social icons are loaded from SVGs stored in the icons directory, with the %s placeholder in url_pattern replaced by your identity.
FAQ
What color schemes does plague offer?
plague includes two built-in color schemes: default and gibson. Each has light and dark varieties that are automatically selected based on the visitor's prefers-color-scheme setting. You can force a specific variety by setting colors to values like default-light, default-dark, gibson-light, or gibson-dark.
Does plague support microformats?
Yes. plague implements IndieWeb microformats, including h-card for the author in the site footer and h-entry on single post pages. The h-card supports full name, avatar, pronouns, location, and social links, and social links include the rel="me" attribute.
How do I add social icons to the h-card?
Place an SVG file in the icons directory at the root of your Hugo site. The filename should match the platform value you set in the social array inside [params.hcard]. The theme builds the link using the url_pattern, substituting %s with your identity value.
Can I use plague with Hugo modules?
Yes. Initialize your repo with hugo mod init, then add a module.imports entry in hugo.toml pointing to github.com/brianreumere/plague. Alternatively, add the theme as a Git submodule and set theme = "plague".








