Come creare collegamenti come MSDN nel sito Web della documentazione di Sandcastle?
-
06-07-2019 - |
Domanda
Ho generato una documentazione del sito web del mio progetto con Sandcastle. Questo sito Web utilizza frame, quindi quando faccio clic su siti il ??mio URL nel browser non cambia.
Vorrei cambiare l'URL nel browser quando sfoglio la documentazione del sito Web generata con Sandcastle. Perché? Perché vorrei collegarmi a sottopagine concrete di documentazione provenienti da altre parti del mio ambiente di sviluppo.
E ancora di più vorrei avere questo link permanente. Quindi, quando genererò ancora una volta la documentazione dalla nuova versione del mio progetto, i collegamenti non cambieranno, quindi non dovrò cambiare tutti i collegamenti in nuovi.
È possibile e come realizzarlo?
Soluzione
Per creare collegamenti corretti a specifiche sottopagine della documentazione è possibile utilizzare una richiesta simile: $ DOCUMENTATION_ROOT $ / Index.aspx? topic = html / $ TOPIC_ID $ .htm
es. http: // www. ewoodruff.us/shfbdocs/Index.aspx?topic=html/8dcbb69b-7a1a-4049-8e6b-2bf344efbbc9.htm anziché http://www.ewoodruff.us/ shfbdocs / html / 8dcbb69b-7a1a-4049-8e6b-2bf344efbbc9.htm
Altri suggerimenti
Se aggiungi il codice in basso nella parte superiore di SplitScreen.js
il browser " inietterà " il frame TOC e concentrati sul contenuto a cui ti sei collegato direttamente (usando il trucco mostrato da Vitaly Shibaev).
if (window==top) {
window.location = "/?topic=" + (window.location.pathname.substring(1));
}
Questo codice funziona, la documentazione è collocata alla radice del tuo sito web - se lo hai in una sottocartella, devi espandere " /? topic " e rimuovere la parte della sottocartella dalla parte del percorso.
Con questa modifica puoi utilizzare i "link diretti". Mi aspetto anche che le persone che ti trovano tramite Google possano avere un'esperienza migliore (ottenere i contenuti che hanno cercato E la barra dei TOC).
Vitaliy e mawtex hanno risolto la parte "come collegare alle pagine secondarie della documentazione" della tua domanda.
Il "rendere permanenti i collegamenti in modo che non cambino durante la rigenerazione della documentazione" parte delle domande viene risolta automaticamente, poiché i nomi dei file html creati si basano su un hash del nome dell'argomento per impostazione predefinita. Cioè Se non modifichi la parte del codice che stai documentando, utilizzerà lo stesso nome file.
Puoi cambiare il modo in cui vengono generati i nomi dei file html, ma tutti i metodi indicati sono basati sul nome del membro o su un hash dell'ID argomento, quindi i collegamenti non dovrebbero interrompersi se il codice non è cambiato.
Vedi Sandcastle Help File Builder NamingMethod documentazione per maggiori informazioni.