Как создать MSDN-подобные ссылки на веб-сайте документации Sandcastle? - PullRequest
5 голосов
/ 17 июня 2009

Я создал документацию для моего проекта на сайте Sandcastle. Этот веб-сайт использует фреймы, поэтому при нажатии на сайты мой URL-адрес в браузере не изменяется.

Я бы хотел, чтобы URL-адрес был изменен в браузере при просмотре документации веб-сайта, созданной с помощью Sandcastle. Зачем? Потому что я хотел бы сослаться на конкретные страницы документации из других частей моей среды разработки.

И еще, я хотел бы, чтобы эти ссылки были постоянными. Поэтому, когда я снова создаю документацию из новой версии моего проекта, ссылки не изменятся, поэтому мне не нужно будет менять все ссылки на новые.

Возможно ли это и как это сделать?

Ответы [ 3 ]

4 голосов
/ 08 сентября 2010

Если вы добавите приведенный ниже код в верхнюю часть SplitScreen.js, браузер «вставит» рамку оглавления и сосредоточится на контенте, на который вы ссылались (используя трюк, который показал Виталий Шибаев).

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

Этот код работает, если документация находится в корневом каталоге вашего веб-сайта. Если у вас она есть в подпапке, вам нужно развернуть раздел "/? Topic" и удалить часть подпапки из части pathname.

С этим изменением вы можете использовать «прямые ссылки». Я также ожидаю, что люди, которые находят вас через Google, получат лучший опыт (получая контент, который они искали, и панель оглавления).

4 голосов
/ 08 августа 2010

Для создания правильных ссылок на определенные подстраницы документации вы можете использовать аналогичный запрос: $ 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

0 голосов
/ 13 октября 2010

Виталий и mawtex решили часть вопроса о том, "как связаться с подстраницами документации".

Часть ваших вопросов «сделать ссылки постоянными, чтобы они не менялись при восстановлении документации», решается автоматически, так как созданные имена файлов html по умолчанию основаны на хэше имени темы. То есть Если вы не измените ту часть кода, которую вы документируете, он будет использовать то же имя файла.

Вы можете изменить способ генерирования имен файлов html, но все данные методы основаны на имени члена или хэше идентификатора темы, поэтому ссылки не должны разрываться, если код не изменился.

Для получения дополнительной информации см. Документацию NamingMethod для файла справки Sandcastle.

...