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

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

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

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

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

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

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

Ответы

Ответ 1

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

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

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

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

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

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

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

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

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

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

Даже если идея напрямую не воплощается в реальный проект, было бы интересно посмотреть, как многие другие пользователи действительно любят эту идею, так что ее можно было бы упомянуть на сайт Doxygen Todo.

EDIT: вы также можете проверить эту статью "Документация, git и MediaWiki" .