5

我已经用 Sandcastle 生成了我的项目的网站文档。这个网站使用框架,所以当我点击网站时,我在浏览器中的 URL 不会改变。

当我浏览使用 Sandcastle 生成的网站文档时,我希望在浏览器中更改 URL。为什么?因为我想从我的开发人员环境的其他部分链接到文档的具体子页面。

此外,我希望此链接永久有效。因此,当我从项目的新版本再次生成文档时,链接不会改变,因此我不需要将所有链接都更改为新的。

这可能吗?如何实现?

4

3 回答 3

4

为了创建指向文档特定子页面的正确链接,您可以使用类似的请求:$DOCUMENTATION_ROOT$/Index.aspx?topic=html/$TOPIC_ID$.htm

例如http://www.ewoodruff.us/shfbdocs/Index.aspx?topic=html/8dcbb69b-7a1a-4049-8e6b-2bf344efbbc9.htm 而不是http://www.ewoodruff.us/shfbdocs/html/8dcbb69b- 7a1a-4049-8e6b-2bf344efbbc9.htm

于 2010-08-08T16:03:32.497 回答
4

如果您将以下代码添加到浏览器顶部,SplitScreen.js则会“注入” TOC 框架并专注于您直接链接到的内容(使用 Vitaly Shibaev 展示的技巧)。

if (window==top) {
    window.location = "/?topic=" + (window.location.pathname.substring(1));
}

此代码适用于文档放置在您网站的根目录中 - 如果您将其放在子文件夹中,则需要扩展“/?topic”并从路径名部分中删除子文件夹部分。

通过此更改,您可以使用“直接链接”。我还希望通过 Google 找到您的人获得更好的体验(获得他们搜索的内容和 TOC 栏)。

于 2010-09-08T13:06:35.100 回答
0

Vitaliymawtex解决了您问题的“如何链接到文档子页面”部分。

“使链接永久化,因此在重新生成文档时它们不会改变”部分问题会自动解决,因为默认情况下创建的 html 文件名基于主题名称的哈希值。即,如果您不更改正在记录的代码部分,那么它将使用相同的文件名。

您可以更改生成 html 文件名的方式,但所有给定的方法都基于成员名称或主题 ID 的哈希,因此如果代码没有更改,链接不应中断。

有关详细信息,请参阅 Sandcastle 帮助文件生成器的NamingMethod文档。

于 2010-10-13T05:37:54.233 回答