Documentation Overview

Use cases, languages, tools, and methodologies of Project Tetra’s Documentation

Use cases

The Project Tetra documentation is intended to serve multiple use cases, illustrated by the following use-case-diagram.

uc docs

Languages

The site is generated from a combination of the AsciiDoc markup language and Hugo template language. Asciidoc is a markup language that was designed specifically for technical writing and documentation.

Tools

We use Hugo and Asciidoctor to format and generate our website, the Docsy theme for styling and site structure, Graphviz and PlantUML for rendering diagrams, and GitHub Actions for GitHub Pages to manage the deployment of the site. Hugo is an open-source static site generator that provides us with templates, content organisation in a standard directory structure, and a website generation engine. You write the pages in AsciiDoc (or HTML if you want), and Hugo wraps them up into a website.

Methodologies

We use a Docs as Code (i.e., maintain documentation using the same tools used to maintain code) with Documentation Driven Development (i.e., Document first, then implement what you documented) approach, using the GitHub workflow, to facilitate documentation for Project Tetra. Content is organized using The Documentation System. The documentation for this project is maintained in the Project Tetra docs repo with the project source code maintained in the Project Tetra repo.