降价转义setext h1
markdown escape setext h1
下面几行是 markdown setext
headers 以单个前导 backslash
转义,这个 post 被解析为 markdown 所以它是一个很好的展示,它有效h2
级别 header 没问题,但 h1
级别 header.
失败
降价解析之前的文本,换行符没有尾随空格:
This is an H1
\=============
This is an H2
\-------------
Markdown 解析的文本输出:
这是H1
\=============
这是H2
--------------
我知道 markdown 的风格问题,以及缺乏规范和实现的原件。尽管如此,如果可能的话,在 markdown 中逃避 h1
级别 setext
header 的正确方法是什么?
你这里发生了很多事情。
首先,由于多余的字符,这两行都没有被识别为setext header。换句话说,您可以使用任何不是 =
或 -
的字符,这会导致解析器将文本视为段落而不是 header.
其次,连字符 (-
) 是 escapable character 而等号 (=
) 不是。然而,这个处理很可能是作为内联标记完成的,而不是在块级别(当解析 header 与段落时)。发生的情况是,在所有其他处理完成后,字符串 \-
被替换为 -
。换句话说,它对2级headers有效是侥幸。
如果你想要horizontal rules,那么你需要在行前有一个空行,这样就不需要转义任何东西(或者当然转义也会导致解析器无法将行识别为水平线规则)。顺便说一句,只有连字符(下划线和星号),不能使用等号,用于水平规则,这就是等号不能转义的原因。
如果您只想在段落中显示原始字符,请避免使用换行符,换行符无论如何都不会显示在浏览器中。像这样:
This is an H1 =============
This is an H2 -------------
如果您希望该行实际出现在单独的一行上,那么您可以使用一些原始的 HTML 来插入一个 <br>
标签:
This is an H1<br>=============
This is an H2<br>-------------
甚至可能:
This is an H1
<br>=============
This is an H2
<br>-------------
请注意,在最后一种情况下,您可以轻松阅读 Markdown,并且 <br>
标签完成与反斜杠相同的事情。它导致解析器不将其视为 setext header。但也提供了跨级别的一致结果,甚至保留了输出中的换行符。
下面几行是 markdown setext
headers 以单个前导 backslash
转义,这个 post 被解析为 markdown 所以它是一个很好的展示,它有效h2
级别 header 没问题,但 h1
级别 header.
降价解析之前的文本,换行符没有尾随空格:
This is an H1
\=============
This is an H2
\-------------
Markdown 解析的文本输出:
这是H1 \=============
这是H2 --------------
我知道 markdown 的风格问题,以及缺乏规范和实现的原件。尽管如此,如果可能的话,在 markdown 中逃避 h1
级别 setext
header 的正确方法是什么?
你这里发生了很多事情。
首先,由于多余的字符,这两行都没有被识别为setext header。换句话说,您可以使用任何不是 =
或 -
的字符,这会导致解析器将文本视为段落而不是 header.
其次,连字符 (-
) 是 escapable character 而等号 (=
) 不是。然而,这个处理很可能是作为内联标记完成的,而不是在块级别(当解析 header 与段落时)。发生的情况是,在所有其他处理完成后,字符串 \-
被替换为 -
。换句话说,它对2级headers有效是侥幸。
如果你想要horizontal rules,那么你需要在行前有一个空行,这样就不需要转义任何东西(或者当然转义也会导致解析器无法将行识别为水平线规则)。顺便说一句,只有连字符(下划线和星号),不能使用等号,用于水平规则,这就是等号不能转义的原因。
如果您只想在段落中显示原始字符,请避免使用换行符,换行符无论如何都不会显示在浏览器中。像这样:
This is an H1 =============
This is an H2 -------------
如果您希望该行实际出现在单独的一行上,那么您可以使用一些原始的 HTML 来插入一个 <br>
标签:
This is an H1<br>=============
This is an H2<br>-------------
甚至可能:
This is an H1
<br>=============
This is an H2
<br>-------------
请注意,在最后一种情况下,您可以轻松阅读 Markdown,并且 <br>
标签完成与反斜杠相同的事情。它导致解析器不将其视为 setext header。但也提供了跨级别的一致结果,甚至保留了输出中的换行符。