2013-01-24 13 views
11

Wie erzwingen Sie beim Erstellen von HTML-Dokumentation, Sphinx zu melden, oder erstellen Sie einen Fehler, auf Links, die nicht existieren?sphinx report defekte links

Insbesondere habe ich Eigenschaften und Methoden in meinem Python-Projekt, die entfernt oder umbenannt wurden, und es ist schwer, alle toten Links mit der Sphinx generiert HTML-Ausgabe zu finden.

Ich fühle mich wie ich die Antwort hier anstarren: http://sphinx-doc.org/glossary.html, wie im einleitenden Absatz beschrieben.

Ich verstehe offensichtlich etwas nicht.

Antwort

4

Ich denke, CheckExternalLinksBuilder ist, was Sie suchen.

Es wird grundsätzlich verwendet, indem 'sphinx-build' mit -b linkcheck Option aufgerufen wird. Weitere Informationen finden Sie unter sphinx-build. Werfen Sie auch einen Blick auf die Liste der Sphinx-Erweiterungen here und here.

+2

Das funktioniert nicht zum Suchen nach Eigenschaften und Methoden in meinem Python-Projekt, die entfernt oder umbenannt wurden. Es scheint nur für externe Links zu funktionieren. – Idaho

+0

Ok, ich verstehe. Ich bin mir nicht sicher, ob es für Sphinx die Aufgabe ist, kaputte Eigenschaften oder Methoden zu finden. Klingt nach Pylint, Pyflakes sind das richtige Werkzeug für den Job. – alecxe

12

Stellen Sie die nitpicky Konfigurationsvariable True (Sie können auch die -n option verwenden, wenn Sphinx-build ausgeführt wird).

Im pingelig wechselnden Modus erzeugt ein Querverweis auf eine Funktion (wie :func:`myfunc`), eine Klasse oder ein anderes Objekt, das nicht gefunden werden kann, eine Warnmeldung.

+0

genial, Hinzufügen von "nitpicky = True" in den Projekten conf.py Datei repariert es. – Idaho

+2

sehr nette Antwort! Gibt es eine Möglichkeit, diese Warnungen in eine Datei umzuleiten? – jsmedmar

+1

@jsmedmar, haben Sie versucht, die Option [** - w **] (http://www.sphinx-doc.org/en/stable/invocation.html#cmdoption-sphinx-build-w) zu verwenden? – mzjn