Configuration

VaraPress uses standard Zola configuration plus a small set of theme-specific options under [extra]. Keep configuration explicit and boring: site metadata in zola.toml, content structure in content/, and theme customizations in [extra].

Minimal Configuration

Start with the project metadata and theme setting:

title = "My Project"
description = "A brief description of your project"
base_url = "https://example.com"
theme = "varapress"

compile_sass = false

# Your other config options..

compile_sass = false is intentional. VaraPress uses TailwindCSS and compiled CSS assets, not Sass.

Page Defaults

VaraPress is designed around three page surfaces:

SurfaceTemplateUse it for
Site indexlanding.htmlThe home page at content/_index.md
Regular contentblog.htmlStandard pages and future article/blog surfaces
Documentation pagesdocs.htmlStructured docs with sidebar and table of contents

The site index uses landing.html by default through templates/index.html; you do not need to set it on content/_index.md. Treat landing pages as a blank canvas composed from shortcodes.

All other pages use blog.html by default for convenience. Override template = "..." in front matter whenever a page or section needs a different shell, for example template = "docs.html" for documentation content or template = "blog.html" for blog content.

Theme Options

Add theme-specific values under [extra]:

[extra]
varapress_logo_light = "/brand/logo-black.svg"
varapress_logo_dark = "/brand/logo-white.svg"
varapress_favicon = "/favicon.svg"

If these values are omitted, VaraPress falls back to the official Varavel brand assets.

Syntax Highlighting

VaraPress includes the VDL grammar and is designed for GitHub-style dark code theme. Configure highlighting in zola.toml:

[markdown.highlighting]
theme = "github-dark"
extra_grammars = ["themes/varapress/grammars/vdl.json"]

If your site is the theme repository itself, paths may differ because the grammar lives at the repository root.

Content Structure

A practical site usually starts with this shape:

content/
  _index.md
  docs/
    _index.md
    getting-started/
      _index.md
      installation.md

Use documentation pages for long-lived product docs and landing pages for marketing surfaces. Shortcodes are available in both contexts; the complete reference lives at Shortcodes.

Next Steps

Continue with Documentation Pages to create docs content, then Landing Pages to compose marketing pages.