【问题标题】:How to create MSDN like links in Sandcastle documentation website?如何在 Sandcastle 文档网站中创建类似 MSDN 的链接?
【发布时间】:2010-11-03 16:48:58
【问题描述】:

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

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

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

这可能吗?如何实现?

【问题讨论】:

    标签: documentation web hyperlink sandcastle permalinks


    【解决方案1】:

    为了创建指向文档特定子页面的正确链接,您可以使用类似的请求:$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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        【解决方案3】:

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

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

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

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

        【讨论】:

          猜你喜欢
          • 2022-01-15
          • 1970-01-01
          • 1970-01-01
          • 2011-03-23
          • 2011-10-21
          • 1970-01-01
          • 1970-01-01
          • 2023-03-13
          相关资源
          最近更新 更多