5

BlueCloth 与 Rails 3 兼容吗?我不能让它工作,也许有人使用它?

在需要“bluecloth”之后,视图中应该有一个名为“markdown”的助手,但这似乎不可用。

4

4 回答 4

10

我现在正在将应用程序升级到 rails3,它对我来说效果很好。我在模板中使用了一个名为“format”的辅助函数,尽管下面的代码还提供了一个 markdown 函数(在 rails3 中,您必须将它与 raw() 一起使用)。这是我的 [项目]/app/helpers/application_helper.rb 的内容

module ApplicationHelper
  # Format text for display.                                                                    
  def format(text)
    sanitize(markdown(text))
  end

  # Process text with Markdown.                                                                 
  def markdown(text)
    BlueCloth::new(text).to_html
  end
end

就像之前的海报所说,你还需要

gem 'bluecloth'

在您的 [项目]/Gemfile 中。我的模板看起来像:

<p><%= format @post.body %></p>

使用降价功能,它将是:

<p><%= raw(markdown(@post.body)) %></p>

所以我使用格式功能。根据需要重命名函数。

于 2010-10-21T02:54:30.440 回答
2

我创建了一个全新的 Rails 3 应用程序,并在 Gemfile 中添加了:

gem 'bluecloth', '>= 2.0.0'

然后打开控制台:

ruby-1.8.7-p302 > BlueCloth.new('**hello**').to_html
=> "<p><strong>hello</strong></p>"

所以它似乎工作,至少对我来说。

您也可以尝试 Rdiscount,但我认为它基于相同的 C 库,或者至少具有类似的基准。

您应该更具体地说明它是如何不工作的:它会引发错误吗?它不会呈现html吗?ETC...

于 2010-09-27T09:40:00.810 回答
0

您可以做的,不是说它很漂亮,而是在您的 rails 项目中创建一个初始化程序并将以下内容放入其中:

require 'bluecloth'

class String
 def markdown
   BlueCloth.new(self).to_html
 end
end

这应该在每个字符串对象上启用 markdown 方法。

于 2010-10-03T13:56:41.510 回答
0

我建议通过 BlueCloth 切换到 RDiscount。这是替代品的下降,并且在所有方面都更好。

http://github.com/rtomayko/rdiscount

于 2010-10-26T16:38:43.667 回答