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.