Я работаю над проектом C ++ и действительно влюбился в систему сборки документации Sphinx. Мне удалось настроить Doxygen и Breathe для создания и предоставления описаний C ++ для Sphinx.
Я не могу понять, как была сделана документация Google Ceres Solver. Их Справочник по API например, содержит имена классов, за которыми следует много текста, иногда даже с примерами блоков кода, как показано в предыдущей ссылке. Есть ли способ написать документацию Doxygen внутри исходных файлов и добиться этого?
Другой пример документация этого класса, который имеет около двух страниц текста. Я почему-то сомневаюсь, что весь этот текст находится в исходных файлах как комментарии Doxygen. У меня такое ощущение, что весь дополнительный текст был написан в реструктурированных текстовых источниках для документации и ничего в исходных файлах c ++. Но тогда какой смысл использовать доксиген и дышать …
Или спросил по-другому, где я должен разместить высокоуровневую информацию о коде? Я имею в виду, я могу документировать class1
а также class2
в их источниках, но где-то мне нужно объяснить, как они оба взаимодействуют и используются вместе. Это то, что документация Ceres Solver делает так хорошо, на мой взгляд.
В качестве альтернативы вы можете указать мне на проект C ++ с конвейером Sphinx + Doxygen + Breathe и документацией с открытым исходным кодом. Тогда я смогу увидеть, как это сделать. К сожалению, я не знаю ни о каком проекте.
Я пропустил ссылку на GitHub для Ceres Solver. Там источники документации можно найти. Я немного разочарован, потому что полная документация написана в исходных файлах Restructured Text, а НЕ внутри кода c ++. В основном они ссылаются на имя класса с .. class:: className
а затем добавить разметку ReST для информативного текста, пример кодовых блоков и т. д. Один пример приведен в «Моделирование нелинейных наименьших квадратов»
Других решений пока нет …