Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Вклад в документацию

This guide explains how to contribute to Godot's documentation, be it by writing or reviewing pages.

См.также

If you want to translate pages or the class reference from English to other languages, read Локализация редактора и документации.

Начало работы

To modify or create pages in the reference manual, you need to edit .rst files in the godot-docs GitHub repository. Modifying those pages in a pull request triggers a rebuild of the online documentation upon merging.

См.также

Для получения подробной информации об использовании Git, в том числе - о механизме Pull request, обратитесь к странице Механизм Pull request. Большая часть того, что там сказано относительно основного репозитория godotengine/godot, также применимо и к репозиторию godotengine/godot-docs.

Предупреждение

The class reference's source files are in the Godot engine repository. We generate the Class Reference section of this documentation from them. If you want to update the description of a class, its methods, or properties, read Внесение вклада в справочник классов.

Что такое документация Godot

The Godot documentation is intended as a comprehensive reference manual for the Godot game engine. It is not meant to contain step-by-step tutorials, except for two game creation tutorials in the Getting Started section.

We strive to write factual content in an accessible and well-written language. To contribute, you should also read:

  1. Writing guidelines. There, you will find rules and recommendations to write in a way that everyone understands.

  2. Рекомендации по содержанию. They explain the principles we follow to write the documentation and the kind of content we accept.

Contributing changes

Pull Requests should use the master branch by default. Only make Pull Requests against other branches (e.g. 2.1 or 3.0) if your changes only apply to that specific version of Godot.

Though less convenient to edit than a wiki, this Git repository is where we write the documentation. Having direct access to the source files in a revision control system is a plus to ensure our documentation quality.

Editing existing pages

To edit an existing page, locate its .rst source file and open it in your favorite 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. See Внесение вклада в справочник классов for details.

См.также

To build the manual and test changes on your computer, see Создание руководства с помощью Sphinx.

Editing pages online

You can edit the documentation online by clicking the Edit on GitHub link in the top-right of every page.

Doing so takes you to the GitHub text editor. You need to have a GitHub account and to log in to use it. Once logged in, you can propose change like so:

  1. Нажмите кнопку Редактировать на GitHub.

  2. On the GitHub page you're taken to, click the pencil icon in the top-right corner near the Raw, Blame, and Delete buttons. It has the tooltip "Fork this project and edit the file".

  3. Edit the text in the text editor.

  4. At the bottom of the web page, summarize the changes you made and click the button Propose file change. Make sure to replace the placeholder "Update file.rst" by a short but clear one-line description, as this is the commit title.

  5. On the following screens, click the Create pull request button until you see a message like Username wants to merge 1 commit into godotengine:master from Username:patch-1.

Another contributor will review your changes and merge them into the docs if they're good. They may also make changes or ask you to do so before merging.

Adding new pages

Before adding a new page, please ensure that it fits in the documentation:

  1. Look for existing issues or open a new one to see if the page is necessary.

  2. Ensure there isn't a page that already covers the topic.

  3. Read our Рекомендации по содержанию.

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.

You should then add your page to the relevant "toctree" (table of contents, e.g. tutorials/3d/index.rst). Add your new filename to the list on a new line, using a relative path and no extension, e.g. here light_baking.

Заголовки

Всегда начинайте файл с имени-ссылки для Sphinx и заголовка страницы:

.. _doc_insert_your_title_here:

Insert your title here
======================

The reference _doc_insert_your_title_here and the title should match.

Первая строка позволяет инструменту Sphinx ссылаться на эту страницу в формате :ref:; например :ref:`doc_insert_your_title_here` будет ссылаться на приведённую выше страницу (обратите внимание на отсутствие начального подчёркивания в ссылке).

Write your titles like plain sentences, without capitalizing each word:

  • Good: Understanding signals in Godot

  • Bad: Understanding Signals In Godot

Only propers nouns, projects, people, and node class names should have their first letter capitalized.

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. To learn how to use Sphinx directives like .. note:: or .. seealso::, check out the Sphinx directives documentation.

Adding images and attachments

To add images, please put them in an img/ folder next to the .rst file with a meaningful name and include them in your page with:

.. image:: img/image_name.webp

Alternatively, you can use the figure directive, which gives the image a contrasting border and allows centering it on the page.

.. figure:: img/image_name.webp
    :align: center

You can also include attachments as support material for a tutorial, by placing them into a files/ folder next to the .rst file, and using this inline markup:

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

Consider using the godot-docs-project-starters <https://github.com/godotengine/godot-docs-project-starters> repository for hosting support materials, such as project templates and asset packs. You can use a direct link to the generated archive from that repository with the regular link markup:

`file_name.zip <https://github.com/godotengine/godot-docs-project-starters/releases/download/latest-4.x/file_name.zip>`_

Лицензия

This documentation and every page it contains is published under the terms of the Creative Commons Attribution 3.0 license (CC BY 3.0), with attribution to "Juan Linietsky, Ariel Manzur and the Godot community".

Внося свой вклад в документацию через GitHub репозиторий, вы соглашаетесь с тем, что ваши изменения распространяются в соответствии с настоящей лицензией.