The Tract docs

Everything you need to know about the Tract theme

Welcome to Tract, a theme for the Hugo static site generator. Tract is designed for large, multi-faceted, multi-lingual documentation projects. It includes a variety of features that distinguish it from other themes.

Tract is currently at version 0.1.0-alpha. This very early release is intended mostly for me to garner feedback from tech writers and to get a sense for how people might use it.

Limitations

Tract has some known limitations at this time that it's worth being aware of:

  • In general, the aesthetic is getting there but still a work in progress. Later versions of the theme will have a similar aesthetic spirit but many components will end up looking quite different.
  • Mobile and tablet support are very limited. I intend to iterate hard on this soon but for now Tract is essentially desktop only.
  • Limited support for content taxonomies like tags or categories.
  • Only one available documentation layout (the dashboard layout that you can see in action here). More options will be added later.

Features

Scalability

Tract is scalable because Hugo is scalable. I've used Hugo on dozens of projects, including Kubernetes, containerd, Jaeger, Vitess, etcd, Open Policy Agent, TiKV, and many others, and build time has always been the absolute last of my concerns.

The Kubernetes website and documentation, for example, consists of about 2000 pages and as of December 2019 builds in roughly 7 seconds on a new-ish MacBook Pro. If your site is even a few hundred pages it should build in a handful of seconds with Tract.

i18n support

Tract is built to support as many languages as you need. Check out the language selector in the top navbar to see this in action. With Tract you get multiple versions of the site that are completely isolated from one another, including search results.

Although there are some great hosted search options, like Algolia, it's always nice to reduce your dependencies on external services. The search in Tract is 100% static, relying on an index.json file that's generated with the site. You can see an example search index here.

The search index is generated on a per-language basis, meaning that each language gets its own search results! Try typing something into the navbar up above to see this in action.

Configurable aesthetic

Tract enables you to change the site's aesthetic without touching CSS. Change the fonts, the primary colors, the buttons, the menus, and much more without digging into any template internals.


Last updated by lucperkins on January 13, 2020 at 09:13 -0800