答案 0 :(得分:3)
有一个关于如何在RedCloth's specs中使用自定义标签的示例。基本上,您将所需的新方法放在模块中,然后将其传递给RedCloth对象的extend方法。
以下是自定义标记的快速示例,该标记将调用的文本放在范围中:
module MappingExtension
def map(opts)
html = %Q{<span class="map">#{opts[:text]}</span>\n}
end
end
require 'redcloth'
text = "The next line will contain a map:\n\nmap. map"
r = RedCloth.new text
r.extend MappingExtension
r.to_html
# "<p>The next line will contain a map:</p>\n<span class="map">map</span>\n"
如果要在Rails项目中使用它,您可能希望覆盖ActionView的textilize文本助手,以便它使用您的自定义标记扩展RedCloth。