Frage

Wie setzen Sie die Registerkartenbreite in der HTML -Ausgabe von Sphinx -Code -Snippets fest, die von Pygmenten hervorgehoben werden? Standardmäßig ist es die ärgerliche 8, aber ich möchte 4. Ich habe in Sphinx Conf.Py kein Wort über diese Einstellung gefunden.

War es hilfreich?

Lösung

Sie müssen eine Sphinx -Erweiterung schreiben. Fügen Sie Ihren benutzerdefinierten Lexer hinzu, und wenden Sie es mit Sichtbarer WhitespaceFilter.

Andere Tipps

Fügen Sie Ihrem Conf.Py so etwas hinzu:

import re

def process_docstring(app, what, name, obj, options, lines):
    spaces_pat = re.compile(r"( {8})")
    ll = []
    for l in lines:
        ll.append(spaces_pat.sub("    ",l))
    lines[:] = ll

def setup(app):
    app.connect('autodoc-process-docstring', process_docstring)

Siehe auch Sphinx Docstring -Vorverarbeitung Dokumentation.

Ich stellte die gleiche Frage zur Sphinx-Dev-Gruppe und es stellt sich heraus, dass es ein Problem mit Dokumentilen ist, das von Sphinx verwendet wird. Dokumente ersetzen alle Registerkarten durch 8 Leerzeichen und derzeit gibt es keine Möglichkeit, diesen Wert von Sphinx zu ändern.

http://groups.google.com/group/sphinx-dev/browse_thread/thread/35b8071ffe9a8feb

Die einzig praktikable Lösung scheint darin zu sein, den Rat von S.lott und John Paulett in Kommentaren zu meiner Frage zu folgen - Nutze Räume anstelle von Registerkarten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top