class RDoc::Markup::ToLabel

创建适用于 id 属性的 HTML 安全标签。Tidylinks 被转换为它们的链接部分,并且交叉引用链接会移除抑制标记(\SomeClass 被转换为 SomeClass)。

公共类方法

new(markup = nil) 点击切换源代码

创建一个新的格式化器,它将输出 HTML 安全标签

调用父类方法 RDoc::Markup::Formatter::new
# File rdoc/markup/to_label.rb, line 16
def initialize markup = nil
  super nil, markup

  @markup.add_regexp_handling RDoc::CrossReference::CROSSREF_REGEXP, :CROSSREF
  @markup.add_regexp_handling(/(((\{.*?\})|\b\S+?)\[\S+?\])/, :TIDYLINK)

  add_tag :BOLD, '', ''
  add_tag :TT,   '', ''
  add_tag :EM,   '', ''

  @res = []
end

公共实例方法

convert(text) 点击切换源代码

text 转换为 HTML 安全标签

# File rdoc/markup/to_label.rb, line 32
def convert text
  label = convert_flow @am.flow text

  CGI.escape(label).gsub('%', '-').sub(/^-/, '')
end
handle_regexp_CROSSREF(target) 点击切换源代码

将 CROSSREF target 转换为纯文本,移除抑制标记(如果有)

# File rdoc/markup/to_label.rb, line 42
def handle_regexp_CROSSREF target
  text = target.text

  text.sub(/^\\/, '')
end