Back to Zola

Terminus

docs/content/themes/terminus/index.md

0.22.13.7 KB
Original Source

+++ title = "terminus" description = "A dark duotone retro theme for Zola" template = "theme.html" date = 2026-03-07T15:47:17+01:00

[taxonomies] theme-tags = ['dark', 'blog', 'minimal', 'personal', 'responsive', 'seo']

[extra] created = 2026-03-07T15:47:17+01:00 updated = 2026-03-07T15:47:17+01:00 repository = "https://github.com/ebkalderon/terminus.git" homepage = "https://github.com/ebkalderon/terminus" minimum_version = "0.22.0" license = "MIT" demo = "https://ebkalderon.github.io/terminus/"

[extra.author] name = "Eyal Kalderon" homepage = "https://eyalkalderon.com" +++

Terminus

An accessible Zola theme with a dark color scheme and retro computer terminal-like vibe, multi-language support, zero required JavaScript, pretty font ligatures, and a perfect baseline Lighthouse score.

Try the demo now: https://ebkalderon.github.io/terminus/

Terminus is largely a port of Radek Kozieł's Terminal Theme for Hugo but with several key differences. Credit to the zerm and tabi themes for inspiring some of these changes.

  • Better accessibility (WCAG 2.2 Level AA minimum target)
  • Mobile-first design with improved responsiveness
  • Social media icons in footer
  • Support for GitHub-style alerts
  • SEO friendly (better OpenGraph support, will add Schema.org eventually)
  • No post image previews for a cleaner look

Features

Getting Started

Manual Installation

  1. Initialize a Git repository in your Zola project directory, if you haven't already:
    bash
    git init
    
  2. Add the theme as a Git submodule:
    git submodule add https://github.com/ebkalderon/terminus.git themes/terminus
    
  3. Enable the theme in your config.toml:
    toml
    theme = "terminus"
    
  4. Set a website title in your config.toml:
    toml
    title = "Your Site Title"
    
  5. Create a text file named content/_index.md. This file controls how your home page looks and behaves. Choose exactly one of the following options:
    1. Serve blog posts from /:
      markdown
      +++
      title = "Home"
      paginate_by = 5  # Show 5 posts per page.
      +++
      
    2. Serve posts from a different path, e.g. blog/:
      markdown
      +++
      title = "Home"
      
      [extra]
      section_path = "blog/_index.md"  # Where to find your posts.
      max_posts = 5  # Show 5 posts and a link to blog section on home page.
      +++
      

Updating Terminus

To update the Terminus theme as a Git submodule, run:

bash
git submodule update --remote themes/terminus

License

This project is licensed under the terms of the MIT license.