Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create MSDN like links in Sandcastle documentation website?

I've generated a website documentation of my project with Sandcastle. This website uses frames so when I click though sites my URL in browser does not change.

I would like to have URL changed in browser when I browse through website documentation generated with Sandcastle. Why? Because I would like to link to concrete subpages of documentation from other parts of my developer environment.

And further more I would like to have this links permanent. So when I generate once again documentation from new version of my project, links will not change so that I will not need to change all links to new.

Is this possible and how to acomplish this?

like image 606
Tom Smykowski Avatar asked Jun 17 '09 14:06

Tom Smykowski


2 Answers

If you add the code below to the top of SplitScreen.js the browser will "inject" the TOC frame and focus on the content you linked directly to (using the trick Vitaly Shibaev showed).

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

This code works it the documentation is placed at the root of your website - if you have it in a sub-folder you need to expand on "/?topic" and remove the sub-folder part from the pathname part.

With this change you can use the "direct links". I also expect people who find you via Google get a better experience (getting the content they searched for AND the TOC bar).

like image 142
mawtex Avatar answered Nov 06 '22 12:11

mawtex


In order to create correct links to specific subpages of documentation you may use similar request: $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 instead of http://www.ewoodruff.us/shfbdocs/html/8dcbb69b-7a1a-4049-8e6b-2bf344efbbc9.htm

like image 37
Vitaliy Shibaev Avatar answered Nov 06 '22 10:11

Vitaliy Shibaev