Можно ли объединить две страницы, созданные SandCastle, в одну главную страницу?
для каждого класса в проекте SandCastle создает (среди прочих) две страницы:
- главная страница, называется как
T_class_full_name
, с описанием, синтаксисом, иерархией наследования и см. также - страница участников, называется
AllMembers_T_class_full_name
, С конструкторам, методам, полям и т. д.
есть ли способ объединить эти два вместе - с members page
добавляется на главную страницу?
1 ответ:
Я не могу дать рабочий ответ на это, но я могу предложить некоторые идеи, которые могут работать, если кто-то готов взломать его:
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-это место для этого. Если бы у меня действительно была потребность здесь, я думаю, что я мог бы достичь своей цели проще всего, выполнив следующее:
- генерировать документацию стандартным способом
- парсить сгенерированная документация и объединить их с помощью парсера DOM / XML (т. е. объединить их в коде и вывести новый одностраничный HTML-документ с URL-адресами, обновленными до якорей на текущей странице)
хорошая вещь заключается в том, что существует согласованная схема именования, используемая в сгенерированных файлах и ссылках, поэтому я бы подумал, что было бы проще написать этот процесс и обновить все ссылки, чтобы быть якорями, чем слишком много возиться с шаблонами. Я действительно так думаю было бы довольно легко выполнить для кого-то, кто имеет опыт работы с этим типом манипуляций с документами.
предостережение: я даже не близок к эксперту по песочному замку, только использовав его минимально и более года назад. Я также не провел в любое время до сегодняшнего дня, рассматривая, как я бы взломать его, ТОЛЬКО используя его из коробки. Я бы даже не ответил на это, если бы не отсутствие других ответов. Для этого может быть поддержан способ конфигурации, но я как случайный пользователь даже не могу подумайте, как к этому подойти.
Я также делаю некоторые предположения здесь о том, как выход HTML будет выглядеть на основе моего опыта работы с SHFB. Возможно, я и там перегибаю палку. У меня больше нет проекта, из которого я могу генерировать документацию sandcastle, но если кто-то может опубликовать ссылку на какой-то HTML-вывод из SandCastle и заинтересован в этом подходе, я был бы рад помочь дальше.