Ruby on Rails中使用Redcarpet或Bluecloth插件是否被限制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计432个文字,预计阅读时间需要2分钟。
使用Redcarpet或Bluecloth进行降价时,若不设置,则不会自动生成。例如:直接输入降价内容,不添加,则系统不会识别出相应的。
有没有办法使用Redcarpet或Bluecloth,这样当它插入降价时它不会产生任何标题?例如:
#header 1
收益率:
header 1
header 1 (preferred)
和:
##header 2
收益率:
好吧,你可以在Markdown中转义字符:header 2
header 2 (preferred)
# header 1 \# header 1 ## header 2 \## header 2
…给:
# header 1
header 2
## header 2
如果您不想这样做,或者您正在解析其他人的Markdown并且没有选择,我建议您预先处理收到的Markdown以执行上述操作:
def pound_filter text text.gsub /^#/, '\#' end
使用Redcarpet,您可以验证它是否有效:
text = <<-END # Hello ## World END Markdown.new(text.to_html) # => <h1>Hello</h1> # # <h2>World</h2> Markdown.new(pound_filter text).to_html # => <p># Hello # ## World</p>
当然,因为HTML中的换行符实际上不会这样呈现 – 它将显示为一行:
# Hello ## World”
……你可能想要增加:
def pound_filter text text.gsub( /((\A^)|([^\A]^))#/ ) {|match| "\n" == match[0] ? "\n\n\\#" : '\#' } end pound_filter text # => \# Hello # # \## World Markdown.new(pound_filter text).to_html # => <p>\# Hello</p> # # <p>\## World</p>
这最后会显示为:
# Hello
## World
不幸的是,你最终会进入这样一个奇怪的领域,其中标题在引号内:
> ## Heading
……但我把它作为练习留给读者.
本文共计432个文字,预计阅读时间需要2分钟。
使用Redcarpet或Bluecloth进行降价时,若不设置,则不会自动生成。例如:直接输入降价内容,不添加,则系统不会识别出相应的。
有没有办法使用Redcarpet或Bluecloth,这样当它插入降价时它不会产生任何标题?例如:
#header 1
收益率:
header 1
header 1 (preferred)
和:
##header 2
收益率:
好吧,你可以在Markdown中转义字符:header 2
header 2 (preferred)
# header 1 \# header 1 ## header 2 \## header 2
…给:
# header 1
header 2
## header 2
如果您不想这样做,或者您正在解析其他人的Markdown并且没有选择,我建议您预先处理收到的Markdown以执行上述操作:
def pound_filter text text.gsub /^#/, '\#' end
使用Redcarpet,您可以验证它是否有效:
text = <<-END # Hello ## World END Markdown.new(text.to_html) # => <h1>Hello</h1> # # <h2>World</h2> Markdown.new(pound_filter text).to_html # => <p># Hello # ## World</p>
当然,因为HTML中的换行符实际上不会这样呈现 – 它将显示为一行:
# Hello ## World”
……你可能想要增加:
def pound_filter text text.gsub( /((\A^)|([^\A]^))#/ ) {|match| "\n" == match[0] ? "\n\n\\#" : '\#' } end pound_filter text # => \# Hello # # \## World Markdown.new(pound_filter text).to_html # => <p>\# Hello</p> # # <p>\## World</p>
这最后会显示为:
# Hello
## World
不幸的是,你最终会进入这样一个奇怪的领域,其中标题在引号内:
> ## Heading
……但我把它作为练习留给读者.

