代码块中的Markdown换行符
使用Redcarpet,当我在我的降价中包含以下内容时,它不会考虑任何换行符或缩进。 我在线的末尾尝试了两个空格。 代码之间的额外行。 似乎没什么用。
```xml 3 ```
我知道了:
3
以下是Redcarpet设置:
Redcarpet::Markdown.new(Redcarpet::Render::HTML, :autolink => true, :space_after_headers => true, :fenced_code_blocks => true, :no_intra_emphasis => true, :lax_html_blocks => true)
我需要做些什么来使线条正确断开并保留缩进,就像这里或GitHub一样?
更新 – 源代码如下:
<?xml version="1.0" encoding="UTF-8"?> <hash> <money>3</money> </hash>
尝试将markdown结果包装在
find_and_preserve
Haml助手中# Assuming a setup like this: markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML) code_snippet = "
\n " # This should prevent undesirable spaces within code blocks: find_and_preserve(markdown.render(code_snippet)).html_safe\n 使用
find_and_preserve
Haml助手包装render调用时,markdown输出中标记内的所有换行都会使用等效的HTML实体进行转义,然后Haml自动缩进将忽略它们。
解析的结果在我的
块中有换行符:
require 'redcarpet' md = Redcarpet::Markdown.new(Redcarpet::Render::HTML, fenced_code_blocks:true) puts md.render("```xml\n
\n \n```") #=><foo> #=> </foo> #=>
- 确认您在输出HTML中看到类似的包装器
设置CSS以在
块中使用预格式化:
pre { white-space:pre }
在Github上,我需要做的就是用
和
标签包装我的缩进/格式化文本。
尝试使用此脚本来隔离它是应用程序还是redcarpet中的内容。
我无法重现你所拥有的问题(使用redcarpet-2.1.1 gem)。 把它放到一个文件中,然后运行它(
ruby redcarpet_test.rb
):require 'rubygems' require 'redcarpet' md = %Q{... ```xml
``` ...} r = Redcarpet::Markdown.new(Redcarpet::Render::HTML, :autolink => true, :space_after_headers => true, :fenced_code_blocks => true, :no_intra_emphasis => true, :lax_html_blocks => true) puts r.render md 3 结果恰如其分地:
...
xml <?xml version="1.0" encoding="UTF-8"?> <hash> <money>3</money> </hash>
...