有没有一种方法可以从我在 C# 中的 XML 文档注释中生成 GitHub 的文档 wiki?

22

我希望能够为我在Github上的开源项目生成API文档。我想要从我的C#项目中的XML文档注释自动生成它们。我进行了一些简单的搜索,但没有找到有用的信息。是否有一种方法可以实现这个功能?

我希望生成的文档采用Github风格的Markdown格式。


你看过这个吗?http://stackoverflow.com/questions/48381/generating-documentation-from-c-sharp-xml-comments - K. Brafford
是的,但并不完全是我要找的,我以前使用过像 Sandcastle 这样的工具,但我想生成 Git 上的 Wiki Markdown。 - Ben Lesh
Doxygen怎么样?你不能将Doxygen的输出设置为在GitHub上的.nojekyll gh-pages分支吗? - K. Brafford
4个回答

8

2
干得好!我从没想到我的要点会变得如此受欢迎!!! - formixian

7

在搜索了一些资料后,我找到了这个有用的代码片段:

从VS XML文档生成Markdown

它将C#的XML文件转换成markdown并输出到控制台。我相信它还可以进一步改进,但是这已经是一个非常好的开端。我已经测试过它,完全可用。


3
我进行了一项实现,可以在以下链接中获得更好的结果:https://gist.github.com/formix/515d3d11ee7c1c252f92生成的文档如下:https://github.com/formix/MegaCityOne/blob/master/MegaCityOne/doc/api.md - formixian
那其实好多了 :) - Xaero Degreaz
@formix:看起来不错,但是有点难以确定我是否正在查看一个类、属性或方法。 - Jonathan Wood
@XaeroDegreaz:这个有文档吗?我对输入不是很清楚。它似乎并没有直接读取C#源文件。是否有一些过程可以从C#元注释生成XML文件? - Jonathan Wood
@JonathanWood 那是个好观点。我可能会在即将推出的版本中更清晰地表达它。 - formixian
显示剩余3条评论

5
我最终使用Sandcastle生成纯HTML,并使用该工具。不可避免地,我将编写自己的解析器或用于Sandcastle的自定义模板。
我不喜欢Doxygen或QDoc的学习曲线。

你能想出更好的解决方案吗? - Xaero Degreaz
链接现在无效了 :( 请您更新一下吗? - jurilents

3
我会推荐使用Doxygen。通过配置文件和XSLT,您可以对其进行几乎任何定制。请访问http://www.doxygen.nl/
在配置文件中设置源文件和输出,然后使用XSLT自定义输出。
对于Doxygen,已经有一个解析器工具(http://code.google.com/p/doxygenxmlparser/)可用于处理C#。
如果不喜欢这个想法,则另一个高度可配置的工具是Qt API的QDoc(位于http://qt-project.org)。当然,使用QDoc需要您构建Qt和特定的QDoc版本。
祝你好运!

1
你可以把 == true 去掉来缩短这个 if 语句 :) - theMayer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接