2017-07-03 28 views
0

之间的新线呈现:降价以隆重的接待失踪名单破折号和我有我产生了一些降价,看起来像这样的文本形式段

“###我们正在寻找某人与... \ r \ n \ r \ n-重要导轨 体验\ r \ n-良好的沟通技巧 (推荐)\ r \ n \ r \ n \ r \ n ###您应该位于:\ r \ n \ r \正 柏林\ r \正旧金山\ r \ N-多伦多\ r \ n”个

ApplicationHelper.rb,我有以下几点:

module ApplicationHelper 
    def markdown(content) 
     return '' if content.blank? 

     @options = { 
      autolink: true, 
      space_after_headers: true, 
      underline: true, 
      link_attributes: {rel: 'nofollow', target: "_blank"} 
     } 

     markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, @options) 

     markdown.render(content).html_safe 
    end 
end 

不管有多少换行符我每个H3部分之间旁边添加(在这种情况下,它的3条新的生产线),两个部分拥抱一直到彼此,而不是在尊重3个\n小号文本。

另外,在列表中的每个项目之前没有-*字符。

enter image description here

我看着就隆重的接待文档和我没有看到任何东西,我可以使尊重新线和列表项。将加入Markdown的每一个html标签列入白名单似乎都不是正确的解决方案。

任何帮助,将不胜感激。谢谢!

回答

1

隆重的接待的输出是HTML。它在浏览器中的显示方式取决于您如何设置此HTML的样式,并且或多或少独立于源降级中的间距。

你给的降价产生下面的HTML:

<h3>We&#39;re looking for someone with…</h3> 

<ul> 
<li>Significant Rails experience</li> 
<li>Good communication skills (recommended)</li> 
</ul> 

<h3>You should be located near:</h3> 

<ul> 
<li>Berlin</li> 
<li>San Francisco</li> 
<li>Toronto</li> 
</ul> 

完全相同的HTML是,不管你有多少换行符有列表和头之间产生。

渲染时会显示多少空间取决于您的CSS。例如,您可能需要将margin-toppadding-top添加到h3元素以创建更多空间。

列表图标也是如此,你可能有list-style设置为none,这就是为什么没有出现子弹。

+0

你完全正确。问题出在我的CSS重置,而不是任何与Redcarpet或Markdown相关的东西。谢谢马特。当它明天让我知道的时候会给你赏金。感谢您的快速帮助 –

0

这些示例选项可能可以帮助您解决问题,选择并删除不需要的选项。 for rails将您的数据类型更改为文本而不是字符串,因为它不能使用换行符。

options = { 
    :fenced_code_blocks => true, 
    :no_intra_emphasis => true, 
    :autolink => true, 
    :strikethrough => true, 
    :lax_html_blocks => true, 
    # :superscript => true, 
    :tables => true, 
    :with_toc_data => true 
    } 

,你应该与这个测试,

### We're looking for someone with 

- Significant Rails experience 
- Good communication skills (recommended) 

### You should be located near 

- Berlin 
- San Francisco 
- Toronto 
+0

感谢您的回答,我将字段更改为字符串中的文本,并尝试使用您的示例中的减价添加新条目,但渲染没有任何更改。这些选项都没有改变任何东西。 间距和列表项目仍然不起作用,看起来与以前相同 –