3

我正在使用 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>

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

4

3 回答 3

2

根据MA​​ML Guide,这样做的正确方法是使用<code>带有部分的标签CDATA

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

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

于 2014-05-12T12:08:15.517 回答
1

根据代码块组件的 SHFB 文档,您应该能够只使用<code>.

我让它毫无问题地工作;这就是我所做的:

测试.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>

某事或其他.aml

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

结果:

SHFB 中的 HTML 高亮显示

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

于 2013-01-08T01:41:02.983 回答
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 帮助文件生成器,您可以按照此处此处的说明创建自己的语法解析器,尽管默认情况下 xml 可用...使用 XAML 过滤器的生成器,如果您想查看配置,请在此处定义:

<generator type="Microsoft.Ddue.Tools.XamlUsageSyntaxGenerator"
    assembly="{@SandcastlePath}ProductionTools\SyntaxComponents.dll">
    <filter files="{@SandcastlePath}Presentation\Shared\configuration\xamlSyntax.config" />
</generator>
于 2012-04-11T15:45:38.227 回答