Official EU-hosted mirror of the Godot Engine GitHub documentation repository, provided as backup and for anyone who cannot access GitHub due to US trade restrictions. Please only use the issue tracker if you are restricted from using GitHub.

Rémi Verschelde 9ebe0dcae9 Add caution message that this is outdated documentation 1 year ago
_extensions 7b3dd2cf27 Create Sphinx extension to generate HTML meta description tags 4 years ago
_templates 2c286519b3 Prepend "(DEV)" to HTML titles if build locally/not on RTD 4 years ago
about 7dcc48370a Minor wording change 7 years ago
classes 53517d1d21 classref: Sync with current 2.1 source 7 years ago
community d05e23ba5e Added ClangFormat to IDE beautifier plugin list 6 years ago
development 32f2e3c2ad Improve the Compiling for Android page 5 years ago
files d53519a5d9 Fix a few more links + add missing attachment 8 years ago
img 85509f3791 Added precisions in Xcode section of setting IDE, fixes #345 7 years ago
learning 89ed62af42 Remove controversial satirical piece 🔥 3 years ago
.gitignore 9ebe0dcae9 Add caution message that this is outdated documentation 1 year ago
.readthedocs.yml a19c0c36a8 Add .readthedocs.yml to disable HTML/PDF/EPUB downloads 3 years ago
Makefile 86563cc374 Import first batch of pages 8 years ago
README.md a97a95aa42 Some styling and wording fixes in README.md 8 years ago
conf.py 7b3dd2cf27 Create Sphinx extension to generate HTML meta description tags 4 years ago
index.rst 9ebe0dcae9 Add caution message that this is outdated documentation 1 year ago
requirements.txt ed9afbbbf1 Add requirements.txt for old sphinx version used here 3 years ago
robots.txt 85fe19df42 Appease our great search engine overlords 4 years ago

README.md

Godot Engine documentation

This repository contains the source files of Godot Engine's documentation, in reStructuredText markup language (reST).

They are meant to be parsed with the Sphinx documentation builder to build the HTML documentation on Godot's website.

Contributing changes

Though arguably less convenient to edit than a wiki, this git repository is meant to receive pull requests to always improve the documentation, add new pages, etc. Having direct access to the source files in a revision control system is a big plus to ensure the quality of our documentation.

Editing existing pages

To edit an existing page, just locate its .rst source file and open it in your favourite text editor. You can then commit the changes, push them to your fork and make a pull request. Note that the pages in classes/should not be edited here, they are automatically generated from Godot's XML class reference.

Adding new pages

To add a new page, create a .rst file with a meaningful name in the section you want to add a file to, e.g. tutorials/3d/light_baking.rst. Write its content like you would do for any other file, and make sure to define a reference name for Sphinx at the beginning of the file (check other files for the syntax), based on the file name with a "doc_" prefix (e.g. .. _doc_light_baking:).

You should then add your page to the relevant "toctree" (table of contents). By convention, the files used to define the various levels of toctree are prefixed with an underscore, so in the above example the file should be referenced in tutorials/3d/_3d_graphics.rst. Just add your new filename to the list on a new line, using a relative path and no extension, e.g. here light_baking.

Sphinx and reStructuredText syntax

Check Sphinx's reST Primer and the official reference for details on the syntax.

Sphinx uses specific reST comments to do specific operations, like defining the table of contents (:toctree:) or cross-referencing pages. Check the official Sphinx documentation for more details, or see how things are done in existing pages and adapt it to your needs.

Adding images and attachments

To add images, please put them in the img/ folder with a meaningful name and include them in your page with:

.. image:: /img/image_name.png

Similarly, you can include attachments (like assets as support material for a tutorial) by placing them in to the files/ folder, and using this inline markup:

:download:`myfilename.zip </files/myfilename.zip>`

Building with Sphinx

To build the HTML website (or any other format supported by Sphinx, like PDF, EPUB or LaTeX), you need to install Sphinx >= 1.3 as well as (for the HTML) the readthedocs.org theme. Only the Python 3 flavour was tested, though the Python 2 versions might work too.

Those tools are best installed using pip, Python's module installer. The Python 3 version might be provided (on Linux distros) as pip3 or python3-pip. You can then run:

pip3 install sphinx
pip3 install sphinx_rtd_theme

You can then build the HTML documentation from the root folder of this repository with:

make html

The compilation might take some time as the classes/ folder contains many files to parse.
You can then test the changes live by opening _build/html/index.html in your favourite browser.

Building with Sphinx on Windows

On Windows, you need to:

  • Download the Python installer here.
  • Install Python. Don't forget to check the "Add Python to PATH" box.
  • Use the above pip commands.

Building is still done at the root folder of this repository, but with this command line instead:

sphinx-build -b html ./ _build

Building with Sphinx and virtualenv

If you want your Sphinx installation scoped to the project, you can install it using virtualenv. Execute this from the root folder of this repository:

virtualenv --system-site-packages env/
. env/bin/activate
pip3 install sphinx
pip3 install sphinx_rtd_theme

Then do make html like above.

License

At the exception of the classes/ folder, all the content of this repository is licensed under the Creative Commons Attribution 3.0 Unported license (CC BY 3.0) and is to be attributed to "Juan Linietsky, Ariel Manzur and the Godot community".

The files in the classes/ folder are derived from Godot's main source repository and are distributed under the MIT license, with the same authors as above.