无法使用红地毯换行

Posted

技术标签:

【中文标题】无法使用红地毯换行【英文标题】:Not able to get line breaks using redcarpet 【发布时间】:2013-12-11 23:50:58 【问题描述】:

我无法获得换行符,即使内容中有空格和换行符。有什么办法可以在 redcarpet 中启用。

http://daringfireball.net/projects/markdown/syntax#p

“当你确实想使用 Markdown 插入一个 中断标签时,你需要以两个或多个空格结束一行,然后键入 return。”

为什么 redcarpet 没有检测到空白行?

Loading development environment (Rails 3.2.3)
irb(main):001:0> rendere = Redcarpet::Render::html.new(:hard_wrap => true)
=> #<Redcarpet::Render::HTML:0xa2cc414>
irb(main):002:0> markdown = Redcarpet::Markdown.new(rendere, :autolink => true, :space_after_headers => true)
=> #<Redcarpet::Markdown:0x98ab0c0>
irb(main):003:0> markdown.render("hi how are you doing\n      \nFirst line in the next paragraph\n            \nFirst line in the third paragraph\n")
=> "<p>hi how are you doing</p>\n\n<p>First line in the next paragraph</p>\n\n<p>First line in the third paragraph</p>\n"
irb(main):004:0> markdown.render("hi how are you doing\r\n      \r\nFirst line in the next paragraph\r\n            \r\nFirst line in the third paragraph\r\n")
=> "<p>hi how are you doing</p>\n\n<p>First line in the next paragraph</p>\n\n<p>First line in the third paragraph</p>\n"
irb(main):005:0>

【问题讨论】:

【参考方案1】:

如果该行是段落中的最后一行,则不会添加 &lt;br&gt; 元素 - 仅当下一行有内容时。例如这个降价(所有行都有两个尾随空格):

Has trailing spaces, but no br.  

Several lines, all with trailing spaces.  
All but the last have br elements at the end.  
This line has spaces, but no br.  

使用 Redcarpet 生成此 HTML:

<p>Has trailing spaces, but no br.  </p>

<p>Several lines, all with trailing spaces.<br>
All but the last have br elements at the end.<br>
This line has spaces, but no br.  </p>

您的示例由三个单行段落组成,因此每一行都是段落中的最后一行,并且没有添加 &lt;br&gt;

此行为与原始 Markdown.pl 相同(基本上 - 输出不完全相同,但 &lt;br&gt;s 被添加到相同的行)。

【讨论】:

以上是关于无法使用红地毯换行的主要内容,如果未能解决你的问题,请参考以下文章

百度导航无法搜索?

无法使用 psycopg2 从亚马逊红移读取列类型

海盗船k70红光红轴插上usb无法正常使用

无法从火花连接到红移

无法在 iframe 文本编辑器中使用自动换行

AWS 数据管道。 EC2Resource 无法访问红移