Suckless

This is a plain Zola theme.

It is fast, text-first, dependency-light, and openly hostile to ornamental nonsense.
No JavaScript. No remote fonts. No decorative sludge pretending to be craft.

If you need gradients, hero banners, floating glass panels, scroll theatrics, or some fragile little front-end shrine to your own taste, use another theme and leave this one alone.

Suckless screenshot

Contents

Installation

Put the theme in your site's themes/ directory:

cd themes
git clone https://github.com/enzv/zola-suckless-theme.git suckless

Then enable it in your site's zola.toml:

theme = "suckless"

That is the whole installation story. It is a theme, not a lifestyle.

This repository also includes a root zola.toml plus sample content so the theme can be developed and previewed directly.

Development

Run the demo site:

zola serve

Check that the content and templates are sane:

zola check

Build the site:

zola build

If this repo stops building, the problem is not hiding inside a circus of bundlers, loaders, transpilers, and post-whatever ceremony. It is in the content, the config, or the templates. Good. That means you can actually find it.

Options

All theme settings live under [extra].

[extra]
brand_name = "example.org"
brand_href = "/"
brand_logo_src = ""
brand_logo_alt = ""
archive_section_path = "posts/_index.md"
archive_base_url = "/posts/"

utility_nav = [
  { text = "source", href = "https://example.org/source" },
]

primary_nav = [
  {
    text = "home",
    href = "/",
    secondary_nav = [
      { text = "about", href = "/about/" },
      { text = "contact", href = "/contact/" },
    ],
  },
  { text = "posts", href = "/posts/" },
  { text = "notes", href = "/notes/" },
]

Brand

Every navigation item needs text and href. That is it. No magic menu builder. No fake intelligence. No guessing what your site meant to be.

Archive section

If your archive section is not /posts/, change both values. If you do not have an archive section, do not cosplay as a publication.

Expected content structure

The theme works best when the site has:

The theme does not auto-generate navigation from sections because auto-generated navigation usually turns into lazy clutter dressed up as convenience.

Shortcodes

The theme ships with a small set of shortcodes and stops there:

See content/posts/2017-03-11-shortcodes-and-media.md for examples.

What this theme is

theme.toml includes default extra values so the theme can boot with minimal setup, but any real site should override them immediately. If you ship the defaults unchanged, that is on you.