我已经使用Sandcastle生成了我的项目的网站文档。这个网站使用框架,所以当我点击网站时,浏览器中的网址不会改变。
当浏览Sandcastle生成的网站文档时,我想在浏览器中更改URL。为什么?因为我想链接到开发人员环境其他部分的文档的具体子页面。
还有更多我想永久保持这种联系。因此,当我再次从我的项目的新版本生成文档时,链接将不会更改,因此我不需要更改所有新链接。
这可能吗?如何实现这个目标?
答案 0 :(得分:4)
为了创建指向文档特定子页面的正确链接,您可以使用类似的请求:$ DOCUMENTATION_ROOT $ / Index.aspx?topic = html / $ TOPIC_ID $ .htm
E.g。 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
答案 1 :(得分:4)
如果您将以下代码添加到SplitScreen.js
的顶部,浏览器将“注入”TOC框架并专注于您直接链接到的内容(使用Vitaly Shibaev显示的技巧)。
if (window==top) {
window.location = "/?topic=" + (window.location.pathname.substring(1));
}
此代码的工作原理是文档放在您网站的根目录下 - 如果您将其放在子文件夹中,则需要展开“/?topic”并从路径名部分中删除子文件夹部分。< / p>
通过此更改,您可以使用“直接链接”。我还希望通过Google找到您的人获得更好的体验(获取他们搜索的内容和TOC栏)。
答案 2 :(得分:0)
Vitaliy和mawtex解决了问题中“如何链接到文档子页面”部分。
“使链接永久化以便在重新生成文档时不会更改”部分问题会自动解决,因为创建的html文件名默认基于主题名称的哈希值。即如果您不更改要记录的代码部分,则它将使用相同的文件名。
您可以更改生成html文件名的方式,但所有给定的方法都基于成员名称或主题ID的哈希值,因此如果代码未更改,链接不应中断。
有关详细信息,请参阅Sandcastle帮助文件构建器的NamingMethod文档。