Changes in Documentation Rules
Revision Differences of Revision 7
[TOC] ¶¶
## Introduction ¶
¶
Our [lua documentation](https://www.widelands.org/documentation/index.html) is build with the [Sphinx-doc Documentation creator](https://www.sphinx-doc.org/en/master/index.html). You might have noticed that the documentation has some chapters contains the word "python", this is due Sphinx-doc is mainly used to document python projects, but there is no Lua documentation creator so we use Sphinx-doc with some difficulties. This article covers how it works, some styling rules and some examples for easy copy and paste. ¶
¶
## Build the documentation locally ¶
¶
We encourage to build the documantation locally when you want to work on the documentation and check the made changes locally before proposing them. ¶
¶
The prerequisites for building the documentation locally are: ¶
¶
* python, at least version 3.6 ¶
* [sphinx](https://www.sphinx-doc.org/en/master/usage/installation.html) ¶
* the source code of widelands, see [[ DownloadPage/#development-version | Development version]] ¶
¶
To build the documentation see the file README in the subfolder _"doc/sphinx"_ of the widelands source code. ¶
¶
## extract_rst.py ¶
¶
This script gathers [[ Documentation Rules/#rst-comments | RST-Comments ]] from different locations and stores them as files in _"doc/sphinx/source"_. It creates/adds also some entries to the documentation tocs. ¶
¶
TODO: When to modify this script ¶
¶
## RST Comments ¶
¶
RST stands for _restructered text_, a markup language. Depending on the file type the comments are for files of type C++ ¶
¶
~~~~ ¶
/* RST ¶
Every ¶
line ¶
will be an RST comment until comment end ¶
*/ ¶
~~~~ ¶
Everything between `/*RST` and `*/` will be extracted by extract_rst.py and added to a corresponding file. ¶
¶
For files of type Lua: ¶
¶
~~~~ ¶
-- RST ¶
-- This is ¶
-- a block of ¶
-- RST comment ¶
-- ¶
¶
-- This comment does not belong to the RST comment (one empty line between comment blocks) ¶
~~~~ ¶
Every comment block starting with `--RST` will be extracted by extract_rst.py and added to a corresponding file. ¶
¶
### Restructered Text Primer ¶
¶
If you are looking at the our documentation, e.g. [wl.game](/documentation/autogen_wl_game) you will find a link called _"Show Source"_ in the left sidebar. Clicking this link will show you the restructered text markup which covers the [[ Documentation Rules/#rst-comments | RST-Comments ]], of course without the comment signs (`/* RST` .. `/*`, `-- RST`... `--`). Comparing this page with the rendered content will give you a feeling for _restrucetred text_ . ¶
¶
The following paragraphs here point out some typical issues with this markup language. ¶
For a brief description of the markup of restructered text see: [Sphinx restructered text primer](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html) ¶
¶
### Indentation matters ¶
¶
### Heading markup matters ¶
¶
## Formatting rules ¶
¶
We want to have all pages have the same formatting rules. See next paragraphs for our rules. ¶
¶
### files? ¶
¶
### constants ¶
¶
## C&P Examples ¶
¶
### class ¶
¶
### function ¶
¶
### codeblock ¶
¶
### images