5

我希望使用 DocFx 为我们所有已发布的 API 文档创建一个中央存储库。我有通过我的构建(使用 TFS)自动生成并通过我的版本(使用 Octopus)发布的文档,这对于多个单独的站点来说都很好。但是,我想将它完全拉到一个位置。想法是,通过父站点,您可以过滤任何单个站点中的内容,而无需深入研究它们。您对如何执行此操作有建议吗?

此外,在同一个文档存储库中,我想提供搜索我们投资组合中数百个项目的所有元数据(项目级文档)的能力。这将使我们的 BA、DEV 和 QA 团队更容易访问我们所有系统的功能。我喜欢 DocFx 内置的“过滤”功能,但我想要对所有元数据进行全文搜索。您对此功能也有建议吗?

4

2 回答 2

8

要更改 docfx 输出的位置,请编辑docfx.json文件并指定dest值。默认情况下是"dest": "_site". 如需更多格式指导,请参考:https ://dotnet.github.io/docfx/tutorial/docfx.exe_user_manual.html 。

关于全文搜索,只需确保ExtractSearchIndex调用后处理器(以生成关键字文件)并在文件中设置index.json全局_enableSearch值即可。该文件的片段如下所示:truedocfx.json

"postProcessors": [ "ExtractSearchIndex" ],
"globalMetadata": {
  "_enableSearch": "true"
}
于 2018-07-05T22:44:10.750 回答
1

对于你的第一个问题:

我认为您所期望的就像.NET API Browser一样。这个页面背后的源代码是不对外公开的,所以你需要自己创建这个页面,通过从多个站点收集xrefmap.yml,并将需要的数据提取到这个页面中。

对于你的第二个问题:

DocFX 使用Luna扫描所有输出文件并生成一个索引文件index.json,供以后搜索使用。在您的情况下,您应该希望仅在您定义的元数据中限制搜索范围。默认情况下,DocFX 也不支持此功能。您还可以在您的中心位置使用 Luna 来搜索这些元数据。您可以先为每个项目创建您的特定index.json项目,然后在搜索页面收集它们的中心位置。

于 2018-03-06T15:01:29.740 回答