答案 0 :(得分:3)
如果您使用的是Kramdown(Jekylls的默认Markdown渲染器),请将以下内容添加到_config.yml
中:
kramdown:
hard_wrap: true
hard_wrap-从字面上解释换行符
答案 1 :(得分:2)
您要寻找this吗?
当您要做要使用Markdown插入
{ name: "AARON", age: 29, }
中断标签时,请以两个或多个空格结束一行,然后键入return。
此来源
<br />
应呈现为
此行以两个空格结尾
然后立即
答案 2 :(得分:1)
好问题。有(一如既往)多种方法来执行此操作。每个解决方案都有其优点和缺点。选择最适合您的风格或项目的一种。
解决方案1:br的换行符
这是迄今为止最优雅的解决方案。它就像PHP一样工作。您可以编写:
<div id="content">{{ content | newline_to_br }}</div>
并添加此CSS:
#content br {display: none;}
#content p br {display: inline;}
它会稍微污染您的输出(在段落标签外带有未渲染的中断),但它确实可以满足您的要求。它易于阅读,不需要对内容/降价进行任何更改。
解决方案2:每行后两个空格
在输出中,行尾的两个空格将由<br />
替换。我不喜欢在代码编辑器中很难看到这些空格,但这是真正的降价方式。 Source
解决方案3:手动添加HTML换行符
由于Markdown允许使用HTML,因此您可以手动编写HTML分隔符,例如:<br />
。这些中断编写起来很麻烦,并且会用HTML污染您的markdown,但它们确实有效。
答案 3 :(得分:0)
这是我肮脏的解决方法。
我将此代码移到了单独的辅助程序include中,以在使用时提供更好的可读性。
帮助文件。 _includes/linebreaks.html
:
{% capture devnull %}
{% assign parts = include.input | newline_to_br | strip_newlines | split:"<br />" %}
{% capture output %}{% for item in parts %}{% assign item = item | strip %}{%
if item.size > 0 %}{{ item | append: '<br />' | replace:"</p><br />","</p>" }}{% endif %}
{% endfor %}{% endcapture %}
{% endcapture %}{{ output }}
在模板中使用。 _layouts/default.html
:
<h1>{{ page.title }}</h1>
{% include linebreaks.html input=content %}
源降价文件。 _posts/2020-02-20-marys-lamb.md
:
---
title: Mary’s Lamb
---
Mary had a little lamb,
Little lamb, little lamb,
Mary had a little lamb
Whose fleece was white as snow.
And everywhere that Mary went,
Mary went, Mary went,
Everywhere that Mary went
The lamb was sure to go.
和结果:
<h1>Mary’s Lamb</h1>
<p>Mary had a little lamb,<br />
Little lamb, little lamb,<br />
Mary had a little lamb<br />
Whose fleece was white as snow.</p>
<p>And everywhere that Mary went,<br />
Mary went, Mary went,<br />
Everywhere that Mary went<br />
The lamb was sure to go.</p>
答案 4 :(得分:0)
对此的一种解决方案可能是:
在行尾添加两个 br
标签:
This is line one without any space at end.<br><br>This is line two.
输出:
This is line one without any space at end
This is line two