If you are not familiar with GitHub, there is an "Edit" button at the top of each page that will redirect you to the GitHub online editor that will help you making your change proposals (Pull Requests).
The structure of the repository is described below:
```bash
+-- config
+-- site.yaml
+-- system.yaml
+-- themes
+-- yunohost-docs.yaml
# Some settings for the documentation theme
+-- images
# Contains the images used in the documentation pages.
+-- pages
# The directory containing the documentation pages.
# The pages hierarchy is reflected by the directory hierarchy.
+-- 00.home
+-- 01.administrate
+-- 02.applications
+-- 03.community
+-- 04.contribute
+-- themes
+-- learn4
+-- yunohost-docs
# Contains the theme's code, which extends Learn4 theme's code
+-- .gitignore
# Contains the instructions to not send sensitive
# or useless files over to the Git repository
+-- README.md
```
!!!! To learn more about Grav's features, you can head over to its [documentation](https://learn.getgrav.org?target=_blank). The remainder of this page will show you some specific instructions to contribute to YunoHost's documentation.
## Grav header
Each page starts with a header that gives instructions to Grav on how to process them. Let us have a look into the header of this page:
```
---
title: Write documentation
template: docs
taxonomy:
category: docs
routes:
default: '/write_documentation'
---
```
1. The header starts and ends with a line containing `---`
2. The `title` key manages the first heading title of the page, its name in the navigation menu on the left, and its name in the browser tab
3.`template` and `taxonomy` keys should always be left as is. They instruct Grav to use the proper theme and order the pages properly.
4.`routes`' `default` key makes the page available by default on `https://yunohost.org/docs/write_documentation` instead of needing to reaching it on `https://yunohost.org/docs/contribute/write_documentation`, which is where it is stored in the directory hierarchy.
| Apps helpers | `pages/04.contribute/04.packaging_apps/11.helpers/packaging_apps_helpers.md` | Generated by this [script](https://github.com/YunoHost/yunohost/blob/dev/doc/generate_helper_doc.py?target=_blank), from this [template](https://github.com/YunoHost/yunohost/blob/dev/doc/helper_doc_template.md?target=_blank) |
| Per-app documentation | `pages/02.applications/02.docs/docs.md` | Lists the subpages in the same directory which have `taxonomy.category: docs, apps` in its header |
## Host your own testing documentation
! These instructions are yet to be fully tested. Please help us by reporting any issue you may have with them.