2012-06-28 22 views
19

Quiero generar documentación API para mi proyecto de código abierto en Github. Me gustaría crearlos automáticamente a partir de mis Comentarios de Documentación XML en mis proyectos de C#. Mi débil Google ha aparecido bubkiss. ¿Hay alguna forma de hacer esto?¿Hay alguna forma de generar una wiki de documentación para github a partir de los comentarios de mi documentación XML en C#?

Prefiero que sea en estilo Github Markdown.

+0

¿Has visto esto? http://stackoverflow.com/questions/48381/generating-documentation-from-c-sharp-xml-comments –

+0

Sí, pero eso no es exactamente lo que estoy buscando, he usado cosas como Sandcastle en el pasado, pero quiero generar git up markdown wiki. –

+0

¿Qué hay de Doxygen? ¿No podrías tomar la salida de doxígeno y configurarla como una rama de .nojekyll gh-pages en github? –

Respuesta

4

Terminé utilizando Sandcastle para generar HTML sin formato y usar eso. Inevitablemente, solo escribiré mi propio analizador o una plantilla personalizada para Sandcastle.

No me gustó la curva de aprendizaje de Doxygen o QDoc.

+0

¿Pudo encontrar alguna solución mejor? –

3

Recomendaría Doxygen. Al configurar Doxygen usando los archivos de cofigura y XSLT puedes hacer cualquier cosa con él. http://www.stack.nl/~dimitri/doxygen/

Establezca los archivos de origen y la salida en los archivos de configuración, luego use XSLT para personalizar la salida.

POr Doxygen Ther es una herramienta analizador (http://code.google.com/p/doxygenxmlparser/) ya preparado para hacer gran parte del trabajo con C#

si (youDoNotLikeThisIdea == true) Otro herramienta que es altamente configurable sería QDoc (parte de la API Qt) @http://qt-project.org. Por supuesto, usar QDoc requeriría que construyeras Qt y QDoc en particular.

¡Buena suerte!

+1

Podría acortar la declaración 'if' sacando' '== verdadero' :) – theMayer

6

Después de buscar un poco, me encontré con esta joya de una esencia:

Generates Markdown from VS XML documentation file

Se imprime con el C# XML -> reducción del precio de la consola. Estoy seguro de que se puede perfeccionar aún más, pero este es un gran comienzo. Lo probé y funciona totalmente.

+3

Hice una implementación que da mejores resultados en: https://gist.github.com/formix/515d3d11ee7c1c252f92 La documentación resultante es la siguiente: https://github.com/formix/MegaCityOne/blob/master/MegaCityOne/ doc/api.md – formixian

+0

Eso en realidad es mucho mejor :) –

+0

@formix: Se ve bien, pero es un poco difícil de decir si estoy buscando una clase, propiedad o método. –

Cuestiones relacionadas