2010-01-12 4 views
68

Для каждого класса в проекте, SandCastle создает (среди прочих) две страницы:Можно ли объединить две страницы, созданные SandCastle, на одну главную страницу?

  • главная страница, называется T_class_full_name, с описанием синтаксиса, Иерархия наследования и См также
  • страница членов, называется AllMembers_T_class_full_name, с конструкторами, методами, полями и т.д.

есть ли способ, чтобы объединить эти два вместе - с members page, добавленным к главной странице?

+5

Мне понравилось бы это также! Prototype PresentationStyle делает это, но мне нравится стиль вывода vs2005 лучше. (Прототип выглядит очень ужасно в Firefox.) –

+0

Спасибо, я проверю прототип. –

ответ

2

я не могу предоставить рабочий ответ на это, но я могу предложить некоторые идеи, которые могут работать, если кто-то готов рубить вокруг с ним:

1. Конфигурационный htmlBody.xsl определяет некоторые из структура, включающая раздел с тестом для членов: <xsl:if test="$subgroup='members'"> Если это было включено на уровне класса (или просто установлено значение true, это может дать вам представление о том, как производится этот вывод (я не думаю, что будет волшебная пуля здесь).

2. здесь (я думаю), где добавляются ссылки на членские подгруппы, я бы также поиграл с этим:

<!-- add a link to the member list section for this subgroup --> 
<a href="#{$elementVisibility}Toggle" onclick="OpenSection({$elementVisibility}Toggle)"> 

3. У меня есть другие идеи, пытаясь поиграть со структурой, но я должен был бы рубить его, чтобы обеспечить однозначного ответа. Я даже не уверен, что htmlBody.xsl - это место для этого. Если бы я на самом деле было нужно здесь, я думаю, что я мог бы достичь своей цели простой, выполнив следующие действия:

  • Сформировать документацию стандартным способом
  • PARSE сгенерированную документацию и объединить два с помощью DOM/XML парсер (т.е. объединить эти два кода и вывести новый HTML-документ одной страницы с обновленными URL-адресами на привязку на текущей странице)

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

Предостережение: Я даже не знаком с экспертом SandCastle, использовавшим его только минимально и более года назад. Я также не проводил в любое время до сегодняшнего дня рассмотрение того, как я его взломал, только используя его из коробки. Я бы даже не ответил на это, кроме отсутствия других ответов. Там может быть поддерживаемый способ конфигурации для этого, но я, как обычный пользователь, даже не могу думать, как подойти к нему.

Я также делаю некоторые предположения о том, как будет выглядеть вывод HTML, исходя из моего опыта работы с SHFB. Я, возможно, слишком захлебываю. У меня больше нет проекта, из которого я могу создать документацию на песочницу, но если кто-то может опубликовать ссылку на какой-то вывод HTML из SandCastle и заинтересован в этом подходе, я был бы рад помочь дальше.