Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Hugo theme with NES/FC retro pixel style inspired by classic 8-bit RPGs.

Calligraphy is a Hugo theme focused on the beauty and readability of content.

An Eleventy blog template with Tailwind CSS, Nunjucks templating, Prism highlighting, and GitHub Pages deployment.

A Jekyll theme with LaTeX typography, MathJax support, and academic content blocks for GitHub Pages.

A developer blog starter built on Next.js, React, and TypeScript that generates a static site from Markdown files.
hugo-trainsh is a Hugo theme that turns static blogs into a retro NES/FC pixel experience while keeping reading content primary. Built by Binbin Shen and available on GitHub, it ships with a Retro mode by default plus Light and Dark modes toggled from the header.
hugo-trainsh is a minimal, content-first theme for Hugo static site generators. It takes Markdown content from your site's post directory (configured via the mainSections parameter, such as ["posts"] or ["blog"]) and renders it as a static site with an 8-bit RPG-inspired pixel aesthetic. The theme is created by Binbin Shen and hosted at github.com/binbinsh/hugo-trainsh, with a live demo at hugo-trainsh.pages.dev.
/blog/ page grouped by year (enabled by creating content/blog/_index.md) and /tags/ taxonomy pages.{{< toc >}}, {{< tags >}} (with optional sort="freq" limit="20"), and {{< recent-posts limit="5" >}}.git submodule add and configures with two lines in your site config (theme = "hugo-trainsh" and mainSections).content/blog/_index.md to enable a /blog/ page that groups posts by year, with /tags/ pages for topic navigation.{{< toc >}} for a table of contents, {{< tags >}} to display tag lists, and {{< recent-posts limit="5" >}} for recent entries.["HTML", "RSS", "JSON"] in Hugo config to generate a JSON version of the homepage for custom index or search features.You install the theme as a Git submodule, then set theme = "hugo-trainsh" in your Hugo config. Set the mainSections parameter to match your content directory (for example, ["posts"] for content/posts/), create content/blog/_index.md if you want the /blog/ archive, and Hugo builds the site with the theme's templates. The Quick Start in the README walks through all steps.
Yes, the theme is open-source and available on GitHub at github.com/binbinsh/hugo-trainsh. You can clone it or add it as a submodule to your Hugo project.
It includes three theme modes: Retro (default), Light, and Dark. A header toggle cycles between them with a gamepad, sun, and moon icon respectively.
The Fusion Pixel 12px font has per-language variants for Simplified Chinese, Traditional Chinese, Japanese, and Latin, so multilingual sites render with matching pixel styling.
Create a file at content/blog/_index.md. The theme's /blog/ page then appears with posts grouped by year.
