Files
documentation/DOCUMENTATION.md

108 lines
3.2 KiB
Markdown
Raw Normal View History

# Armbian Documentation
2022-04-13 08:31:24 +02:00
[![Create offline documentation to release](https://github.com/armbian/documentation/actions/workflows/release.yaml/badge.svg)](https://github.com/armbian/documentation/actions/workflows/release.yaml)
<p align="center">
<a target="_blank" href="https://docs.armbian.com">
<img alt="logo" src="./docs/images/logo.png">
</a>
</p>
## Overview
2020-07-31 16:33:50 +02:00
Documentation is written in [markdown](https://www.markdownguide.org/basic-syntax/) and stored in the `docs/` subfolder. Images go in `docs/images`.
2020-07-31 16:33:50 +02:00
This repo is meant for storing and quick glances. Official output is [https://docs.armbian.com](https://docs.armbian.com).
Armbian Documentation is available in the following formats:
2017-08-03 19:01:11 -05:00
* [Official document website](https://docs.armbian.com),
* [PDF document](https://github.com/armbian/documentation/releases/latest)
## Contributing
This site is built with [mkdocs](https://github.com/mkdocs/mkdocs/) and depends on [mkdocs-material](https://github.com/squidfunk/mkdocs-material).
Armbian Documentation naming of document files follows this rules:
`[Parent-Topic-Example]_[Child-Topic]-example.md`
`Parent-Topic-Name` and `Child-Topic-Name` are separated by an underscore `_`. Hyphens `-` are automatically converted to space.
Please try to avoid creating new parent topics unless absolutely necessary.
Current Parent Topics:
* User Guide
2020-07-31 16:33:50 +02:00
* Hardware notes
* Developer Guide
* Contributor Process
* Release management
* Community
See the [document template](.github/DOCUMENT_TEMPLATE.md) before you writing any content.
## Working on the content
2024-06-25 21:59:47 -07:00
### Prerequisites
Ensure you have Python and the necessary development packages installed:
```bash
sudo apt-get update
2025-01-26 21:54:22 +01:00
sudo apt-get install python3 python3-pip python3-venv python3.12-dev
2024-06-25 21:59:47 -07:00
```
If using Debian, you may need to install the following packages for `mkdocs-material`:
```bash
sudo apt-get install libcairo2 pango1.0-tools
```
2024-06-25 21:59:47 -07:00
### Cloning the Repository
Next, clone the Armbian documentation repository:
```bash
git clone https://github.com/armbian/documentation
2024-06-25 21:59:47 -07:00
cd documentation
```
2024-06-25 21:59:47 -07:00
### Setting Up the Environment
2024-06-25 21:59:47 -07:00
Set up a Python virtual environment to isolate the project dependencies:
2024-06-25 21:59:47 -07:00
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install --use-pep517 -r requirements.txt
2024-06-25 21:59:47 -07:00
```
2024-06-25 21:59:47 -07:00
### Building and Serving the Documentation
To build and serve the documentation locally, allowing you to make edits and observe the results in real time, use:
```bash
2024-10-12 18:14:21 +02:00
mkdocs build --clean
mkdocs serve -a 0.0.0.0:8000
2024-06-25 21:59:47 -07:00
```
You will be able to make edits to existing files and observe the results in real time.
## Generate tools
2024-06-25 21:59:47 -07:00
After adding a new file, either hand-edit `mkdocs.yml`, or re-run `tools/mkArmbianDocs.py` **unless making changes to the structure of the `docs/` folder**. (See below)
### mkArmbianDocs.py
Generate `mkdocs.yml` based on the contents of `docs/` folder
* Command-line options for input and output directories
* Requires install requirement
* You don't need to run it every time unless making changes to the structure of the `docs/` folder
* See `mkArmbianDocs.py -h` for help
From the parent folder of the repo, run:
`python3 tools/mkArmbianDocs.py && mkdocs build`
This will generate the `mkdocs.yml` and publish built HTML to the `site/` folder.