用隆重的接待,当我有类似的东西在我的降价以下,它不尊重任何换行符或缩进。 我试过两个空间在线路末端。 代码之间额外的线路。 似乎没有任何工作。
```xml
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<money>3</money>
</hash>
```
我懂了:
<?xml version="1.0" encoding="UTF-8"?> <hash> <money>3</money> </hash>
以下是隆重的接待设置:
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上?
更新 -和源的样子:
<pre><code><?xml version="1.0" encoding="UTF-8"?>
<hash>
<money>3</money>
</hash>
</code></pre>
尝试包裹在降价结果find_and_preserve
Haml的帮手
# Assuming a setup like this:
markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML)
code_snippet = " <xml>\n <tag/>\n </xml>"
# This should prevent undesirable spaces within code blocks:
find_and_preserve(markdown.render(code_snippet)).html_safe
当您缠绕与渲染调用find_and_preserve
Haml的帮手,内的所有新行<pre>
在降价输出标签逃脱相当于HTML实体,然后Haml的自动缩进将忽略它们。
解析的结果具有内部换行<pre>
块对我来说:
require 'redcarpet'
md = Redcarpet::Markdown.new(Redcarpet::Render::HTML, fenced_code_blocks:true)
puts md.render("```xml\n<foo>\n</foo>\n```")
#=> <pre><code class="xml"><foo>
#=> </foo>
#=> </code></pre>
- 确认您看到在输出HTML类似的包装
设置你的CSS使用中的预格式化<pre>
块:
pre { white-space:pre }
在GitHub上,所有我需要做的是换我缩进/格式化文本<pre>
和</pre>
标签。
试试这个脚本来隔离无论什么东西在你的应用程序或隆重的接待。
我无法重现您遇到(有隆重的接待-2.1.1宝石)的问题。 要把它放到一个文件中,然后运行它( ruby redcarpet_test.rb
):
require 'rubygems'
require 'redcarpet'
md = %Q{...
```xml
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<money>3</money>
</hash>
```
...}
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
与适当的结果:
<p>...
<code>xml
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<money>3</money>
</hash>
</code>
...</p>