HugoPortfolioBlog

tirra — Hugo Portfolio Template

By himloul

tirra is an MIT-licensed Hugo theme for writing and digital gardens, publishing Markdown files and folders under content/ directly as pages.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-01View source

What stands out

A quick read of the recorded project description.

01

Markdown files and folders under content/ are published directly as pages, with folder pages including breadcrumb navigation

02

Reading aids include a narrow-column layout, table of contents, reading time, progress bar, and back-to-top

03

Writing supports server-side KaTeX, mermaid code blocks, and `> [!type]` callouts

04

Built-in dark mode, Ctrl+K full-text search, heading anchors, JSON-LD, and Open Graph metadata

05

Offline reading and installable app capability via service worker and manifest

Template Details

tirra is a Hugo theme positioned by its author as a digital garden for writing. Site content is organized as Markdown files: notes, folders, and posts are all published as pages, and folders under content/ become pages with breadcrumb navigation, so an Obsidian vault can be placed in as-is. The theme name tirra (ⵜⵉⵔⵔⴰ) means "writing" in Tamazight.

For reading, the theme provides a narrow-column layout, table of contents (TOC), reading time, progress bar, and back-to-top. For writing, it supports plain Markdown and server-side rendering of KaTeX formulas, mermaid code blocks, and callouts in the form `> [!type]`. Site basics include dark mode (follows the system and remembers manual toggles), full-text search (Ctrl+K), offline reading and installable app via service worker and manifest, heading anchors, and JSON-LD and Open Graph metadata.

There are clear usage constraints: Hugo ≥ 0.146.0 is required; installation requires adding the theme as a git submodule under themes/tirra and setting theme = "tirra" in the configuration along with _merge = "deep" under [markup], otherwise the theme's markup defaults will not take effect. To get started, copy exampleSite/, change baseURL and title, and delete the demo posts; palette, fonts, width, and search parameters are under [params.theme] in hugo.toml, and the palette and callout colors come from assets/css/main.css by default, so you only need to override the keys you want to change.

HugoPortfolioBlog

Is it right for your project?

Use Cases

  • Publishing an Obsidian vault as-is under content/ as a digital garden
  • Writing notes and articles in Markdown with reading aids such as table of contents and reading time
  • Inserting math formulas, mermaid diagrams, and callouts into articles
  • Static sites that need dark mode, full-text search, and offline reading

Suitable For

  • Writers using Hugo who want to organize content as Markdown folders
  • People with an existing Obsidian note vault who want to publish it directly as a website
  • Sites that need writing enhancements such as KaTeX, mermaid, and callouts

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Requires Hugo ≥ 0.146.0

  2. 2

    Install as a git submodule: git submodule add https://github.com/himloul/tirra.git themes/tirra

  3. 3

    Set theme = "tirra" in the configuration and set _merge = "deep" under [markup], otherwise the theme's markup defaults will not take effect

  4. 4

    Copy exampleSite/ as a starting point, change baseURL and title, and delete the demo posts

  5. 5

    Palette, fonts, width, and search parameters are adjusted under [params.theme] in hugo.toml; the palette and callout colors come from assets/css/main.css by default

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use, and distribution of this version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as-is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Using this theme requires Hugo 0.146.0 or later; Hugo versions below this cannot build the site properly.
  • You must set _merge = "deep" under [markup] in the configuration, otherwise the theme's built-in markup defaults will not take effect.
  • The official installation method is to add the theme as a git submodule under the themes/tirra directory and set theme = "tirra" in the configuration.
  • To get started, copy exampleSite/ as a base, change baseURL and title, and delete the demo posts within it.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

Requires Hugo ≥ 0.146.0

Original README

`_merge = "deep"` is required for the theme's markup defaults to apply.

Original README

git submodule add https://github.com/himloul/tirra.git themes/tirra

Original README

Copy `exampleSite/` - a working demo of everything — edit `baseURL` and `title`, delete the demo posts.

Original README
https://github.com/himloul/tirra/blob/main/LICENSEhttps://github.com/himloul/tirra/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 88 / 100
Technologies
Hugo
Website type
Portfolio · Blog
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-08-26
Screenshot last checked
2026-10-01

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Hugo as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 1175f5750b659356aeb238816c5a0a917195bc62121b3343922be9c5dd2a0a93

2026-10-01T01:20:15.347Z

Source file / repository
# tirra



A Hugo theme for a digital garden. Your whole site is a folder of Markdown files:
notes, folders, and posts publish as pages. Nothing else to build.

*tirra* (ⵜⵉⵔⵔⴰ) means "writing" in Tamazight.

Demo: https://tirra-hugo.pages.dev/ · Requires Hugo ≥ 0.146.0

## Screenshots

<p align="center">
  <img src="https://raw.githubusercontent.com/himloul/tirra/main/images/sc.png" alt="Home, desktop" width="72%">
  <img src="https://raw.githubusercontent.com/himloul/tirra/main/images/sc-grid.png" alt="Articles, Grid" width="24%">
</p>

## What you get

- **Reading:** narrow column, TOC, reading time, progress bar, back-to-top
- **Writing:** plain Markdown with server-side KaTeX, `mermaid` fences, and `> [!type]` callouts
- **Navigation:** folders under `content/` become pages with breadcrumbs — an Obsidian vault drops in as-is
- **Web basics:** dark mode (system + remembered toggle), full-text search (`Ctrl+K`), offline reading + installable app (service worker + manifest), heading anchors, JSON-LD and Open Graph meta

## Install

```sh
git submodule add https://github.com/himloul/tirra.git themes/tirra
```

```toml
theme = "tirra"

[markup]
  _merge = "deep"
```

`_merge = "deep"` is required for the theme's markup defaults to apply.

## Start

Copy `exampleSite/` - a working demo of everything — edit `baseURL` and `title`, delete the demo posts. Palettes, fonts, width, and search tuning live under `[params.theme]` in `hugo.toml`. Palette and callout colors default to `assets/css/main.css`; set only the keys you want to override.

## License

MIT. See `LICENSE`.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.