Frage

Für jede Klasse im Projekt erstellt Sandcastle (unter anderem) zwei Seiten:

  • Die Hauptseite, genannt als als T_class_full_name, mit der Beschreibung, Syntax, Vererbungshierarchie und auch sehen
  • Die Mitgliederseite, genannt als als AllMembers_T_class_full_name, mit Konstruktoren, Methoden, Feldern usw.

Gibt es eine Möglichkeit, diese beiden zusammen zu verschmelzen - mit dem members page an die Hauptseite angehängt werden?

War es hilfreich?

Lösung

Ich kann dafür keine funktionierende Antwort geben, aber ich kann einige Ideen anbieten, die funktionieren können, wenn jemand bereit ist, sich damit herumzuhacken:

1. Die Konfiguration htmlbody.xsl definiert einen Teil der Struktur, einschließlich eines Abschnitts mit einem Test für Mitglieder: <xsl:if test="$subgroup='members'"> Wenn dies auf Klassenebene eingeschaltet wurde (oder nur auf wahr eingestellt wurde, könnte es Ihnen eine Vorstellung davon geben, wie diese Ausgabe erzeugt wird. (Ich glaube nicht, dass es hier eine magische Kugel geben wird).

2. Hier (glaube ich), wo Links zu den Mitgliedsuntergruppen hinzugefügt werden, würde ich auch damit herumspielen:

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

3. Ich habe andere Ideen, die versuchen, mit der Struktur herumzuspielen, aber ich müsste sie hacken, um eine klare Antwort zu geben. Ich bin nicht einmal sicher, dass der htmlbody.xsl der Ort ist, um dies zu tun. Wenn ich hier tatsächlich ein Bedürfnis hätte, könnte ich Ihr Ziel am einfachsten erreichen, indem ich Folgendes mache:

  • Generieren Sie die Dokumentation auf Standardweise
  • Analysieren Sie die generierte Dokumentation und fusionieren Sie die beiden mit einem DOM / XML -Parser (dh die beiden in Code zusammenführen und ein neues einzelnes HTML -Dokument ausgeben, wobei die URLs auf der aktuellen Seite an Anchors aktualisiert wurden)

Das Schöne ist, dass in den generierten Dateien und Links ein konsistentes Benennungsschema verwendet wird. Daher würde ich denken, dass es einfacher wäre, diesen Prozess zu schreiben und alle Links zu aktualisieren, um Anker . Ich denke tatsächlich, dass dies für jemanden, der mit dieser Art von Dokumentmanipulation erfahren hat, ziemlich einfach zu erreichen wäre.

Vorbehalt: Ich bin nicht einmal in der Nähe eines Sandbecher -Experten, nachdem ich ihn erst vor über einem Jahr nur minimal benutzt habe. Ich habe auch heute noch keine Zeit verbracht, da ich es hacken würde, nur um es aus der Schachtel zu verwenden. Ich hätte nicht einmal darauf reagiert, außer auf das Fehlen anderer Antworten. Möglicherweise gibt es eine unterstützte Konfigurationsmethode, um dies zu erreichen, aber ich als Gelegenheitsbenutzer kann nicht einmal überlegen, wie ich es nähern soll.

Ich mache hier auch einige Annahmen darüber, wie die HTML -Ausgabe auf meiner Erfahrung mit der SHFB aussehen würde. Ich kann dort auch überleichte. Ich habe kein Projekt mehr, aus dem ich Sandcastle -Dokumentation erstellen kann, aber wenn jemand einen Link zu einer HTML -Ausgabe von Sandcastle veröffentlichen kann und mich für diesen Ansatz interessiert, würde ich gerne weiter helfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top