Skip to content

Commit 2f76134

Browse files
c0ffeeca7abmantis
andauthored
Create new docs page: update intro section (#2803)
Co-authored-by: Abílio Costa <[email protected]>
1 parent 354df2b commit 2f76134

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

docs/documenting/create-page.md

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,20 @@
22
title: "Create a new page"
33
---
44

5-
For a platform or integration page, the fastest way is to make a copy of an existing page and edit it. The [Integration overview](https://www.home-assistant.io/integrations/) and the [Examples section](https://www.home-assistant.io/cookbook/) are generated automatically, so there is no need to add a link to those pages.
5+
To create a new integration page, follow these steps:
66

7-
Please honor the [Standards](documenting/standards.md) we have for the documentation.
7+
1. Make a copy of the [integration documentation template](https://github.com/home-assistant/home-assistant.io/tree/current/source/_integrations/_integration_docs_template.markdown) and edit it.
8+
2. Make sure the filename of the integration page matches the domain name of the integration.
9+
- The [Integration overview](https://www.home-assistant.io/integrations/) and the [Examples section](https://www.home-assistant.io/cookbook/) are generated automatically, so there is no need to add a link to those pages.
10+
3. Make sure to follow the [Standards](documenting/standards.md) we have for the documentation, including:
11+
- [General style guide](/docs/documenting/general-style-guide).
12+
- [YAML Style Guide](/docs/documenting/yaml-style-guide.md)
13+
- [Documentation structure and example text](/docs/documenting/integration-docs-examples)
14+
4. Make sure to add [icon and logo](#images-icons-and-logos) to the brands repository.
15+
5. Document the needed steps to retrieve API keys or access token for the third party service or device if needed.
16+
6. Add the type of the devices (incl. firmware) you have tested when you know that there are multiple out there.
17+
18+
## About the integration page header format
819

920
If you start from scratch with a page, you need to add a header. Different sections of the documentation may need different headers.
1021

@@ -20,6 +31,7 @@ ha_config_flow: true
2031
ha_codeowners:
2132
- '@balloob'
2233
ha_domain: awesome
34+
ha_integration_type: hub
2335
related:
2436
- docs: /voice_control/s3_box_voice_assistant/
2537
title: Creating a ESP32-S3-BOX-3 voice assistant
@@ -36,23 +48,20 @@ Content... Written in markdown.
3648
Additional keys for the file header:
3749

3850
- `title`: This title should match with the name of the integration as written in the integration manifest file.
39-
- `ha_release`: The release when the integration was included, e.g., "0.38". If the current release is 0.37, make `ha_release` 0.38. If it's 0.30 or 0.40 please quote it with `' '`.
51+
- `ha_release`: The Home Assistant release when the integration was included.
52+
- If the current release is 2025.8, make `ha_release` 2025.9.
53+
- For the October release, as in '2025.10', quote it with `' '`, otherwise the zero won't be displayed.
4054
- `ha_category`: This entry is used to group the integration on the [Integration overview](https://www.home-assistant.io/integrations/).
4155
- `ha_iot_class`: [IoT class](https://www.home-assistant.io/blog/2016/02/12/classifying-the-internet-of-things) is the classifier for the device's behavior.
4256
- `ha_quality_scale`: [Quality scale](https://www.home-assistant.io/docs/quality_scale/) is the representation of the integration's quality.
4357
- `ha_config_flow`: Set to `true` if the integration has a [Data Entry Flow](/data_entry_flow_index.md), omit otherwise.
4458
- `ha_codeowners`: GitHub usernames or team names (starting with `@`) of people that are responsible for this integration. This should match with the codeowners as listed in the integration manifest file.
45-
- `ha_domain`: The domain of the integration in Home Assistant Core. This must match the name from the integration manifest file.
59+
- `ha_domain`: The domain of the integration in Home Assistant Core. This must match the name from the [integration manifest](/docs/creating_integration_manifest) file.
60+
- `ha_integration_type`: The type of integration in Home Assistant Core. This must match the name from the [integration manifest](/docs/creating_integration_manifest) file.
4661
- `related`: Optional. Adds a section with links to related topics to the end of the page. Use `docs` for local links and `url` for external links. When using `docs`, the `title` key is optional. If not set, the title of the page you point to will be used.
4762

4863
There are [pre-defined variables](https://jekyllrb.com/docs/variables/) available but usually, it's not necessary to use them when writing documentation.
4964

50-
A couple of points to remember:
51-
52-
- Document the needed steps to retrieve API keys or access token for the third party service or device if needed.
53-
- Add screenshots to support the user where it makes sense.
54-
- Add the type of the device(s) (incl. firmware) you have tested when you know that there are multiple out there.
55-
5665
### Configuration
5766

5867
Every platform page should contain a configuration sample. This sample must contain only the **required** variables to make it easy to copy and paste it for users into their `configuration.yaml` file.

0 commit comments

Comments
 (0)