Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A clean, responsive Hugo blog theme built on GitHub's Primer CSS design system with dark mode, i18n, and LLM-friendly output.

A bento-styled, minimalism, personal blog theme for Astro, inspired by Astro Air.

A simple, responsive Jekyll blog theme based on maupassant-jekyll

A minimal Jekyll theme with an app-like layout, built for image-heavy journal websites.

Hexo blog theme designed to make Japanese text more readable and beautiful.
Hugo Primer Blog is an open-source Hugo theme for building clean, responsive blogs on GitHub's Primer CSS design system, maintained by Atsushi Nagase and released under the MIT License.
Hugo Primer Blog is a theme for the Hugo static site generator that converts Markdown content into a blog with an optional sidebar, dark mode, multilingual support, and GitHub-style typography. It supports Hugo v0.146.0 or later (Extended not required) and can be installed as a Hugo Module from the vanity import path go.ngs.io/hugo-primer-blog or as a Git submodule from the GitHub repository ngs/hugo-primer-blog. The theme outputs a fully static site, and with the optional LLMS and Markdown output formats it also produces a llms.txt index and raw Markdown versions of every page for LLM consumption.
defaultTheme parameter.hugo.toml with per-language content directories, and one llms.txt is generated per language.params.primaryColor to override the default GitHub blue #0969da; the theme generates appropriate light and dark shades automatically.params.sidebar and compose it from ordered modules for recent posts, tags, categories, archive, links, or your own custom partials.LLMS and Markdown output format definitions and templates; you opt in per site with the home = ["HTML", "RSS", "LLMS"] and page = ["HTML", "Markdown"] output lists.ogp front matter recursively becomes meta tags (e.g. profile:first_name), arrays produce repeated properties, and defaults for og:* are auto-generated unless overridden.Hugo Primer Blog suits anyone who wants a GitHub-styled blog with minimal setup. That includes:
llms.txt indexes.googleAnalyticsID.LLMS and Markdown outputs to feed a blog's content into AI agents or retrieval pipelines without scraping HTML.Install the theme as a Hugo module or submodule, then add your content as Markdown files in a content/en/posts/ (or content/ja/posts/) directory. Front matter fields like title, date, tags, categories, author, description, and image control how each post renders. Run hugo and the theme generates a static site; if you enabled the extra output formats, it also writes llms.txt and per-page index.md files into the public/ directory.
outputs block in your site config, because Hugo does not inherit the outputs key from themes.Free — the theme is released under the MIT License, which permits commercial use, modification, and redistribution.
Yes. The theme is open source under the MIT License, so you can use it for personal or commercial projects without paying a license fee, as long as you preserve the copyright notice.
No. The theme works with Hugo v0.146.0 or later, and the standard (non-Extended) build is sufficient because all asset processing is handled by Hugo Pipes, which is built into Hugo.
Dark mode is automatic by default: the theme detects the visitor's system preference. You can override it per visitor with a manual toggle on the site, or set the default theme in your config with params.defaultTheme to "auto", "light", or "dark".
Add an outputs block to your site's hugo.toml with home = ["HTML", "RSS", "LLMS"]. The theme already defines the LLMS output format and its template, so no other configuration is needed; multilingual sites get one llms.txt per language.
Yes. Set params.primaryColor to any hex color, for example "#8250df" for purple. The default is GitHub's blue #0969da, and the theme derives matching shades for light and dark modes automatically.