【问题标题】:Specifying a root container for Sandcastle MS Help Viewer output为 Sandcastle MS Help Viewer 输出指定根容器
【发布时间】:2013-08-13 19:23:41
【问题描述】:
我正在使用 Sandcastle Help File Builder 为 SDK 创建精美的文档。为了支持 Visual Studio 的 F1 功能,输出之一是 MS Help Viewer 格式。问题是当我们将包安装到 Help Viewer 1.0 (Visual Studio 2010) 或 Help Viewer 2.0 (Visual Studio 2012) 中时,文档没有放入根容器中。
图片中显示的“API 参考”节点是类库本身的容器。虽然我们可以重命名此节点,但这样做不会为我们留下任何位置来包含除了类库引用之外的概念性内容。将此与 .NET Framework 4 帮助中等效节点的位置进行比较。
问题:为了与其他文档保持一致,我们如何让 Sandcastle 帮助文件生成器在用户指定的顶级容器中为我们的项目生成 MS 帮助查看器输出,以及当前的“API 参考”类库文档是那个节点的子节点?
【问题讨论】:
标签:
documentation
sandcastle
shfb
help-viewer
【解决方案1】:
根节点实际上被指定为概念性内容文档。
- 确保文档项目具有内容布局文档。
-
使用概念模板在文档项目中创建一个名为MSHelpViewerRoot.aml 的新概念内容文档。内容可能如下所示(将 [Guid] 替换为生成的 GUID,将 [My Topic] 替换为您的内容主题):
<?xml version="1.0" encoding="utf-8"?>
<topic id="[Guid]" revisionNumber="1">
<developerConceptualDocument
xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"
xmlns:xlink="http://www.w3.org/1999/xlink">
<introduction>
<para>Welcome to the [My Topic] Reference</para>
</introduction>
<section>
<content>
<para>Select a topic from the table of contents.</para>
</content>
</section>
<relatedTopics/>
</developerConceptualDocument>
</topic>
-
将MSHelpViewerRoot.aml 概念性内容添加到内容布局文档中。
- 在主题属性下,将
[My Topic] SDK指定为标题
- 在主题属性下,选中用作 MS Help Viewer 根容器复选框
- 在索引关键字下,添加一个带有索引
K和术语 [My Topic] SDK的条目
生成的配置可能类似于以下内容:
最后一点,除了根节点之外,您可能还需要执行以下操作:
- 创建一个
Welcome.aml 概念性内容文档
- 在
MSHelpViewerRoot.aml 的<relatedTopics> 元素中添加指向欢迎文档的链接
- 在内容布局设置中将
Welcome.aml 设置为用作默认主题元素
- 添加
License.aml概念性内容文档