2010-01-12 9 views
68

Para cada clase en el proyecto, castillo de arena crea (entre otros) dos páginas:¿Es posible fusionar dos páginas creadas por SandCastle en una sola página principal?

  • La página principal, llamado como T_class_full_name, con la descripción, la sintaxis, Jerarquía de herencia y véase también
  • La página de miembros, llamado como AllMembers_T_class_full_name, con constructores, métodos, campos, etc.

¿hay una manera de combinar estos dos juntos - con el members page que se adjuntan a la página principal?

+5

¡Me encantaría esto también! El Prototype PresentationStyle hace esto, pero me gusta más el estilo de salida vs2005. (El prototipo se ve realmente horrible en Firefox.) –

+0

Gracias, revisaré el prototipo. –

Respuesta

2

no puedo dar una respuesta de trabajo para esto, pero puedo ofrecer algunas ideas que pueden funcionar si alguien está dispuesto a cortar un rato con él:

1. El htmlBody.xsl configuración define algunas de las estructura que incluye una sección con una prueba para miembros: <xsl:if test="$subgroup='members'"> Si esto se activó en el nivel de clase (o simplemente se establece en verdadero, podría dar una idea de cómo se produce esa salida. (No creo que haya una bala mágica) configuración aquí).

2. aquí es (creo) donde se agregan enlaces a los subgrupos de miembros, yo también jugaría con esto:

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

3. que tienen otras ideas tratando de jugar un poco con la estructura, pero tendrían que cortar por lo que proporciona ninguna respuesta clara. Ni siquiera estoy seguro de que htmlBody.xsl sea el lugar para hacer esto. Si en realidad tenía una necesidad aquí creo que podría lograr su objetivo más fácil de la siguiente manera:

  • Generar la documentación de la manera estándar
  • analizar la documentación generada y fusionar los dos usando un/analizador XML DOM (es decir, combinar los dos en código y salida de un nuevo documento de una sola página HTML con las URL actualizadas a los anclajes de la página actual)

lo bueno es que hay un esquema de nomenclatura coherente utilizado en los archivos generados y enlaces , así que creo que sería más fácil escribir este proceso y actualizar todos los enlaces para que sean anclajes de lo que sería o lío demasiado con las plantillas. De hecho, creo que esto sería bastante fácil de lograr para alguien con experiencia en ese tipo de manipulación de documentos.

Advertencia: Ni siquiera estoy cerca de un experto en SandCastle, ya que solo lo he usado mínimamente y hace más de un año. Tampoco he pasado en cualquier momento antes de hoy teniendo en cuenta cómo lo piratearía, solo usándolo de la caja. Ni siquiera habría respondido a esto excepto por la falta de otras respuestas. Puede haber una forma de configuración compatible para lograr esto, pero yo, como usuario ocasional, ni siquiera puedo pensar cómo abordarlo.

También estoy haciendo algunas suposiciones aquí sobre cómo se vería la salida HTML en función de mi experiencia con la SHFB. También podría llegar demasiado lejos allí. Ya no tengo un proyecto del cual pueda generar documentación de castillos de arena, pero si alguien puede publicar un enlace a algún resultado HTML de SandCastle y está interesado en este enfoque, me complacerá ayudarlo.

Cuestiones relacionadas