2013-12-10 4 views
6

I Sphinx möchte eine Modulübersicht ähnlich der von doxygen erzeugt zu erzeugen, ist hier ein exampleSphinx erzeugen Klassenmodule Übersicht

ich finden kann nicht, wie Sphinx tun können, dass

ich konnte Verwenden Sie Graphviz, um eine Art Graph zu generieren, aber ich finde keine Möglichkeit, ein anklickbares Objekt im Graphen zu erhalten, das auf die gleiche Weise wie im obigen Beispiel funktioniert.

Gibt es eine Möglichkeit, dies in Sphinx direkt oder einige Hack zu tun, damit es als die Doxygen-Modul-Übersicht funktioniert?

Antwort

9

Sphinx hat eine eingebaute extension namens sphinx.ext.inheritance_diagram, die Graphviz verwendet. Es definiert eine Direktive: inheritance-diagram. Hier ist ein Beispiel dafür, wie man es in einer .rst Datei verwenden:

.. inheritance-diagram:: mymodule.MyClass1 mymodule.MyClass2 
    :parts: 1 

Hier sind einige Beispiele der Vererbung Diagramme in den Dokumenten, die von Sphinx:


Es gibt auch eine "generische" sphinx.ext.graphviz Erweiterung zum Einbetten von Diagrammen in die Dokumentation.