如何在Sandcastle文档中添加带颜色的HTML代码片段?

3

我正在使用Sandcastle Help File Builder,并希望在“概念内容”中包含彩色的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个回答

2
根据MAML指南,正确的做法是使用<code>标签和一个CDATA部分:
<code language="xml" title="Example Configuration">
<![CDATA[
    <span>My Html</span>]]>
</code>

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

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 Help File Builder,您可以根据 此处此处 的描述创建自己的语法解析器,尽管默认情况下提供了 XML... 如果您想查看配置,可以使用 XAML 过滤器的生成器,在此处定义:

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

1
根据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,但在构建文档时,一切都应该正常。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接