Indiepaper is a monochrome, brutalist Hugo blog theme built for IndieWeb compliance and accessibility, turning Markdown files into a fast static website with built-in webmention and microformats2 support.
What is Indiepaper?
Indiepaper is a free, open-source theme for the Hugo static site generator developed by Berry House. It takes Markdown content written for the post and notes content types as input and produces plain semantic HTML output — with layouts for single posts, list pages, the homepage, and feeds. The theme is styled entirely in one CSS file with a pure black-and-white palette and requires no client-side JavaScript for core browsing or reading.
Key Features
The feature set targets four concrete outcomes: a monochrome visual identity, WCAG 2.1 AA accessibility, IndieWeb data markup, and lightweight performance.
- Design system — A monochrome palette from black to white with no embedded fonts; headings use a geometric humanist sans-serif stack (Avenir, Montserrat, Corbel), body text an old-style serif (Iowan Old Style, Palatino Linotype), and code a monospace stack such as ui-monospace.
- Accessibility — WCAG 2.1 AA compliance from the base layer, with semantic HTML5 structure, ARIA landmarks, skip links, focus indicators, and 4.5:1 text contrast.
- IndieWeb utilities — Microformats2 markup for h-card, h-entry, h-feed, and h-cite, a webmention.io integration that renders mentions on posts, and POSSE syndication links supported in content front matter.
- Feed formats — Automatic RSS, JSON, and Atom generation from the theme's list templates.
- Smolweb performance — Single CSS file, no JavaScript required, no external font requests; the page displays Lighthouse badges claiming 100% in performance, accessibility, best practices, and SEO.
- Installation options — Install via Hugo Modules (hugo mod get github.com/brennanbrown/indiepaper), as a git submodule, or by cloning the theme into the themes directory.
- Content variety — Dedicated layouts for regular blog posts and short notes, plus an image shortcode that adds alt text, captions, and optional links to full-size assets.
- Print styles — Clean print CSS with proper page breaks for paper-friendly output.
Who is it for?
This theme serves Hugo bloggers who care about the IndieWeb, minimal performance budgets, or print-friendly output.
- IndieWeb publishers — Writers who want h-card and h-entry rich sites that can receive webmentions and display responses without a separate framework.
- Smolweb-minded bloggers — People looking for a no-JS, font-free, single-file-stylesheet theme that renders instantly on low-end devices.
- Agencies building client blogs — Teams using Hugo can fork this theme as a starting point; its small layout structure and AGPL-3.0 license keep downstream use transparent.
- Self-hosting authors — Bloggers who want to own their content while cross-posting through POSSE; the notes content type covers short microblog-style updates.
Use cases
Concretely, Indiepaper enables these workflows based on its built-in features and content types.
- Independent writers: Publish a blog where all formatting comes from semantic Markdown and enable webmention replies without configuring a comment server.
- Microbloggers: Use the notes content type to publish tweet-length updates; the theme styles them as a stream separate from full articles.
- Open source developers: Run the included npm-based checks in the exampleSite, which test HTML validity, CSS linting, microformats2, feeds, and accessibility as part of CI.
How does Indiepaper work?
Install the theme with one of the three supported methods, then set the Hugo theme variable and add author and IndieWeb endpoint values in the site configuration. Drop Markdown files into content/post or content/notes, and run hugo server -D to preview or hugo to build the static output. Webmentions are fetched and displayed automatically once the webmention.io endpoint and API values are configured.
FAQ
Is Indiepaper free?
Indiepaper is published under an AGPL-3.0 license, so it is free to download and reuse. No paid version or tier is listed on the theme page; Berry House offers design and development services as a separate business offering.
Does Indiepaper need JavaScript?
No. The core theme renders blog posts, lists, and navigation with only a single stylesheet and static HTML. Additional services like webmention.io are integrated through HTML rather than required front-end scripts.
How do I configure webmentions?
In the Hugo configuration, set the webmention endpoint (for example, https://webmention.io/yourdomain/webmention), the webmention API URL, and the IndieAuth token endpoint. After claiming the domain on webmention.io, the theme displays received responses on individual post pages.
What content types are included?
The theme supports regular posts in content/post and short microblog notes in content/notes. Both types use front matter for summary, tags, categories, and optional image and syndication metadata, and both appear in the site's RSS, JSON, and Atom feeds.








