Configuration pages
Configuration pages under docs/configuration all follow one shape, so a reader who has used any of them can use the rest. This page describes that shape and gives a template.
A configuration page documents settings. Hardware is often related, but these pages don't explain attaching it. State that hardware is required and link to the page that covers it.
Page shape
A configuration page has two required sections and two optional ones, in this order.
| Section | Required | Contents |
|---|---|---|
| Overview | Yes | What this group of settings controls |
| Settings | Yes | A table of every setting, then a description of each |
| Details | No | Prerequisites, hardware requirements, and links out |
| Examples | No | Configurations where several settings work together |
Overview
Describe what the group of settings does for the node. Keep it to a short paragraph, and link to the concept pages rather than re-explaining them.
Settings
Open with a table of settings in alphabetical order, giving acceptable values and the default for each. Wrap values in backticks.
| Value type | Example |
|---|---|
| Boolean | true, false |
| List | apple, banana, orange |
| Range | 0-100 |
After the table, describe each setting under its own H3, in the same alphabetical order. Where a setting's options need more than a sentence, add a table describing each option.
Settings take their protobufProtobuf (Protocol Buffers). A method developed by Google for serializing structured data, used in Meshtastic for efficient communication protocol between devices. field name as the heading, so the reader can match the page to the CLICLI (Command Line Interface). A text-based interface used for interacting with software or devices like Meshtastic. and to the protobufProtobuf (Protocol Buffers). A method developed by Google for serializing structured data, used in Meshtastic for efficient communication protocol between devices. definitions. Use the on-screen label in prose when describing the control a client shows.
Details
Optional. Use it for prerequisites, hardware guides, and anything the settings depend on.
Examples
Optional. Use it where a real task needs several settings set together, such as a Wi-Fi network name and password in one command.
Client tabs
Every setting that can be configured from more than one client gets tabs. Keep the tab order identical on every page, with the CLICLI (Command Line Interface). A text-based interface used for interacting with software or devices like Meshtastic. first. Cover every client that supports the setting, or say plainly which ones don't.
Template
---
id: unique-id
title: Title for page
sidebar_label: Label for sidebar
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
<!--- What this group of settings controls --->
## Settings
<!--- Every setting, in alphabetical order --->
| Setting | Acceptable values | Default |
| :---------------------- | :-------------------------- | :------ |
| my_setting_with_options | `apple`, `banana`, `orange` | `apple` |
### my_setting_with_options
<!--- What the setting does, and what changes if it is wrong --->
| Value | Description |
| :------- | :----------------------------- |
| `apple` | Description of apple (default) |
| `banana` | Description of banana |
| `orange` | Description of orange |
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
#### CLI
CLI content here
</TabItem>
<TabItem value="android">
#### Android
Android content here
</TabItem>
<TabItem value="iOS">
#### iOS
iOS content here
</TabItem>
<TabItem value="web">
#### Web
Web content here
</TabItem>
</Tabs>
## Details
<!--- Prerequisites and links out, or delete this heading --->
## Examples
<!--- Multi-setting configurations, or delete this heading --->
Each tab carries an H4 because the tab block sits inside an H3. A tab with no heading isn't navigable by screen reader.