11

我正在寻找可以满足此类要求的帮助/文档生成工具:

  • 它应该支持 c# 编译器生成的 xmldoc 注释,或者(甚至更好)直接支持 sandcastle
  • 它应该支持导入 MS Word 文档。
  • 它应该支持创建从概念文档到源代码生成的参考文档的链接。
  • 如果它支持 MS Word 中的概念文档创作,那就太好了

更多细节。我的项目是.NET 的框架/库。它有几个 VS 解决方案,总共有 50 多个 C# 项目。首先,我想从我的项目的源代码中生成帮助(未来的 chm & help2 & help3)。我将该文档称为“参考文档”。沙堡(尤其是使用SCFB) 可以很好地做到这一点。但是(我想这是很常见的情况)我有一些关于框架/库的附加文档。该文档位于 MS Word 文件中(5-10 个文件)。我将该文档称为“概念文档”。我想用概念文档和参考文档(如 MSDN)制作一个可靠的帮助系统。我希望帮助的概念部分包含链接(URL),这些链接引用了来自框架/库的每个 .NET 类型名称的帮助的参考部分。(显然任何帮助系统最终都只是 HTML)。

问题是如何创建这些链接。MS Word 文件对 C# xmldoc 一无所知。Sandcastle 不支持 Word 文件。所以我必须采取一些帮助创作工具(HAT)。到目前为止,我找不到任何适合我的工具。如果有任何帮助,我将不胜感激!

所有工具的绊脚石是链接自动创建。我希望在生成期间自动创建链接(可以在构建服务器上进行)。为什么会自动?因为它允许轻松重命名类型。例如。我在概念文档中有一些文本:“用于访问请求处理上下文使用 XOperationContext 类型的静态属性 Current”。这里 XOperationContext 是一个类型名称。我希望它成为结果帮助系统中 XOperationContext 类规范的链接(URL),而无需付出任何重大努力。我想在 Word 中(可能安装了一些 HAT 的插件)或在 HAT 的编辑器中将其标记为“如果可能,请制作此单词链接”。在生成过程中,如果存在具有此类名称的类型名称,则每个此类单词都将成为链接。

我知道这些工具:

Doc-o-Matic 支持链接自动创建。真正自动。它尝试为 PascalCase 中的每个单词创建一个链接——非常出色。但它不支持 MS Word。Innovasys 和 ComponentOne 的软件不支持自动创建链接。Innovasys 的软件不支持 MS Word(对此我不确定 100%)。

我试图在 Innovasys 和 ComponentOne 的论坛上提问。到目前为止没有运气。Innovasys 的软支持方案和我的一样:在单独的工具 - HelpStudio 中创建概念文档,并使用另一个工具 - DocumentX 从源代码生成帮助。但是无法自动创建链接和导入 MS Word 文件。

因此,请分享您对该常见任务的过期时间(我相信它应该是常见的)。

ps如果我没有从英语语法的角度正确解释我的想法,请告诉我,我会再试一次。

4

6 回答 6

1

Sandcastle is open source, so why not invent something on your own? Write an office automation tool is not that hard after all. And you can even create a business on that tool.

于 2009-05-16T04:32:44.437 回答
1

如何将您的 MS Word 文件导出为 HTML,然后将它们合并到帮助文件的 HTML 中?这是一个选择吗?格式可能会丢失一些,但它可能会让您更好地集成所有内容。

于 2009-04-23T18:51:24.250 回答
1

我建议从SandCastle开始,然后对其中一种输出文件格式进行后处理以生成 Word 文档。*.docx从头开始制作 Office 2007 Word 文档(Brian Jones有一篇关于Open XML SDK的优秀博客,它支持处理来自 .NET 的 Office 文档。

如果创建一个完整的包对于您要完成的工作来说似乎太复杂或工作量太大,您总是可以决定从现有的 Word 文档开始,然后用您自己的文本替换占位符。

于 2009-07-05T14:56:19.540 回答
0

你看过Doxygen吗?它对 Word 文件没有任何作用,但它是开源的,所以也许您可以自己添加这些功能。我真的很喜欢它生成的文档,而且它非常轻量级,所以我将它包含在构建过​​程中以自动重新生成文档。

于 2009-06-04T21:14:08.417 回答
0

我认为解决方案是首先将您的 Word 文件转换为 (X)HTML 或其他非二进制格式,然后将概念文档与参考文档一起导入。您可以根据文档正文的文本内容(如您所指出的)自动创建链接,或者通过预处理步骤运行概念文档以对其进行注释。这甚至可以是导入前运行的脚本。

于 2009-05-23T03:37:49.110 回答
-1

Try taking a look at SandCastle.

于 2009-04-22T12:57:42.950 回答