Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Erstellen des Handbuchs mit Sphinx

Auf dieser Seite wird erklärt, wie Sie eine lokale Kopie des Godot-Handbuchs mithilfe der Sphinx docs-Engine erstellen können. Dies ermöglicht Ihnen, lokale HTML-Dateien zu haben und die Dokumentation z.B. als PDF-, EPUB- oder LaTeX-Datei zu erstellen.

Bevor Sie beginnen, vergewissern Sie sich, dass Sie diese Dinge haben:

Bemerkung

Python 3 sollte mit dem Befehl pip3 ausgeliefert werden. Möglicherweise müssen Sie python3 -m pip (Unix) oder py -m pip (Windows) anstelle von pip3 schreiben. Wenn beide Ansätze scheitern, stellen Sie sicher, dass Sie pip3 installiert haben.

  1. (Optional) Richten Sie eine virtuelle Umgebung ein. Virtuelle Umgebungen verhindern mögliche Konflikte zwischen den Python-Paketen in requirements.txt und anderen Python-Paketen, die auf Ihrem System installiert sind.

    1. Erstellen Sie die virtuelle Umgebung:

      py -m venv godot-docs-venv
      
    2. Aktivieren Sie die virtuelle Umgebung:

      godot-docs-venv\Scripts\activate.bat
      
    3. (Optional) Aktualisieren Sie vorinstallierte Pakete:

      py -m pip install --upgrade pip setuptools
      
  2. Klonen Sie das Docs-Repository:

    git clone https://github.com/godotengine/godot-docs.git
    
  3. Wechseln Sie in das Verzeichnis des Docs-Repository:

    cd godot-docs
    
  4. Installieren Sie die erforderlichen Pakete:

    pip3 install -r requirements.txt
    
  5. Erstellen Sie die Dokumente:

    make html
    

    Bemerkung

    Unter Windows wird dieser Befehl make.bat anstelle von GNU Make (oder einer Alternative) ausführen.

    Alternativ können Sie die Dokumentation auch erstellen, indem Sie das Programm sphinx-build manuell ausführen:

    sphinx-build -b html ./ _build/html
    

Die Kompilierung wird einige Zeit dauern, da der Ordner classes/ hunderte von Dateien enthält. Siehe Hinweise zur Performance.

Sie können dann die Dokumentation durchsuchen, indem Sie _build/html/index.html in Ihrem Webbrowser öffnen.

Umgang mit Fehlern

Wenn Sie auf Fehler stoßen, können Sie den folgenden Befehl versuchen:

make SPHINXBUILD=~/.local/bin/sphinx-build html

If you get a MemoryError or EOFError, you can remove the classes/ folder and run make again. This will drop the class references from the final HTML documentation, but will keep the rest intact.

Wichtig

Wenn Sie den Ordner classes/ löschen, verwenden Sie nicht git add, wenn Sie an einem Pull Request arbeiten, sonst wird der gesamte Ordner classes/ beim Commit entfernt. Siehe #3157 für weitere Details.

Hinweise zur Performance

RAM-Verbrauch

Das Erstellen der Dokumentation erfordert mindestens 8 GB RAM, um ohne Festplatten-Swapping zu laufen, was es verlangsamt. Wenn Sie mindestens 16 GB RAM haben, können Sie die Kompilierung beschleunigen, indem Sie folgendes ausführen:

set SPHINXOPTS=-j2 && make html

Sie können -j auto verwenden, um alle verfügbaren CPU-Threads zu nutzen, aber dies kann eine Menge RAM verbrauchen, wenn Sie viele CPU-Threads haben. Auf einem System mit 32 CPU-Threads kann zum Beispiel -j auto (was hier -j 32 entspricht) 20+ GB RAM allein für Sphinx benötigen.

Angeben einer Liste von Dateien

Warnung

This section will not work on Windows, since the repository is using a simplified make.bat script instead of the real GNU Make program. If you would like to get a Linux terminal on your system, consider using Windows Subsystem for Linux (WSL).

Sie können eine Liste der zu erstellenden Dateien angeben, was die Kompilierung erheblich beschleunigen kann:

make html FILELIST='classes/class_node.rst classes/class_resource.rst'

The list of files can also be provided by the git command. This way you can automatically get the names of all files that have changed since the last commit (sed is used to put them on the same line).

make html FILELIST="$(git diff HEAD --name-only | sed -z 's/\n/ /g')"

You can replace HEAD with master to return all files changed from the master branch:

make html FILELIST="$(git diff master --name-only | sed -z 's/\n/ /g')"

If any images were modified, the output will contain some warnings about them, but the build will proceed correctly.