kramdown 坚持将所有内容放在同一行的同一块引用中
这不是 kramdown,这是 HTML 的正常行为。使用以下降价:
> One
> Two
> Three
kramdown 将创建这个 HTML,所有的行都是分开的:
<blockquote>
<p>One
Two
Three</p>
</blockquote>
当您查看此内容时,浏览器会将所有运行的空白折叠到一个空格中,因此它将全部显示在同一行:
一个
二
三
最简单的解决方案是使用code block 而不是块引用,或者使用缩进或这样的围栏代码块:
~~~
One
Two
Three
~~~
这将生成 HTML:
<pre><code>One
Two
Three
</code></pre>
pre 标签的默认样式将导致行是分开的:
One
Two
Three
如果你真的想在这里使用块引用,有几个可能的解决方案。您可以在每行的末尾添加两个空格来创建 <br> 元素来强制换行:
(这里我使用下划线来说明空格应该放在哪里。你需要使用实际的空格才能工作。)
> One__
> Two__
> Three__
这将生成:
<blockquote>
<p>One<br />
Two<br />
Three</p>
</blockquote>
另一种可能的解决方案是对块引用应用适当的样式。 Kramdown 允许添加 class 和 id 属性,因此您可以具体说明哪些块获得样式:
<style>
.cmd-line > p {
white-space: pre;
}
</style>
Hello
{: .cmd-line }
> One
> Two
> Three
white-space: pre 样式将导致源代码中的换行符出现在呈现的 HTML 中。