Подтвердить что ты не робот

Можно ли объединить две страницы, созданные SandCastle, на одну главную страницу?

Для каждого класса проекта SandCastle создает (среди прочего) две страницы:

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

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

4b9b3361

Ответ 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-адресами на привязках на текущей странице).

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

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

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