Ruby on Rails中使用Redcarpet或Bluecloth插件是否被限制?

2026-04-11 18:031阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计432个文字,预计阅读时间需要2分钟。

Ruby on Rails中使用Redcarpet或Bluecloth插件是否被限制?

使用Redcarpet或Bluecloth进行降价时,若不设置,则不会自动生成。例如:直接输入降价内容,不添加,则系统不会识别出相应的。

有没有办法使用Redcarpet或Bluecloth,这样当它插入降价时它不会产生任何标题?

Ruby on Rails中使用Redcarpet或Bluecloth插件是否被限制?

例如:

#header 1

收益率:

header 1

header 1 (preferred)

和:

##header 2

收益率:

header 2

header 2 (preferred)

好吧,你可以在Markdown中转义字符:

# 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分钟。

Ruby on Rails中使用Redcarpet或Bluecloth插件是否被限制?

使用Redcarpet或Bluecloth进行降价时,若不设置,则不会自动生成。例如:直接输入降价内容,不添加,则系统不会识别出相应的。

有没有办法使用Redcarpet或Bluecloth,这样当它插入降价时它不会产生任何标题?

Ruby on Rails中使用Redcarpet或Bluecloth插件是否被限制?

例如:

#header 1

收益率:

header 1

header 1 (preferred)

和:

##header 2

收益率:

header 2

header 2 (preferred)

好吧,你可以在Markdown中转义字符:

# 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

……但我把它作为练习留给读者.