Guidedog Handbuch 0.2.0
Sprache
Guidedog / Dokumentation 0.2.0

Auf andere Projekte verweisen

Mit sphinx.ext.intersphinx werden hier nicht auflösbare Verweise in den Inventaren anderer Projekte gesucht, den objects.inv jeder Sphinx- oder Guidedog-Site. Geben Sie die Projekte in conf.toml an:

extensions = ["sphinx.ext.intersphinx"]

[intersphinx_mapping]
python = ["https://docs.python.org/3/", ""]
click = ["https://click.palletsprojects.com/", ["click.inv", ""]]

Jeder Eintrag enthält die Seitenadresse und den Ort des Inventars: URL, Datei relativ zum Quellverzeichnis oder "" für das dortige objects.inv. Listen werden der Reihe nach versucht. Dies entspricht Sphinx' intersphinx_mapping, mit "" statt Pythons None; guidedog migrate konvertiert es.

Für Verweise ist dann nichts Neues nötig:

:func:`len`, :class:`list`, and :ref:`tut-packages` link into Python's documentation.
:ref:`click:testing` looks only in Click's inventory.
:external+python:ref:`tut-packages` never looks in this project.

Links zeigen für Labels und Dokumente die Titel des anderen Projekts und einen Tooltip wie „(in Python v3.14)“. Wie bei Sphinx benötigen :doc:-Verweise den Projektnamen (:doc:`python:tutorial/index`), da intersphinx_disabled_reftypes standardmäßig ["std:doc"] ist.

Inventare werden zu Build-Beginn abgerufen und für intersphinx_cache_limit Tage in _build/.doctrees/__intersphinx_cache__ gespeichert: Vorgabe 5; negative Werte behalten sie. Lokale Dateien werden bei jedem Build gelesen. Wie bei Sphinx wird bei einer URL-Weiterleitung das neue Verzeichnis zur Linkbasis und im Cache gespeichert, sodass Links identisch bleiben. Beispielsweise leitet https://werkzeug.palletsprojects.com/objects.inv nach /en/stable/ weiter. intersphinx_timeout begrenzt jeden Download in Sekunden. Unerreichbare Projekte erzeugen eine Warnung; ihre Verweise bleiben unaufgelöst.

Guidedog schreibt sein eigenes objects.inv mit Seiten, Labels, Begriffen und Objekten, sodass andere Projekte ebenso hierher verweisen können.