hugo-brewm is an open-source Hugo theme for building fast, accessible blogs and digital gardens that work with or without JavaScript.
What is hugo-brewm?
hugo-brewm is a Hugo theme created by foxihd, released under the MIT License, that turns Markdown content into a static website with a reader-first design and graceful degradation. It requires Hugo version 0.141.0 or newer and includes an example site for reference. The theme produces a fully static site with no mandatory JavaScript, and it can run in terminal browsers like Lynx or W3M. It is intended for blogs, personal websites, and digital gardens with multi-author and multilingual support; it originated from the author's tiny coffee business and includes a configurable coffee statistic parameter.
Key Features
- Frameworkless assets — The combined first-party CSS and JavaScript total under 140KB, compress to less than 55KB with Gzip, and are reusable across thousands of pages until cache expires.
- Graceful degradation — The site remains fully functional with JavaScript disabled, uses improved semantic HTML5 and WAI-ARIA attributes, and is printer-friendly and RSS/reader-mode optimized.
- No trackers by default — The theme ships without cookie consent banners, analytics, or advertisements; any analytics must be added manually via a custom partial.
- Multilingual and multi-author — Translations exist for English, Bahasa Indonesia, Català, Deutsch, Español, Español (México), French, Hindi, and Português (Brasil); author and co-author taxonomies organize content.
- Multiple comment systems — Comments can be powered by Giscus or Fediverse conversations from Mastodon and Bluesky, loaded only when required via fediscuss.min.js.
- Search with fallback — Optional Pagefind integration for client-side search, with a no-JS fallback searchbox using Mojeek or DuckDuckGo.
- Math and code support — KaTeX or MathJax engines render math, highlight.js colors code fences, and a network-graph shortcode uses d3.v7.
- Accessible reading modes — Users can switch fonts, colors, light/dark themes, BionRead, and an OpenDyslexic typeface; a focus mode is included.
Who is it for?
- Independent bloggers — Publish a fast, privacy-respecting site without trackers or cookie banners, with RSS feeds for readers.
- Digital gardeners — Build a growing knowledge base with taxonomies, series, multi-author contributions, and section-level RSS subscriptions.
- Fediverse enthusiasts — Connect article comments to Mastodon and Bluesky threads and verify a Fediverse profile via theme settings.
- Accessibility-focused organizations — Provide an inclusive reading experience for people using screen readers, keyboard navigation, or legacy and terminal browsers.
What can you do with hugo-brewm?
- Publish math-heavy tutorials: Enable KaTeX or MathJax delimiters in the Markdown configuration and write equations with standard LaTeX math delimiters.
- Create a multi-author magazine: Use the author taxonomy, co-author metadata, and category/tag/series taxonomies to organize content and feature listings on the home page.
- Offer content for offline and RSS readers: The static output works in RSS readers like Pulp and terminal browsers like Lynx; each section or term can be subscribed via RSS.
- Design a custom visual identity: Adjust accent, background, foreground and midtone colors for light and dark modes, override flowlines illustrations, and choose from nine included web fonts.
How does hugo-brewm work?
Installation is done by adding the theme as a Git submodule and setting the theme name in config.toml. To preview, run hugo serve --minify --gc --port=8080; for production, run hugo --minify and optionally index search with npx pagefind --site "public". The theme can be updated with git submodule update --remote --merge themes/hugo-brewm.
FAQ
Is hugo-brewm free?
Yes, hugo-brewm is released under the MIT License, so it is free to use, modify, and distribute. The developer accepts GitHub Sponsorships but does not charge for the theme.
Does hugo-brewm work with JavaScript disabled?
The theme is designed with graceful degradation. With JavaScript disabled, the site remains fully functional, including comments via Fediverse, the fallback searchbox, and readable content in terminal browsers such as Lynx or W3M.
What are the browser requirements?
The theme targets browsers from 2019 or later and intentionally does not support Internet Explorer or Opera Mini. It uses a CSS baseline of 2020 and JavaScript baseline of 2019.
hugo-brewm supports Giscus (GitHub Discussions) and Fediverse comments from Mastodon and Bluesky. Configuration is done via the giscus and fediverse sections in config.toml.
How often should I update the theme?
The project is entering a slow development stage but the README recommends keeping it up-to-date for better performance and resource efficiency. Updates are applied via git submodule update --remote --merge themes/hugo-brewm.
