2016-03-20 3 views
4

Ich arbeite an einem C++ Projekt und habe mich wirklich in das Sphinx Dokumentations-Build-System verliebt. Ich habe es geschafft, Doxygen und Breathe einzurichten, um die C++ - Beschreibungen für Sphinx zu erstellen.Sphinx + Doxygen + Breathe: Wie bekomme ich eine Dokumentation wie die von Ceres Solver von Google?

Ich kann nicht herausfinden, wie die Ceres-Solver-Dokumentation von Google gemacht wurde. Ihr API reference zum Beispiel enthält Klassennamen gefolgt von viel Text, manchmal sogar mit Codeblockbeispielen wie im vorherigen Link gezeigt. Gibt es eine Möglichkeit, Doxygen-Dokumentation in die Quelldateien zu schreiben und dies zu erreichen?

Ein anderes Beispiel ist this class documentation, das ungefähr zwei Seiten Text hat. Ich bezweifle irgendwie, dass sich dieser ganze Text in den Quelldateien befindet, wie Doxygen kommentiert. Ich habe das Gefühl, dass der ganze Extra-Text in die restrukturierten Textquellen für die Dokumentation und nichts in die C++ - Quelldateien geschrieben wurde. Aber dann was ist der Punkt der Verwendung von Doxygen und atmen ...

Oder anders gefragt, wo sollte ich High-Level-Informationen über den Code? Ich meine, ich kann class1 und class2 in ihren Quellen dokumentieren, aber irgendwo muss ich erklären, wie beide interagieren und zusammen verwendet werden. Das ist meiner Meinung nach die Dokumentation des Ceres Solvers.

Alternativ können Sie mich auf ein C++ - Projekt mit der Sphinx + Doxygen + Breathe-Pipeline und Open-Source-Dokumentation verweisen. Dann kann ich selbst sehen, wie ich diese Dinge mache. Leider kenne ich kein Projekt.

+0

* "Gibt es eine Möglichkeit, Doxygen Dokumentation in den Quelldateien zu schreiben und dies zu erreichen?" * - [Ja] (https://www.stack.nl/~dimitri/doxygen/manual/docblocks.html). – IInspectable

+0

@Intensible Nun, danke, aber haben Sie mein Beispiel überprüft? Die Dokumentation einer Klasse enthält dort Codebeispiele, Inline-Markups für neu strukturierten Text und mehr. Ich kann Inline-Markups von ReST zu den Quellen hinzufügen, aber nicht Anweisungen wie .. HINWEIS ::, die von Sphinx ignoriert wird. – Cat

+0

Ja. Haben Sie Dutzende Seiten der Dokumentation in weniger als 1 Minute gelesen? – IInspectable

Antwort

3

Ich habe den GitHub-Link für den Ceres Solver verpasst. Dort können die Quellen der Dokumentation gefunden werden. Ich bin ein wenig enttäuscht, weil die vollständige Dokumentation in den Quelltextdateien für neu strukturierten Text und NICHT im C++ - Code geschrieben ist. Grundsätzlich referenzieren sie den Klassennamen mit .. class:: className und fügen dann ReST-Abschriften für informativen Text, Beispielcode-Blöcke usw. hinzu. Ein Beispiel ist gegeben in "Modeling Non-linear Least Squares"

Verwandte Themen