这应该非常容易,但要么我没有正确阅读文档,要么 Kramdown 不支持这一点。我正在尝试将命令行输出放在博客文章中,我想为此使用块引用。但是,kramdown 坚持将所有内容放在同一行的同一块引用中。
我可以在块引用的每一行之间放置一个空格,但这并不是输出的真实表示。如何创建块引用,但每行实际上都在单独的行上,每行之间没有空格。我想我正在寻找更多“预格式化”输出,但我没有看到 kramdown 支持它。
这应该非常容易,但要么我没有正确阅读文档,要么 Kramdown 不支持这一点。我正在尝试将命令行输出放在博客文章中,我想为此使用块引用。但是,kramdown 坚持将所有内容放在同一行的同一块引用中。
我可以在块引用的每一行之间放置一个空格,但这并不是输出的真实表示。如何创建块引用,但每行实际上都在单独的行上,每行之间没有空格。我想我正在寻找更多“预格式化”输出,但我没有看到 kramdown 支持它。
kramdown 坚持将所有内容放在同一行的同一块引用中
这不是 kramdown,这是 HTML 的正常行为。使用以下降价:
> One
> Two
> Three
kramdown 将创建这个 HTML,所有的行都是分开的:
<blockquote>
<p>One
Two
Three</p>
</blockquote>
当您查看此内容时,浏览器会将所有运行的空格折叠到一个空格中,因此它将全部显示在同一行:
一二三
最简单的解决方案是使用代码块而不是块引用,使用缩进或像这样的围栏代码块:
~~~
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 中。
只需使用硬换行符
一
二三
_