如何在Sandcastle文档网站中创建类似MSDN的链接?

4
我用Sandcastle生成了我的项目的网站文档。这个网站使用了框架,所以当我点击不同的页面时,浏览器中的URL并不会改变。
我希望在通过使用Sandcastle生成的网站文档时,浏览器中的URL能够改变。为什么?因为我想从我的开发环境的其他部分链接到文档的具体子页面。
而且,我希望这些链接是永久的。所以当我再次从项目的新版本生成文档时,链接不会改变,这样我就不需要更改所有链接。
这是否可能,并如何实现?
3个回答

4
如果您将以下代码添加到SplitScreen.js的顶部,浏览器将“注入”TOC框架并聚焦于您直接链接的内容(使用Vitaly Shibaev展示的技巧)。
if (window==top) {
    window.location = "/?topic=" + (window.location.pathname.substring(1));
}

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

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


3

0

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

关于“使链接永久不变,以便在重新生成文档时不会更改”的部分,由于默认情况下创建的HTML文件名是基于主题名称的哈希值,因此这个问题会自动解决。也就是说,如果您没有更改正在记录的代码部分,则它将使用相同的文件名。

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

有关更多信息,请参见Sandcastle Help File Builder的NamingMethod文档。


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