mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
Duranta is a Linux Foundation networking project and does not have permission to display the trademarked OAI logo (https://openairinterface.org/logo/), which belongs to the OpenAirInterface Software Alliance (legal entity "OPENAIRINTERFACE"). Remove logo to avoid any legal problems. Remove some superfluous text with HTML code in some documentation. Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
215 lines
5.7 KiB
Markdown
215 lines
5.7 KiB
Markdown
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
|
|
|
|
# Documentation Best Practices
|
|
|
|
The following contribution guidelines ensure that all documentation in the
|
|
repository is clear, consistent, and readable. Contributors should follow them
|
|
to make it easier for other developers and users to understand and maintain the
|
|
documentation.
|
|
|
|
## Headings
|
|
|
|
- Only **one** top-level heading (`# H1`) should exist per document.
|
|
- Use subsequent heading levels (`## H2` to `###### H6`) for subheadings.
|
|
- Do **not** add trailing `#` symbols after headings.
|
|
|
|
**Examples**:
|
|
|
|
Incorrect:
|
|
|
|
```markdown
|
|
# Contribution Guidelines for Developers
|
|
# Workflow and Versioning #
|
|
## Manage your own branch
|
|
## Merge Requests
|
|
```
|
|
|
|
Correct:
|
|
|
|
```markdown
|
|
# Contribution Guidelines for Developers
|
|
## Workflow and Versioning
|
|
### Manage your own branch
|
|
### Merge Requests
|
|
```
|
|
|
|
## Quoting Texts
|
|
|
|
Use Markdown **blockquotes (`>`)** for notes, tips, or warnings. Blockquotes
|
|
clearly separate important information from regular text, helping readers
|
|
notice critical instructions or cautionary notes.
|
|
|
|
**Examples**:
|
|
|
|
```markdown
|
|
> **Note:** Ensure all dependencies are installed before building.
|
|
|
|
> **Warning:** Do not run the build as sudo.
|
|
```
|
|
|
|
## Avoid HTML formatting
|
|
|
|
Do **not** use HTML tags like `<b>`, `<font>`, `<table>`, etc. Use standard
|
|
Markdown syntax. HTML may not display correctly on all platforms such as
|
|
[GitLab](https://about.gitlab.com/), [GitHub](https://github.com/), etc.
|
|
|
|
**Examples**:
|
|
|
|
Correct (Markdown):
|
|
|
|
```markdown
|
|
**Bold text**
|
|
*Italic text*
|
|
|
|

|
|
|
|
| Feature | Description |
|
|
|---------------|---------------------------------|
|
|
| H1 Heading | Only one per document |
|
|
| Blockquotes | For notes and warnings |
|
|
```
|
|
|
|
Incorrect (HTML):
|
|
|
|
```html
|
|
<b>Bold text</b>
|
|
<i>Italic text</i>
|
|
|
|
<img src="./path/to/image.png" alt="some image">
|
|
|
|
<table style="border-collapse: collapse; border: none;">
|
|
<tr>
|
|
<td>H1 Heading</td>
|
|
<td>Only one per document</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Blockquotes</td>
|
|
<td>For notes and warnings</td>
|
|
</tr>
|
|
</table>
|
|
|
|
```
|
|
|
|
## Links and references
|
|
|
|
- Use Markdown link syntax `[Text](URL)` for all external URLs or references.
|
|
- Use `[Text](#section-anchor)` to link to sections within the same document.
|
|
- Use `` to insert images, with descriptive alt text
|
|
for accessibility. Do **not** use HTML `<figure>` or `<figcaption>` elements
|
|
for images.
|
|
- Always verify that section anchors exist and check all links to prevent
|
|
broken references.
|
|
- When adding, deleting, or renaming any documentation file, make sure to
|
|
update any related references, links, and indexes in the repository including
|
|
the [README.md](README.md).
|
|
|
|
**Examples**:
|
|
|
|
```markdown
|
|
- For more information, visit the [OAI
|
|
website](http://www.openairinterface.org/).
|
|
- See [primer](http://google.github.io/googletest/primer.html) for a quick
|
|
introduction.
|
|
- The Linux kernel has some [documentation on what a logical change
|
|
is](https://www.kernel.org/doc/html/latest/process/submitting-patches.html#separate-your-changes).
|
|
- See [OAI CN5G configuration files](#22-oai-cn5g-configuration-files) for
|
|
details.
|
|
- 
|
|
```
|
|
|
|
## Inline code for technical elements
|
|
|
|
Enclose **variables, function names, filenames, commands, or any technical identifiers** in backticks (\`).
|
|
Inline code formatting improves readability, clearly differentiates technical terms from normal text, and prevents confusion between text and code.
|
|
|
|
**Examples**:
|
|
|
|
```markdown
|
|
- Run the command `./build_oai`.
|
|
- See the function `time_manager_start()`.
|
|
- On `x86_64` platform the CPU should support `avx2` instruction set.
|
|
- The A2 event can be disabled by setting `enable = 0`.
|
|
- The logs are stored in `gnb.log` file.
|
|
- The default value for User IMSI is `2089900007487`.
|
|
- Once installed you can use this configuration file for ptp4l
|
|
(`/etc/ptp4l.conf`).
|
|
```
|
|
|
|
For **multi-line code blocks**, use triple backticks with a language identifier for syntax highlighting.
|
|
|
|
````bash
|
|
```bash
|
|
docker --version
|
|
docker images
|
|
docker ps -a
|
|
docker system prune -a
|
|
```
|
|
````
|
|
|
|
> **Note:** To make commands copy-friendly, **avoid using `$` signs** and use
|
|
> plain commands.
|
|
|
|
Also ensure:
|
|
|
|
- No extra whitespace before backticks.
|
|
- The appropriate language (e.g., `bash`, `python`, `yaml`, `json`, etc.) is
|
|
specified for syntax highlighting.
|
|
|
|
## Collapsible Sections
|
|
|
|
You can create collapsible sections that expand when clicked — useful for
|
|
hiding long outputs, logs, or optional details. This feature helps keep your
|
|
documentation concise while still providing extra information when needed.
|
|
|
|
**Example**:
|
|
|
|
````markdown
|
|
<details>
|
|
<summary>Expected Output</summary>
|
|
|
|
```bash
|
|
Docker version 28.0.4, build b8034c0
|
|
```
|
|
|
|
</details>
|
|
````
|
|
|
|
**Rendered Output**:
|
|
|
|
<details>
|
|
<summary>Expected Output</summary>
|
|
|
|
```bash
|
|
Docker version 28.0.4, build b8034c0
|
|
```
|
|
|
|
</details>
|
|
|
|
## Lists and Nested Lists Formatting
|
|
|
|
- Use `-` or `*` followed by a space for each bullet.
|
|
- Indent nested bullets with **4 spaces** under the parent bullet.
|
|
- You must leave a blank line before starting a list after a sentence or
|
|
paragraph.
|
|
- No blank line is needed before a nested list under a parent bullet.
|
|
|
|
> This is because we use `mkdocs` to render documentation, which requires these
|
|
> rulee.
|
|
|
|
## Documentation commits
|
|
|
|
- For each logical change in a documentation file, create a separate,
|
|
descriptive commit.
|
|
- Each commit should clearly describe what was changed and why, so the history
|
|
is easy to read and review.
|
|
- Use a clear prefix, like `docs:`, to indicate the commit affects
|
|
documentation.
|
|
- Reference related issues or MRs if applicable, to help trace changes.
|
|
|
|
|
|
**Example:**
|
|
|
|
```
|
|
docs: add 5G NSA and Faraday Cage testbench setup to Testbenches.md
|
|
```
|