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:
| Surface | Template | Use it for |
|---|---|---|
| Site index | landing.html | The home page at content/_index.md |
| Regular content | blog.html | Standard pages and future article/blog surfaces |
| Documentation pages | docs.html | Structured 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.