Sphinx 0.2¶
Release 0.2 (27. Apr. 2008)¶
Inkompatible Änderungen¶
Jinja, die Template-Engine, die für die Standard-HTML-Templates verwendet wird, wird nicht mehr mit Sphinx ausgeliefert. Wenn sie nicht automatisch für Sie installiert wird (sie ist nun als Abhängigkeit in
setup.pyaufgeführt), installieren Sie sie manuell von PyPI. Dies ist auch erforderlich, wenn Sie Sphinx aus einem SVN-Checkout verwenden. In diesem Fall entfernen Sie bitte auch das Verzeichnissphinx/jinja, das möglicherweise von alten Revisionen übrig geblieben ist.Die umständliche Handhabung des
index.htmlTemplates wurde entfernt. Der Konfigurationswerthtml_indexist weg, und stattdessen solltehtml_additional_pagesverwendet werden. Wenn Sie es benötigen, ist das alteindex.htmlTemplate immer noch vorhanden, heißtdefindex.html, und Sie können Ihr html_index Template portieren, indem Sie die Jinja-Vererbung verwenden und Ihr Template ändern{% extends "defindex.html" %} {% block tables %} ... old html_index template content ... {% endblock %}
und
'index': name ihres templatesinhtml_additional_pageseinfügen.Im Layout-Template wurden redundante
blocks entfernt; Sie sollten stattdessen den Standardmechanismus von Jinja{{ super() }}verwenden, wie in der (neu geschriebenen) Templating-Dokumentation erklärt.
Neue Funktionen hinzugefügt¶
Erweiterungs-API (Application-Objekt)
Unterstützung für eine neue Methode,
add_crossref_type. Sie funktioniert wieadd_description_unit, aber die Direktive erstellt nur ein Ziel und keine Ausgabe.Unterstützung für eine neue Methode,
add_transform. Sie nimmt eine Standard-DocutilsTransformUnterklasse, die dann vom Sphinx-Reader beim Parsen von reST-Dokumentbäumen angewendet wird.Unterstützung für andere Template-Engines als Jinja hinzugefügt, indem eine Abstraktion namens "template bridge" hinzugefügt wurde. Diese Klasse kümmert sich um das Rendern von Templates und kann mit dem neuen Konfigurationswert "template_bridge" geändert werden.
Die Konfigurationsdatei selbst kann eine Erweiterung sein (wenn sie eine
setup()Funktion bereitstellt).
Markup
Neue Direktive,
currentmodule. Sie kann verwendet werden, um den Modulnamen der folgenden dokumentierten Elemente anzugeben, ohne Indexeinträge zu erstellen.Erlaubt die Angabe eines anderen Titels für Dokumente in der toctree.
Erlaubt die Angabe mehrerer Optionen in einer
cmdoptionDirektive.Anzeige von Klassenmitgliedern ohne explizit angegebenen Klassennamen behoben.
Templates (HTML-Ausgabe)
index.htmlumbenannt indefindex.html, siehe oben.Es gibt einen neuen Konfigurationswert,
html_title, der den Gesamt-"Titel" des Satzes von Sphinx-Dokumenten steuert. Er wird nun überall anstelle von "Projektname vX.Y Dokumentation" verwendet.Alle Verweise auf "Dokumentation" in den Templates wurden entfernt, so dass es mit den Standard-Templates einfacher ist, Sphinx für Nicht-Dokumentations-Dokumente zu verwenden.
Templates haben jetzt einen XHTML-DOCTYPE, um mit der HTML-Ausgabe von Docutils konsistent zu sein.
Sie können nun eine OpenSearch-Beschreibungsdatei mit dem Konfigurationswert
html_use_opensearcherstellen.Sie können jetzt schnell ein Logo in der Seitenleiste einfügen, indem Sie den Konfigurationswert
html_logoverwenden.Es gibt neue Blöcke in der Seitenleiste, so dass Sie problemlos Inhalte in die Seitenleiste einfügen können.
LaTeX-Ausgabe
Das Paket
sphinx.stywurde von unbenutzten Dingen bereinigt.Sie können ein Logo auf der Titelseite mit dem Konfigurationswert
latex_logoeinfügen.Sie können die Linkfarben sowie eine Rahmen- und Hintergrundfarbe für Verbatim-Umgebungen definieren.
Dank an Jacob Kaplan-Moss, Talin, Jeroen Ruigrok van der Werven und Sebastian Wiesner für Vorschläge.
Behobene Fehler¶
sphinx.ext.autodoc: Überprüfe
__module__für explizit angegebene Member nicht. Entferne "self" in der Argumentenliste des Konstruktors.sphinx.htmlwriter: Verwende os.path nicht zum Verbinden von Bild-HREFs.
sphinx.htmlwriter: Verwende SmartyPants nicht für HTML-Attributwerte.
sphinx.latexwriter: Implementierung von Optionslisten. Außerdem wurden einige andere Änderungen an
sphinx.styvorgenommen, um die Kompatibilität zu verbessern und alte unbenutzte Dinge zu entfernen. Danke an Gael Varoquaux dafür!sphinx.roles: Korrektur der Referenzierung von Glossarbegriffen mit expliziten Zielen.
sphinx.environment: Verschlucke keine TOC-Einträge beim Auflösen von Unterbäumen.
sphinx.quickstart: Erstelle eine sinnvolle Standardeinstellung für latex_documents.
sphinx.builder, sphinx.environment: Behandle einige Benutzerfehlerfälle gracefully.
sphinx.util: Folge symbolischen Links bei der Suche nach Dokumenten.