Skip to content
Tartarus

Customization

Change the look, add partials and extend the framework without forking.

On this page

Template overriding

Tartarus is a normal Hugo theme, which means Hugo's lookup order does the work: a file in your project wins over the same path in the theme.

text
layouts/partials/footer.html        ← yours, wins
themes/tartarus/layouts/partials/footer.html

Copy the partial you want to change, edit it, and leave the rest of the framework untouched so upgrades stay boring.

Extension points

FilePurpose
layouts/partials/head-extra.htmlFonts, analytics, extra meta — rendered last in <head>
assets/css/main.cssDesign tokens and component styles
layouts/partials/icons/*.htmlAdd an icon by dropping in its SVG paths

Adding an icon

Each icon file holds only the inner SVG paths — the wrapper supplies the viewBox, stroke and sizing. To add Lucide's rocket:

html
<!-- layouts/partials/icons/rocket.html -->
<path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91 0"/>
<path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"/>

Then use it anywhere:

go-html-template
{{ partial "icon.html" (dict "name" "rocket" "class" "size-4") }}

Custom shortcodes

Shortcodes live in layouts/shortcodes/. A minimal one:

go-html-template
{{/* layouts/shortcodes/version.html */}}
<code class="tt-version">{{ site.Params.version }}</code>
md
Tartarus {{< version >}} requires Hugo 0.146.

Top-level links come from Hugo's menu system:

toml
[[menu.main]]
  name = "API"
  pageRef = "/api"
  weight = 30
toml
[[params.social]]
  name = "GitHub"
  icon = "github"
  url = "https://github.com/acme/docs"
  navbar = true       # also show it in the navbar

icon must match a file in layouts/partials/icons/.

Searching…

No results for “

Type to search the documentation.