Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Documentation strategy and structure

Updated: March 02, 2026

This document is a high-level guide for maintainers and contributors. It defines the structure, audience, and style for the MATS application documentation. It is directly inspired and influenced by Jupyter Book’s own “contributing” documentation.

Documentation Structure

Our documentation is organized into top-level sections based on audience. The site/ directory contains folders that correspond directly to these top-level URL paths:

Topic Organization

Our documentation should be categorized by the Diataxis framework.

Pages are organized in a flat hierarchy within each framework folder, try not to nest them inside sub-folders unless really needed.

Example structure

Good structure following this guide:

site/
├── index.md                              # Main landing page
├── how-to-guides.md                      # Diataxis Framework landing page
├── how-to-guides/
│   ├── retro-grid2obs-restoring-data.md  # Guide for retro grid2obs verification
│   ├── retro-metplus-tc.md               # Guide for retro metplus tropical cyclone verification
│   └── rt-grid2grid-amdar.md             # Guide for realtime grid2grid amdar verification
└── explanation/
    ├── guiding-principles.md             # Explanation of guiding verification principles
    └── std-error.md                      # Discussion of how error is calculated in MATS

Avoid:

How can I tell what type of content I’m adding?

Use the Diataxis compass to decide what type of content you’re adding. Here’s the key table they recommend:

If the content……and serves the user’s……then it must belong to…
informs actionacquisition of skilla tutorial
informs actionapplication of skilla how-to guide
informs cognitionapplication of skillreference
informs cognitionacquisition of skillexplanation

Development Workflow

Building the documentation

The MATS docs repository includes a pyproject.toml to cover the project’s dependencies. Jupyter Book itself has commands for building and previewing the documentation that can be run through uv:

Build static HTML:

uv run jupyter book build --html

Start live development server:

uv run jupyter book start

The live server will automatically rebuild pages as you edit them, making it easy to preview your changes.

Repository structure

See the project README.md for a complete overview.

Style