Write documentation
Via GitHubβ
The YunoHost documentation is managed through a Git repository.
If you are not familiar with GitHub, there is an "Edit" button at the bottom of each page that will redirect you to the GitHub online editor that will help you make change proposals (Pull Requests, PR).
However, if you are on an editing spree, you should fork the repository. You can then make all the commits (changes) you want on your forked repository, and submit them all at once in the same pull requests. GitHub's etiquette would advise you to gather in the same PR all related commits.
Because the online editor doesn't support uploading files, using Git is the prefered way if you need to upload media (e.g. images).
Docusaurusβ
The documentation is built using Docusaurus. It generates static pages that can be served by a simple server.
The official Docusaurus doc should be your primary source of documentation.
Install Docusaurus and its dependencies:
$ yarn
Local developmentβ
Start a local development server, that automatically updates when files are edited:
$ yarn start
Buildβ
Build the final static files:
$ yarn build
This command generates static content into the build
directory.
You can serve those files locally using yarn serve
Deployβ
You can either copy the built files to a static file server (using My Webapp) or deploy the site to Github Pages.
Contents of the repositoryβ
We are following the standard Docusaurus structure:
β # The main docs
βββ docs/
β
β # The translations
βββ i18n
β β°ββ *
β βββ code.json
β βββ docusaurus-theme-classic
β β βββ footer.json
β β β°ββ navbar.json
β β°ββ docusaurus-plugin-content-docs
β β # The same content as docs/
β βββ current/
β β°ββ current.json
β
β # The configuration files
βββ docusaurus.config.js
βββ package.json
βββ redirects.js
βββ sidebars.js
βββ yarn.lock
β
β # Autogeneration scripts and templates
βββ scripts
β β°ββ generate_docs.sh
β
β # Custom Docusaurus code and theming
βββ src
β βββ components/
β βββ css/
β β°ββ theme/
β
β # Images, etc
β°ββ static/
Special pagesβ
Some pages of the documentation are automatically or dynamically generated.
See the generation script.