2009-06-17 14 views
5

Ich habe eine Website-Dokumentation meines Projekts mit Sandcastle generiert. Diese Website verwendet Frames, also wenn ich auf Websites klicke, ändert sich meine URL im Browser nicht.Wie erstelle ich MSDN ähnliche Links in der Sandcastle Dokumentationswebseite?

Ich möchte die URL im Browser geändert haben, wenn ich die mit Sandcastle erstellte Website-Dokumentation durchblättere. Warum? Denn ich möchte auf konkrete Unterseiten der Dokumentation aus anderen Teilen meiner Entwicklerumgebung verlinken.

Und weiter möchte ich diese Links dauerhaft haben. Wenn ich also erneut eine Dokumentation von einer neuen Version meines Projekts erzeuge, werden sich die Links nicht ändern, so dass ich nicht alle Links zu neuen ändern muss.

Ist das möglich und wie wird das erreicht?

Antwort

4

Wenn Sie den Code unten nach oben von SplitScreen.js der Browser „injizieren“, um die TOC-Rahmen und konzentrieren sich auf die Inhalte, die Sie direkt zu verknüpften hinzufügen (mit dem Trick Vitaly Shibaev zeigte).

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

Dieser Code funktioniert es die Dokumentation an der Wurzel Ihrer Website platziert wird - wenn Sie es in einem Unterverzeichnis haben Sie auf „?/Thema“ erweitern müssen, und entfernen Sie den Unterordner Teil von der Pfadname Teil.

Mit dieser Änderung können Sie die "direkten Links" verwenden. Ich erwarte auch, dass Leute, die dich über Google finden, eine bessere Erfahrung machen (indem sie den Inhalt bekommen, nach dem sie gesucht haben UND die TOC-Leiste).

0

Vitaliy und mawtex haben die Frage gelöst, wie Sie die Unterseiten der Dokumentation verlinken können.

Die "Links werden dauerhaft gesetzt, damit sie sich bei der Neugenerierung der Dokumentation nicht ändern" Teil Ihrer Fragen wird automatisch gelöst, da die erstellten HTML-Dateinamen standardmäßig auf einem Hash des Themennamens basieren. I.e. Wenn Sie den Teil des Codes, den Sie dokumentieren, nicht ändern, wird derselbe Dateiname verwendet.

Sie können die Art und Weise ändern, in der HTML-Dateinamen generiert werden, aber alle angegebenen Methoden basieren auf dem Mitgliedsnamen oder einem Hash der Themen-ID. Links sollten daher nicht unterbrochen werden, wenn der Code nicht geändert wurde.

Weitere Informationen finden Sie in der Dokumentation des Sandcastle Help File Builders NamingMethod.

Verwandte Themen