Существует ли вики для редактирования комментариев doxygen?

Я работаю над довольно большим игровым движком RTS с открытым исходным кодом (Spring). Недавно я добавил несколько новых функций C++, которые можно вызывать с помощью Lua, и мне интересно, как их лучше документировать, и в то же время стимулировать людей к написанию/обновлению документации для множества существующих вызовов Lua. ауты

Поэтому я подумал, что было бы неплохо, если бы я мог сначала написать документацию в виде комментариев doxygen рядом с функциями C++ - это легко, потому что тело функции, очевидно, точно определяет, что делает функция. Тем не менее, я хотел бы, чтобы документация была улучшена разработчиками игр, использующими движок, которые обычно плохо понимают git (используемую нами систему контроля версий) или C++.

Следовательно, было бы идеально, если бы был способ автоматически генерировать apidocs из файла C++, а также иметь вики-подобный веб-интерфейс, позволяющий гораздо более широкой аудитории обновлять комментарии, добавлять примеры и т. д.

Итак, мне интересно, существует ли веб-инструмент, который объединяет форматирование в стиле doxygen, редактирование в стиле вики для этих комментариев (желательно, не позволяя редактировать какие-либо другие части исходного файла) и git? (для фиксации измененных комментариев через веб-интерфейс в специальную ветку)

Затем мы, разработчики, могли бы время от времени объединять эту ветку, чтобы добавлять улучшения в основную ветку, и в то же время любые улучшения документации, сделанные разработчиками, заканчивались бы в этом веб-инструменте с помощью простого слияния основной ветки в эту специальную. ответвляться.

Я еще ничего не нашел, сомневаюсь, что что-то конкретное существует, поэтому любые предложения приветствуются!


person Tobi    schedule 30.05.2009    source источник
comment
+1, действительно очень круто ... Это действительно может быть полезно, возможно, также для основных разработчиков, если ему удастся сделать редактирование отформатированных документов лучше, чем редактирование (иногда загадочной) разметки.   -  person unwind    schedule 02.06.2009
comment
Хороший вопрос, я даже не подумал об этом :-)   -  person Tobi    schedule 02.06.2009
comment
учитывая в целом положительные отзывы, я бы подумал о том, чтобы начать новый вопрос, спрашивая людей, хотят ли они использовать что-то подобное (за и против) и, возможно, детализировать свои требования к такой вики с документацией по исходному коду.   -  person none    schedule 15.06.2009
comment
Имеет смысл. Я постараюсь найти время для этого после моего нынешнего экзаменационного периода.   -  person Tobi    schedule 15.06.2009
comment
Если у вас есть какие-либо обновления по этому посту, я хотел бы знать.   -  person Alfonso Santiago    schedule 04.05.2017


Ответы (1)


Это действительно очень крутая идея, и пару лет назад у меня тоже была острая потребность в чем-то подобном. К сожалению, по крайней мере тогда, я не смог найти что-то подобное. Быстрый поиск на sourceforge и freshmeat также сегодня не дает ничего похожего.

Но я согласен, что такой вики-интерфейс для пользовательской документации был бы очень полезен, я точно знаю, что что-то подобное недавно обсуждалось и в сообществе Lua (см. это).

Итак, может быть, мы можем определить требования, чтобы придумать базовый рабочий проект/прототип?

Надеюсь, это побудит нас инициировать такой проект с минимальным набором функций, а затем просто выпустить его в открытый доступ как проект с открытым исходным кодом (например, на sourceforge), чтобы другие пользователи могли внести в него свой вклад.

В идеале можно было бы использовать унифицированные исправления для применения изменений, внесенных таким образом. Кроме того, вероятно, имеет смысл ограничить модификации только добавлением/редактированием комментариев, вместо того, чтобы разрешать произвольные модификации текста, это, вероятно, можно было бы реализовать с помощью простого регулярного выражения.

Возможно, можно было бы реализовать что-то подобное, изменив существующее (установленное) программное обеспечение вики, такое как mediawiki. Или, желательно, что-то, что уже использует git в качестве бэкэнда для целей хранения. Затем в основном нужно будет обслуживать эти комментарии в стиле Doxygen и поверх них предоставить простой интерфейс.

Если подумать, сам DoxyGen уже предоставляет поддержку для создания HTML-документации, поэтому с этой точки зрения может быть интересно посмотреть, как можно расширить DoxyGen, чтобы он был хорошо интегрирован с таким скриптовым бэкендом, который позволяет легко настройка встроенной документации по исходному коду.

Это, вероятно, в основном сводилось бы к предоставлению автономного скрипта с doxygen (например, на python, php или perl), а затем, при необходимости, к встраиванию форм в автоматически созданную HTML-документацию, чтобы исправления/дополнения документации можно было отправлять в соответствующий скрипт через браузер. , что, в свою очередь, запишет любые изменения обратно в соответствующую ветку.

В долгосрочной перспективе было бы здорово, если бы такой скрипт поддерживал разные типы бэкэндов (CVS, SVN или git) или, по крайней мере, был бы реализован достаточно универсально, чтобы его можно было легко расширять.

Так что, если мы сможем придумать хороший дизайн, вполне возможно, что такая модификация будет общепринята как вклад в сам doxygen, что также придаст всему этому гораздо большую известность и импульс.

Даже если идея не материализуется напрямую в реальный проект, было бы интересно посмотреть, скольким пользователям на самом деле нравится эта идея, чтобы ее можно было упомянуть в системе отслеживания проблем doxygen (https://github.com/doxygen/doxygen/issues/new).

РЕДАКТИРОВАТЬ: Вы также можете ознакомиться с этой статьей под названием "Документация, Git и MediaWiki".

person none    schedule 30.05.2009
comment
Я только что ответил на другой связанный вопрос SO о нашем текущем способе сделать это без использования такой вики (очевидно, мы предпочли бы вместо этого иметь вики-решение, которое хорошо интегрируется с используемой системой SCM): stackoverflow.com/questions/961601/ - person none; 07.06.2009