Markdown块代码中的HTML实体

Noo*_*oor 3 markdown

我曾尝试在代码中使用HTML实体,但是使用markdown处理器对其进行编译时无法正确呈现。例如,&Theta;正确地在外部代码中渲染,但是在代码内部时,它将像<p><code>&amp;Theta;</code></p>编译后一样显示。是否可以在markdown代码中使用HTML实体并对其进行编译,以便可以正确呈现它们?

Way*_*lan 5

您不能,这是故意设计的决定。否则,您将如何使用代码块显示HTML源代码?由于规则的状态

在代码块内,“&”号&和尖括号(<>)会自动转换为HTML实体。这使得使用Markdown包含示例HTML源代码非常容易-只需粘贴并缩进即可,Markdown将解决对&符和尖括号进行编码的麻烦。例如,这:

    <div class="footer">
        &copy; 2004 Foo Corporation
    </div>
Run Code Online (Sandbox Code Playgroud)

会变成:

<pre><code>&lt;div class="footer"&gt;
    &amp;copy; 2004 Foo Corporation
&lt;/div&gt;
</code></pre>
Run Code Online (Sandbox Code Playgroud)


Elp*_*lpy 5

如果出于某种原因在代码块中包含 HTML 实体很重要,您始终可以选择在 Markdown 文档中使用 HTML(请参阅规则中的内联 HTML)。

也就是说,不要使用缩进(或在GitHub Flavored Markdown / GitLab Flavored Markdown 中使用三个反引号的代码围栏),而是```自己用适当的 HTML 元素将代码块括起来:

<pre><code>Greek letters &Theta; &Pi; and &alpha;
in a code block
</code></pre>
Run Code Online (Sandbox Code Playgroud)

会变成:

Greek letters Θ Π and α
in a code block
Run Code Online (Sandbox Code Playgroud)

请注意,您必须在开始你的代码相同的行作为开幕<pre><code>标签或以其他方式最终将不得不在你的代码块的开头空行。

在代码中阅读并不是那么好,您必须决定渲染视图还是原始视图在您的情况下更重要。