meshtastic/docs/development/documentation/style-guides/settings.mdx

112 lines
3.1 KiB
Plaintext
Raw Normal View History

2022-02-08 05:34:29 -08:00
---
2022-11-04 10:06:45 -07:00
id: config-pages
title: Config Pages
sidebar_label: Config Pages
2022-02-08 05:34:29 -08:00
---
2022-03-08 23:51:46 -08:00
2022-02-08 05:34:29 -08:00
## Overview
2022-03-08 23:51:46 -08:00
2022-02-08 05:34:29 -08:00
Setting pages should focus solely on settings and configuring the device. Hardware is often a related topic, however these pages should not attempt to explain attaching hardware. Mention that hardware is required and link to the appropriate page(s).
## Layout
### Overview
2022-03-08 23:51:46 -08:00
2022-02-08 05:34:29 -08:00
This section should describe the group of settings and what they do for the device.
### Settings
2022-03-08 23:51:46 -08:00
2022-02-08 05:34:29 -08:00
This section starts with an alphabetized table of settings, available values, and default values.
Available values should be listed with tick marks `` surrounding the value.
2022-03-08 23:51:46 -08:00
| Value Type | Example |
| :--------: | :-------------------------: |
| Boolean | `true`, `false` |
| List | `apple`, `banana`, `orange` |
| Range | `0`-`100` |
2022-02-08 05:34:29 -08:00
After the table each setting is described in brief detail. If the available options for a setting need additional explanation, a table should be used to describe each available option.
### Details
2022-03-08 23:51:46 -08:00
2022-02-08 05:34:29 -08:00
If additional details are needed, this optional section can explain that. These would include prerequisites, links to hardware guides, etc.
### Examples
2022-03-08 23:51:46 -08:00
This optional section can have examples of configurations needed where multiple settings are required to be set up for a specific use case.
2022-02-08 05:34:29 -08:00
## Example Template
2022-03-08 23:51:46 -08:00
2022-02-08 05:34:29 -08:00
```markdown title="Template for Settings Pages"
---
id: unique-id
title: Title for Page
sidebar_label: Label for Sidebar
---
2022-03-08 23:51:46 -08:00
2022-02-08 05:34:29 -08:00
<!--- Allows client-specific tabs to be used --->
2022-03-08 23:51:46 -08:00
2022-02-08 05:34:29 -08:00
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
<!--- Add overview text to describe this group of settings --->
## Settings
<!--- Table of settings in alphabetical order --->
2022-03-08 23:51:46 -08:00
| Setting | Acceptable Values | Default |
| :---------------------: | :-------------------------: | :-----: |
2022-02-08 05:34:29 -08:00
| my_setting_with_options | `apple`, `banana`, `orange` | `apple` |
<!--- H3 for each setting above (alphabetized) --->
2022-03-08 23:51:46 -08:00
2022-02-08 05:34:29 -08:00
### my_setting_with_options
2022-03-08 23:51:46 -08:00
2022-02-08 05:34:29 -08:00
<!--- description for what the setting does --->
<!--- if the setting has many options, insert a table describing what those variables do --->
2022-03-08 23:51:46 -08:00
| Value | Description |
| :------: | :----------------------------: |
| `apple` | Description of apple (default) |
| `banana` | Description of banana |
| `orange` | Description of orange |
2022-02-08 05:34:29 -08:00
<!--- Client tabs that were imported above --->
2022-03-08 23:51:46 -08:00
2022-02-08 05:34:29 -08:00
<Tabs
2022-03-08 23:51:46 -08:00
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 content here
</TabItem>
<TabItem value="android">
Android content here
</TabItem>
<TabItem value="iOS">
iOS content here
</TabItem>
<TabItem value="web">
Web content here
</TabItem>
2022-02-08 05:34:29 -08:00
</Tabs>
## Details
2022-03-08 23:51:46 -08:00
2022-02-08 05:34:29 -08:00
<!--- Additional details about the settings IF NEEDED otherwise delete this h2 header --->
## Examples
2022-03-08 23:51:46 -08:00
2022-02-08 05:34:29 -08:00
<!--- Meant for examples where multiple settings are configured at the same time (WiFi type/SSID/password in a single command). If not needed, delete this h2 header --->
```