Hugo Linen is a Hugo Extended theme that ports the Linen reading experience from hexo-theme-linen into Hugo layouts, shortcodes, and taxonomies for long-form posts, image galleries, and short-form moments.
What is Hugo Linen?
Hugo Linen is a Hugo static-site theme, a port of the Hexo theme Linen originally created by LynanBreeze and adapted to Hugo by zenpe. It takes standard Hugo content directories — Markdown files with front matter for posts, pages, and moments — and produces a static site with a clean reading layout, series taxonomies, image grids, and RSS output. The theme requires Hugo Extended version 0.163.2 or newer and is configured through params in hugo.toml.
What makes Hugo Linen stand out?
- Moments stream — A separate short-form content channel organized by year and month, with a paginated list page and monthly and yearly archive pages; moments accept normal Markdown plus image grids.
- Series as a taxonomy — The series field is implemented as a real Hugo taxonomy, so readers can browse all posts in a series through Hugo's standard term pages.
- image-grid shortcode — Groups multiple images into a gallery block; list pages group PhotoSwipe images per moment item rather than across the whole page.
- Wide front-matter support — Pages can set cover, coverInfo, thumbnail, excerpt, series, tags, categories, appendRawMarkdown, tocType, customComments, translations, hide.recent, hide.archive, donates, sponsors, ageWarning, and copyright.
- Raw Markdown display — When appendRawMarkdown is enabled, the theme shows the raw content of a page; an optional param can point to preserved source Markdown files instead of converted Hugo content.
- Param-driven UI — The theme reads params including logo, info, navItems, topArticles, feed, siteOriginLocaleMap, rawMarkdownSourceDir, comment, photoswipe, lazyload, and moments.paginate from hugo.toml.
- Example site included — The repository ships an exampleSite that runs directly with hugo server for previewing.
Who should use Hugo Linen?
- Bloggers on Hugo who want a minimal, reading-focused theme that follows Hugo conventions rather than a lock-in page builder.
- Photographers and visual writers who need image-grid galleries and touch-friendly PhotoSwipe viewing inside posts.
- Maintainers of short-form journals who want a moments feed separate from the main archive, organized as year and month subdirectories.
- Hexo Linen users migrating to Hugo who want to keep the Linen look and add Hugo-native taxonomy and shortcode behavior.
Use cases
- Personal writer: Publish series-based articles with cover images, tags, and per-page table-of-contents type control.
- Photography diary: Embed landscape image groups via the image-grid shortcode and let visitors view them with PhotoSwipe.
- Microblog feed: Keep quick notes under content/moments with year and month _index.md files and let the theme paginate the moments page.
- Site migration: Replace a Hexo installation with Hugo while retaining a similar Linen reading experience through this direct port.
FAQ
What Hugo version does Hugo Linen require?
Hugo Linen requires Hugo Extended version 0.163.2 or newer. The repository does not support older Hugo versions or the non-extended build.
How do I install Hugo Linen?
Add it as a git submodule from https://github.com/zenpe/hugo-theme-linen into the themes directory, then set the theme name in hugo.toml. The built-in example site can be served with hugo server using the exampleSite source directory.
How are Moments structured?
Moments live under the content/moments directory. The recommended layout nests year and month: for example an _index.md inside content/moments/2026 and another inside content/moments/2026/06, with individual note files below. Set the main page's page size with the moments.paginate param.
Does Hugo Linen expose comment, PhotoSwipe, and lazy-loading options?
Yes — the theme provides params for comment integration, PhotoSwipe, and lazy loading in hugo.toml. The image-grid shortcode and moments lists use PhotoSwipe to group images on list pages.
Alternatives
- hexo-theme-linen — The original Hexo theme by LynanBreeze on which Hugo Linen is based; use it if you want the same design while staying on the Hexo generator.







