是否可以将SandCastle创建的两个页面合并到一个主页中?


68

对于项目中的每个类,SandCastle都会(其中包括)创建两个页面:

  • 主页称为T_class_full_name,其描述为“语法”,“继承层次结构”和“另请参见”。
  • 成员页面,称为AllMembers_T_class_full_name,带有构造函数,方法,字段等。

有没有办法将这两者合并在一起-将members page其附加到主页上?


5
我也喜欢这个!Prototype PresentationStyle可以做到这一点,但是我更喜欢vs2005输出样式。(原型在Firefox中看起来确实很恐怖。)
David Boike 2010年

谢谢,我将检查原型。
Martin Haluza 2010年

Answers:


2

我无法为此提供有效的答案,但是我可以提供一些想法,如果有人愿意尝试的话,这些想法可能会起作用:

1. htmlBody.xsl config定义了一些结构,其中包括带有成员测试的部分:<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专家,一年多以前只使用过最少的工具。在今天之前,我也没有花任何时间考虑如何破解它,只是开箱即用。除了缺乏其他回应外,我什至不会回应。可能有一种受支持的配置方式可以完成此任务,但是我作为一个临时用户甚至无法考虑如何实现。

根据我在SHFB上的经验,我还在这里做出一些关于HTML输出外观的假设。我可能在那也太过分了。我不再有一个可以从中生成沙堡文档的项目,但是如果有人可以发布指向SandCastle的HTML输出链接,并且对此方法感兴趣,我将很乐意为您提供进一步的帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.