我正在使用红地毯来渲染我的降价文本。 这是我正在使用的功能:
def markdown(text)
render_options = { hard_wrap: true, filter_html: true }
markdown_options = { autolink: true, no_intra_emphasis: true }
markdown = Redcarpet::Markdown.new(
Redcarpet::Render::HTML.new(render_options), markdown_options
)
markdown.render(text).html_safe
end
我无法使用它呈现列表项。 例如:
I am just a sentense
* list item 1
* list item 2
被翻译成:
<p>
<p>I am just a sentense<br>
* list item 1<br>
* list item 2</p>
</p>
但是,如果我不使用句子来开始我的文本,例如:
# head
* list me
* and me
一切似乎都很好:
<p>
<h1>head</h1>
<ul>
<li>list me</li>
<li>and me</li>
</ul>
</p>
我知道红地毯使用大胆的火球,但似乎没有任何关于我遇到的问题的文档。
这是设计使然。
段落只是一行或多行连续的文本,由一个或多个空白行分隔。
也就是说,这被视为一个段落,并相应地呈现。用空行结束段落,您将获得所需的输出。这样:
I am just a sentense
* list item 1
* list item 2
UPD:这是GitHub使用的实现。奇怪的是,他们也在使用红地毯。配置必须与您的配置不同。