有没有办法能够标记/突出显示一段文字,并且在同一个区块内还有文字<html>
标签?我想在这里实现像Listing 3.3这样的东西。它不适用于受防护的代码块,因为使用<mark>
突出显示文本无效,并且它也不适用于<pre><code>
,因为<html>
内的<pre><code>
标记不会按字面解释标签。我正在使用带有GFM的MacDown。
答案 0 :(得分:0)
嗯,似乎Macdown uses已成为其Markdown解析器。关于它,似乎没有documentation。因此,我将提供适用于大多数实施的通用答案。
如果你想在同一个代码块中混合使用HTML和原始HTML,你需要构建自己的扩展来实现你想要的功能,或者自己手动构建代码块。建立自己的扩展是超出这个答案的,所以让我们关注后者。
首先,您需要将代码块包装在<pre><code>
标记中,并确保不要缩进块的第一行,以便解析器将其视为原始HTML。
其次,将HTML包含在&#34;突出显示&#34; (或者你想做的任何事情),手动创建HTML标签以包装代码块的各个部分。
最后,要在代码块中显示文字HTML,您需要手动转义HTML(或者使用工具为您转义它)。
将三者合并在一起,然后插入Markdown文档。例如,要复制示例,请指向:
<pre><code><span class="hll">HTTP/1.1 302 Moved Temporarily</span>
Cache-Control: no-cache
Content-Type: text/html; charset=utf-8
Location: http://quiet-waters-1228.herokuapp.com/hello
Server: thin 1.6.1 codename Death Proof
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Request-Id: e9785070-173c-4e8a-bbf5-1686806cbd6b
X-Runtime: 0.007276
X-Ua-Compatible: chrome=1
X-Xss-Protection: 1; mode=block
transfer-encoding: chunked
Connection: keep-alive
<html>
<body>
You are being
<a href="http://quiet-waters-1228.herokuapp.com/hello">redirected</a>.
</body>
</html>
</code></pre>
请注意,第一行包含在<span>
中,并将一个类指定为样式挂钩。它只需要一些CSS。另请注意,块中稍后的文字HTML将使用>
和<
进行手动转义,以替换尖括号。以上内容将呈现为:
HTTP/1.1 302 Moved Temporarily
Cache-Control: no-cache
Content-Type: text/html; charset=utf-8
Location: http://quiet-waters-1228.herokuapp.com/hello
Server: thin 1.6.1 codename Death Proof
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Request-Id: e9785070-173c-4e8a-bbf5-1686806cbd6b
X-Runtime: 0.007276
X-Ua-Compatible: chrome=1
X-Xss-Protection: 1; mode=block
transfer-encoding: chunked
Connection: keep-alive
<html>
<body>
You are being
<a href="http://quiet-waters-1228.herokuapp.com/hello">redirected</a>.
</body>
</html>
当然,您需要为class="hll"
添加适当的CSS才能正常工作,我们不会在这里找到。应该在你自己的网站上工作,你可以提供自己的CSS。