Dimensions - Documentation.AI

Dimensions

Plan and configure products, versions, and languages as dimensions for organized, multi-context documentation in Documentation.AI.

Overview

Dimensions are top-level context selectors that split your documentation into parallel variants. They define where a reader is in your docs: which product, version, or language they are viewing.

Dimensions sit at the top of your navigation architecture:

Dimensions are the top layer of the navigation structure. A project can have multiple dimensions (for example, Product + Version + Language), but most sites work best with one or two.

You can manage Dimensions in:

See Site Configuration for file-based management: /customize/site-configuration.

When to use dimensions

Dimensions are powerful, but you should only add them when your docs truly exist in parallel variants.

Good use cases

Use a dimension only when your docs truly exist in parallel variants and readers need to switch context globally.

Good use cases:

Avoid dimensions when:

Start with no dimensions. Add a dimension only once the variants are stable and long-lived.

How dimensions interact with views and content

Dimensions → Views (optional) → Content

Once a reader selects values for all active dimensions, they see the navigation tree for that context. From there, your structure can go in either direction:

Use Views (Tabs/Dropdowns) when you need layout and navigation structure inside a dimension.

Views are not required. You can place content directly under a dimension branch (for example, a flat list of pages, or groups/pages without tabs or dropdowns).

In all cases, the same structural constraints apply within a branch (including the one-child rule).

Working with Dimensions in the Web Editor

In the Web Editor, Dimensions are managed from the Navigation panel. Dimensions can be added either as a parent layer (wrapping what currently exists) or as a child layer (nesting a new dimension inside an existing one).

Before you start: confirm what’s currently at the top

Open Editor → Navigation and check what your current top layer is:

Add a Dimension

You can add a Dimension in two ways:

A) Add a Dimension as a parent (wrap the existing top layer)

Use this to add a Dimension above whatever currently exists at the top, an existing Dimension, a View (Tabs/Dropdowns), or a flat content structure (Groups/Pages).

Steps:

  1. In the sidebar navigation area, hover over the top-left of the current top layer header (the topmost layer you see, Dimension/View/Groups/Pages).
  2. Click the top + icon (Add Parent layer).
  3. Choose Add Dimension, then select the dimension type (Product / Version / Language).
  4. Create the first value (for example, Cloud, v1.0, or English) and save.

What happens:

B) Add a Dimension as a child (nest inside an existing Dimension)

Use this when you already have one Dimension (for example, Product) and want to add another Dimension under it (for example, Version).

Steps:

  1. Hover on the existing Dimension value you want to nest under (for example, Version: v1.0).
  2. Click the bottom + icon (Add Child layer).
  3. Choose Add Child Dimension, then select the dimension type (Product / Version / Language).
  4. Create the first value (for example, Product A) and save.

What happens:

Add and manage Dimension values

After a Dimension exists, you can maintain it from the Dimension selector area:

Tip: After creating new values, switch between them immediately to confirm you’re editing the correct branch and that navigation/content appears where you expect.

Managing Dimensions in configuration (documentation.json)

For file-based management, configure Dimensions in documentation.json using Site Configuration. This is useful when you want:

See Site Configuration to manage it via the Code Editor.

Designing dimensions: guidelines and pitfalls

Use this section as a checklist when you plan or refactor dimensions.

Decide if you truly need a dimension:

Choose a single root dimension:

Keep the number of dimensions small:

Align views across variants where it helps:

Plan for lifecycle changes:

Content pages on dimensions

Products, versions, and languages are structural containers by default; they define context but do not have pages of their own. You can attach a content page to any dimension value by adding a path property.

Use content pages on dimensions to:

In configuration, add a path to the dimension entry:

{
  "version": "v2",
  "path": "v2/overview",
  "tabs": [...]
}

When a dimension value has a content page, it appears as a clickable link in breadcrumb navigation and is included in search results and AI features. Display options like badge, show-sidebar, and content-width work the same as on regular pages.

In the Web Editor, use the Attach Content Page option in the dimension value's menu. To remove the content page later, use Detach Content Page; the MDX file remains as an unpublished page.

For the general concept and setup details, see Content pages on containers.

Common pitfalls

Avoid these patterns when designing dimensions:

Before adding or changing dimensions, map a few end-to-end user journeys (for example, "New API user for Product B / v2 / English") and confirm they can find key pages with minimal context switching.