我正在使用redcarpet来渲染我的降价文字。这是我正在使用的功能:
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>
我知道redcarpet使用daring fireball,但似乎没有任何关于我遇到的问题的文档。
答案 0 :(得分:0)
这是by design。
段落只是一行或多行文本,由一个或多个空行分隔。
也就是说,这被认为是一个段落并相应地呈现。用空行结束段落,您将获得所需的输出。像这样:
I am just a sentense
* list item 1
* list item 2
UPD:here is the implementation that GitHub uses。奇怪的是,他们也在使用Redcarpet。配置必须与您的配置不同。