Sphinx 2.0

Release 2.0.1 (veröffentlicht am 08. Apr 2019)

Behobene Fehler

  • LaTeX: Einige Systembezeichnungen sind nicht übersetzt

  • RemovedInSphinx30Warning wird als ausstehend markiert

  • Deprecation Warnings werden nicht ausgegeben

    • sphinx.application.CONFIG_FILENAME

    • sphinx.builders.htmlhelp

    • viewcode_import

  • #6208: C++, richtige Interpretation von vollständigen XRefs, die zufällig eine kurze XRef als Präfix haben

  • #6220, #6225: napoleon: AttributeError wird für aufgerufene Abschnitte mit Referenzen ausgelöst

  • #6245: Zirkulärer Importfehler beim Importieren von SerializingHTMLBuilder

  • #6243: LaTeX: Einstellung 'releasename' für latex_elements wird ignoriert

  • #6244: HTML: Suchfunktion ist mit 3rd-Party-Themes fehlerhaft

  • #6263: HTML: HTML5Translator stürzt mit ungültigem Feldknoten ab

  • #6262: HTML-Theme: Der Stil von Feldlisten hat sich im Bizstyle-Theme geändert

Release 2.0.0 (veröffentlicht am 29. Mär 2019)

Abhängigkeiten

2.0.0b1

  • Der LaTeX-Builder benötigt nun TeX Live 2015 oder neuer.

  • Der LaTeX-Builder (mit 'pdflatex' latex_engine) verarbeitet Unicode-griechische Buchstaben im Text (nicht in mathematischem Markup) über die Textschrift und maskiert sie nicht in mathematischem Markup. Siehe die Diskussion des Schlüssels 'fontenc' von latex_elements; eine solche (optionale) Unterstützung für Griechisch fügt beispielsweise auf Ubuntu xenial die Pakete texlive-lang-greek und (wenn die Standard-Schriftarteinstellungen nicht geändert werden) cm-super(-minimal) als zusätzliche Sphinx-LaTeX-Anforderungen hinzu.

  • Der LaTeX-Builder mit latex_engine auf 'xelatex' oder 'lualatex' gesetzt, erfordert (standardmäßig) die FreeFont-Schriftarten, die unter Ubuntu xenial vom Paket fonts-freefont-otf und z. B. unter Fedora 29 über das Paket texlive-gnu-freefont bereitgestellt werden.

  • requests 2.5.0 oder höher

  • Das Six-Paket ist keine Abhängigkeit mehr

  • Das Paket sphinxcontrib-websupport ist keine Abhängigkeit mehr

  • Einige Pakete wurden in Unterpakete aufgeteilt

    • sphinxcontrib.applehelp

    • sphinxcontrib.devhelp

    • sphinxcontrib.htmlhelp

    • sphinxcontrib.jsmath

    • sphinxcontrib.serializinghtml

    • sphinxcontrib.qthelp

Inkompatible Änderungen

2.0.0b1

  • Unterstützung für Python 2.7 und 3.4 wurde entfernt

  • Unterstützung für Docutils 0.11 wurde entfernt

  • Features und APIs, die in 1.7.x als veraltet markiert wurden, wurden entfernt

  • Die Standardeinstellung für master_doc wurde auf 'index' geändert, was bereits lange Zeit als Standard von sphinx-quickstart verwendet wurde.

  • LaTeX: Nachrichteneressourcen in sphinxmessage.sty verschoben

  • LaTeX: Verwendung des Makros \captions<lang> für einige Bezeichnungen eingestellt

  • LaTeX: Für 'xelatex' und 'lualatex' werden standardmäßig die FreeFont OpenType-Schriftarten verwendet (Referenz: #5645)

  • LaTeX: 'xelatex' und 'lualatex' verwenden jetzt \small in Code-Blöcken (aufgrund der Zeichenbreite von FreeMono), so wie es 'pdflatex' bereits tat (aufgrund der Zeichenbreite von Courier). Möglicherweise müssen Sie dies über den Schlüssel 'fvset' in latex_elements anpassen, falls Sie andere OpenType-Schriftarten verwenden (Referenz: #5768)

  • LaTeX: Griechische Buchstaben im Text werden nicht in mathematisches Markup umgewandelt, und sie verwenden die Textschrift und nicht die mathematische Schrift. Die Schriftkodierung LGR muss dem Schlüssel 'fontenc' von latex_elements hinzugefügt werden, damit dies funktioniert (nur wenn es für das Dokument benötigt wird, natürlich).

  • LaTeX: Die Einstellung der language auf 'en' löste die Sonny-Option von fncychap aus, jetzt ist es Bjarne, um dem Fall ohne Sprachangabe zu entsprechen. (Referenz: #5772)

  • #5770: doctest: Befolgt highlight_language bei der Hervorhebung von Doctest-Blöcken. Infolgedessen werden sie standardmäßig als Python3 hervorgehoben.

  • Die Reihenfolge der Argumente für HTMLTranslator, HTML5Translator und ManualPageTranslator wurde geändert

  • LaTeX: Fest kodierte Neudefinitionen von \l@section und \l@subsection, die zuvor beim Laden der Dokumentklasse 'manual' ausgeführt wurden, werden jetzt später ausgeführt, zur Zeit von \sphinxtableofcontents. Das bedeutet, dass benutzerdefinierte Benutzerdefinitionen aus der LaTeX-Präambel nun überschrieben werden. Verwenden Sie \sphinxtableofcontentshook, um benutzerdefinierte Benutzerdefinitionen einzufügen. Siehe Makros.

  • quickstart: Generierte conf.py vereinfacht

  • #4148: quickstart: Einige Fragen wurden entfernt. Sie können weiterhin über Kommandozeilenoptionen angegeben werden

  • websupport: Aus dem Sphinx-Kern ausgegliedert. Bitte verwenden Sie sphinxcontrib-websupport

  • C++: Die Sichtbarkeit von Basisklassen wird jetzt immer als im Quelltext vorhanden gerendert. Das heißt, private wird jetzt angezeigt, wo es zuvor ausgelassen wurde.

  • LaTeX: Die Einbindung von Grafiken bei überdimensionierten Bildern wird so skaliert, dass sie die Textbreite und -höhe nicht überschreiten, auch wenn Breiten- und/oder Höhenoptionen verwendet wurden. (Referenz: #5956)

  • epub: epub_title wird standardmäßig auf die Option project gesetzt

  • #4550: Alle Tabellen und Abbildungen ohne align-Option werden zentriert angezeigt

  • #4587: HTML: Ausgabe von HTML5 als Standard

2.0.0b2

  • texinfo: Bilddateien werden in das Verzeichnis name-figure kopiert

Veraltet

2.0.0b1

  • Die Unterstützung für die Auswertung von Python 2-Syntax ist veraltet. Dies schließt Konfigurationsdateien ein, die in Python 3 konvertiert werden sollten.

  • Die Argumente von EpubBuilder.build_mimetype(), EpubBuilder.build_container(), EpubBuilder.bulid_content(), EpubBuilder.build_toc() und EpubBuilder.build_epub()

  • Die Argumente von Epub3Builder.build_navigation_doc()

  • Die Konfigurationsvariablen

    • html_experimental_html5_writer

  • Das Argument encoding von autodoc.Documenter.get_doc(), autodoc.DocstringSignatureMixin.get_doc(), autodoc.DocstringSignatureMixin._find_signature() und autodoc.ClassDocumenter.get_doc() ist veraltet.

  • Das Argument importer von sphinx.ext.autodoc.importer._MockModule

  • Das Argument nodetype von sphinx.search.WordCollector. is_meta_keywords()

  • Das Argument suffix von env.doc2path() ist veraltet.

  • Das Argument im String-Stil base von env.doc2path() ist veraltet.

  • Der Fallback zur Zulassung der Auslassung des Arguments filename aus einer überschriebenen IndexBuilder.feed()-Methode ist veraltet.

  • sphinx.addnodes.abbreviation

  • sphinx.application.Sphinx._setting_up_extension

  • sphinx.builders.epub3.Epub3Builder.validate_config_value()

  • sphinx.builders.html.SingleFileHTMLBuilder

  • sphinx.builders.htmlhelp.HTMLHelpBuilder.open_file()

  • sphinx.cmd.quickstart.term_decode()

  • sphinx.cmd.quickstart.TERM_ENCODING

  • sphinx.config.check_unicode()

  • sphinx.config.string_classes

  • sphinx.domains.cpp.DefinitionError.description

  • sphinx.domains.cpp.NoOldIdError.description

  • sphinx.domains.cpp.UnsupportedMultiCharacterCharLiteral.decoded

  • sphinx.ext.autodoc.importer._MockImporter

  • sphinx.ext.autosummary.Autosummary.warn()

  • sphinx.ext.autosummary.Autosummary.genopt

  • sphinx.ext.autosummary.Autosummary.warnings

  • sphinx.ext.autosummary.Autosummary.result

  • sphinx.ext.doctest.doctest_encode()

  • sphinx.io.SphinxBaseFileInput

  • sphinx.io.SphinxFileInput.supported

  • sphinx.io.SphinxRSTFileInput

  • sphinx.registry.SphinxComponentRegistry.add_source_input()

  • sphinx.roles.abbr_role()

  • sphinx.roles.emph_literal_role()

  • sphinx.roles.menusel_role()

  • sphinx.roles.index_role()

  • sphinx.roles.indexmarkup_role()

  • sphinx.testing.util.remove_unicode_literal()

  • sphinx.util.attrdict

  • sphinx.util.force_decode()

  • sphinx.util.get_matching_docs()

  • sphinx.util.inspect.Parameter

  • sphinx.util.jsonimpl

  • sphinx.util.osutil.EEXIST

  • sphinx.util.osutil.EINVAL

  • sphinx.util.osutil.ENOENT

  • sphinx.util.osutil.EPIPE

  • sphinx.util.osutil.walk()

  • sphinx.util.PeekableIterator

  • sphinx.util.pycompat.NoneType

  • sphinx.util.pycompat.TextIOWrapper

  • sphinx.util.pycompat.UnicodeMixin

  • sphinx.util.pycompat.htmlescape

  • sphinx.util.pycompat.indent

  • sphinx.util.pycompat.sys_encoding

  • sphinx.util.pycompat.terminal_safe()

  • sphinx.util.pycompat.u

  • sphinx.writers.latex.ExtBabel

  • sphinx.writers.latex.LaTeXTranslator._make_visit_admonition()

  • sphinx.writers.latex.LaTeXTranslator.babel_defmacro()

  • sphinx.writers.latex.LaTeXTranslator.collect_footnotes()

  • sphinx.writers.latex.LaTeXTranslator.generate_numfig_format()

  • sphinx.writers.texinfo.TexinfoTranslator._make_visit_admonition()

  • sphinx.writers.text.TextTranslator._make_depart_admonition()

  • Vorlagenvariablen für LaTeX-Vorlage

    • logo

    • numfig_format

    • pageautorefname

    • translatablestrings

Weitere Details finden Sie unter Liste veralteter APIs.

Hinzugefügte Funktionen

2.0.0b1

  • #1618: Die Vorschau der Suchergebnisse der generierten HTML-Dokumentation ist leserfreundlicher: Anstatt die Snippets als rohen reStructuredText-Markup anzuzeigen, rendert Sphinx nun das entsprechende HTML. Das bedeutet, dass die Sphinx-Erweiterung Sphinx: pretty search results nicht mehr notwendig ist. Beachten Sie, dass Änderungen an der Suchfunktion Ihrer benutzerdefinierten oder 3rd-Party-HTML-Vorlagen diese Verbesserung überschreiben könnten.

  • #4182: autodoc: Unterstützung für suppress_warnings

  • #5533: autodoc: autodoc_default_options unterstützt member-order

  • #5394: autodoc: Lesbare Namen in Typ-Annotationen für gemockte Objekte anzeigen

  • #5459: autodoc: autodoc_default_options akzeptiert True als Wert

  • #1148: autodoc: Hinzufügen der Direktive autodecorator für Dekoratoren

  • #5635: autosummary: Hinzufügen von autosummary_mock_imports, um externe Bibliotheken beim Importieren von Zielen zu mocken

  • #4018: htmlhelp: Hinzufügen von htmlhelp_file_suffix und htmlhelp_link_suffix

  • #5559: text: Unterstützung für komplexe Tabellen (colspan und rowspan)

  • LaTeX: Unterstützung für die Darstellung (noch nicht in mathematischem Kontext) von griechischen und kyrillischen Unicode-Buchstaben in nicht-kyrillischen Dokumenten, auch mit 'pdflatex' als latex_engine (Referenz: #5645)

  • #5660: Die Direktiven versionadded, versionchanged und deprecated werden nun mit ihren eigenen spezifischen CSS-Klassen (added, changed bzw. deprecated) zusätzlich zur generischen Klasse versionmodified generiert.

  • #5841: apidoc: Hinzufügen der Option –extensions zu sphinx-apidoc

  • #4981: C++: Alias-Direktive hinzugefügt, um Listen von Deklarationen einzufügen, die auf bestehende Deklarationen verweisen (z. B. zur Erstellung einer Synopsis).

  • C++: Hinzufügen von cpp:struct als Ergänzung zu cpp:class.

  • #1341: Die HTML-Suche betrachtet Wörter, die einen Suchbegriff von drei oder mehr Zeichen enthalten, als Treffer.

  • #4611: epub: Warnung bei doppelten ToC-Einträgen anzeigen

  • #1851: Zulassen, dass ein Argument für die Direktive code-block weggelassen wird. Wenn weggelassen, folgt es highlight oder highlight_language

  • #4587: HTML: Hinzufügen von html4_writer zur Verwendung des alten HTML4-Writers

  • #6016: HTML-Suche: Ein Platzhalter für die Suchzusammenfassung verhindert, dass sich die Position von Suchergebnissen ändert, wenn die Suche beendet wird. Dies erleichtert die Navigation durch Suchergebnisse.

  • #5196: Linkcheck überprüft auch die Existenz von entfernten Bildern

  • #5924: githubpages: Erstellung einer CNAME-Datei für benutzerdefinierte Domains, wenn html_baseurl gesetzt ist

  • #4261: autosectionlabel: Einschränkung der beschrifteten Abschnitte durch einen neuen Konfigurationswert; autosectionlabel_maxdepth

Behobene Fehler

2.0.0b1

  • #1682: LaTeX: Writer sollte griechisches Unicode nicht übersetzen, sondern das textgreek-Paket verwenden

  • #5247: LaTeX: PDF wird nicht mit Standard-Schriftartkonfiguration für russische Sprache und 'xelatex' oder 'lualatex' als latex_engine erstellt (Referenz: #5251)

  • #5248: LaTeX: Griechische Buchstaben in Abschnittstiteln verschwinden aus PDF-Lesezeichen

  • #5249: LaTeX: Unicode-griechische Buchstaben in mathematischen Direktiven brechen den PDF-Build (Fehlerbehebung erfordert zusätzliche Einrichtung, siehe latex_elements Schlüssel 'textgreek' und/oder Einstellung von latex_engine)

  • #5772: LaTeX: Sollte der Bjarne-Stil von fncychap auch für Englisch verwendet werden, wenn es als Sprachoption übergeben wird?

  • #5179: LaTeX: (nur lualatex) Maskierung von > durch \textgreater{} ist nicht ausreichend, da \textgreater{}\textgreater{} TeX-Ligaturen anwendet

  • LaTeX: Projektname wird nicht maskiert, wenn latex_documents weggelassen wird

  • LaTeX: Autoren werden nicht angezeigt, wenn latex_documents weggelassen wird

  • HTML: Für ein Glossar mit mehreren Begriffen für eine Beschreibung wird eine ungültige HTML5-Datei generiert (Referenz: #4611)

  • QtHelp: Betriebssystemabhängiger Pfadtrennzeichen wird in der .qhp-Datei verwendet

  • HTML-Suche: Suche gibt immer nichts zurück, wenn mehrere Suchbegriffe verwendet werden und ein Begriff kürzer als drei Zeichen ist

2.0.0b2

  • #6096: HTML: Ankerlinks werden nicht zu Abbildungen hinzugefügt

  • #3620: HTML: searchindex.js verzögert laden statt über AJAX

  • #6113: HTML: Tabellenzellen und Listenpunkte haben große Ränder

  • #5508: Die Option linenothreshold für die Direktive highlight wurde ignoriert

  • texinfo: make install-info verursacht Syntaxfehler

  • texinfo: make install-info schlägt unter macOS fehl

  • #3079: texinfo: Bilddateien werden bei make install-info nicht kopiert

  • #5391: Ein Querverweis in einer Überschrift wird als wörtlich gerendert

  • #5946: C++: Behebung von cpp:alias-Problemen in LaTeX (und singlehtml)

  • #6147: Das Attribut classes von citation_reference-Knoten geht verloren

  • AssertionError wird ausgelöst, wenn ein benutzerdefinierter citation_reference-Knoten mit dem Attribut classes auf eine fehlende Zitation verweist (Referenz: #6147)

  • #2155: Unterstützung für die Direktive code

  • C++: Korrigierte Parsierung von geschweiften Initialisierern.

  • #6172: AttributeError wird für alte Index-Knoten ausgelöst

  • #4872: inheritance_diagram: Korrekte Beschreibung des Verhaltens der Option parts in der Dokumentation, Zulassung negativer Werte.

  • #6178: i18n: Beschriftungen fehlen in Übersetzungen für versteckte TOCs

2.0.0 final

  • #6196: py-Domäne: Unerwarteter Präfix wird generiert

Tests

2.0.0b1

  • Verwendung der Umgebungsvariable SPHINX_TEST_TEMPDIR eingestellt

2.0.0b2

  • Hilfsfunktion hinzugefügt: sphinx.testing.restructuredtext.parse()