如何在Sandcastle文档中添加彩色HTML代码段?

时间:2011-05-24 04:17:23

标签: sandcastle maml

我正在使用Sandcastle帮助文件构建器,并希望在“概念内容”中包含彩色HTML代码段。这是可能的,如果是的话,怎么样?

我尝试了< code>,< codeExample>和< sampleCode language =“HTML”/>。

到目前为止,最好的结果是对示例HTML进行HTML编码并将其放在.snippets文件中。

<?xml version="1.0" encoding="utf-8" ?>
<examples>
   <item id="htmlSnippet">
      <sampleCode language="HTML">
         &lt;span&gt;My Html&lt;/span&gt;
      </sampleCode>
   </item>
</examples>

然后在.aml文件中引用它。

<codeReference>htmlSnippet</codeReference>

我更喜欢将其着色,但我无法找到添加格式的方法。

3 个答案:

答案 0 :(得分:2)

根据MAML Guide,正确的方法是使用带有<code>部分的CDATA代码:

<code language="xml" title="Example Configuration">
<![CDATA[
    <span>My Html</span>]]>
</code>

CDATA部分的内容将被视为文字字符串,并且将保留缩进。

答案 1 :(得分:1)

我知道这是旧的,但Sandcastle支持html为xml。我想我应该发表评论以防其他人像我一样遇到这篇文章。

这应该有效:

<?xml version="1.0" encoding="utf-8" ?>
<examples>
   <item id="htmlSnippet">
      <sampleCode language="xml"><!CDATA[[
         <span>My Html</span>
       ]]>
      </sampleCode>
   </item>
</examples>

如果您正在使用Sandcastle帮助文件生成器,您可以创建自己的语法解析器,如herehere所述,尽管默认情况下xml可用...使用XAML过滤器的生成器,这里定义了如果你想查看配置:

<generator type="Microsoft.Ddue.Tools.XamlUsageSyntaxGenerator"
    assembly="{@SandcastlePath}ProductionTools\SyntaxComponents.dll">
    <filter files="{@SandcastlePath}Presentation\Shared\configuration\xamlSyntax.config" />
</generator>

答案 2 :(得分:1)

根据Code Block Component的SHFB文档,您应该可以使用<code>

我没有问题地工作了;这是我做的:

<强>的test.html

<html>
    <head>Something!</head>
    <body>
        <h1>Heading</h1>
<!-- #region myhtml -->
        <p>Paragraph</p>
        <div>Div for <strong>Good</strong> <em>measure</em>.</div>
<!-- #endregion -->
    </body>
</html>

<强> SomethingorOther.aml

<code language="html" source="../Examples/test.html" region="myhtml" />

结果:

HTML Highlighting in SHFB

请注意,在预览中,您的示例将显示为未突出显示的XML,但在构建文档时,一切都应该没问题。