Class: ReDiscount

Inherits:
Object
  • Object
show all
Defined in:
lib/mdutils/rediscount.rb

Constant Summary collapse

VERSION =
'3.1.0'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(text, *flags) ⇒ ReDiscount

初始化 Markdown 解析器。

Parameters:

  • text (String)

    Markdown 文本

  • flags (Symbol*)

    可选标志,通过 send 方法设置为 true 支持::smart, :filter_html, :filter_styles, :footnotes, :generate_toc, :no_image, :no_links, :no_tables, :strict, :autolink, :safelink, :no_pseudo_protocols, :no_superscript, :no_strikethrough, :latex, :explicitlist, :md1compat



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/mdutils/rediscount.rb', line 82

def initialize(text, *flags)
  @text = text.to_s
  @smart = false
  @filter_html = false
  @filter_styles = false
  @footnotes = false
  @generate_toc = false
  @no_image = false
  @no_links = false
  @no_tables = false
  @strict = false
  @autolink = false
  @safelink = false
  @no_pseudo_protocols = false
  @no_superscript = false
  @no_strikethrough = false
  @latex = false
  @explicitlist = false
  @md1compat = false

  flags.each do |flag|
    send("#{flag}=", true) if respond_to?("#{flag}=")
  end
end

Instance Attribute Details

自动链接



64
65
66
# File 'lib/mdutils/rediscount.rb', line 64

def autolink
  @autolink
end

#explicitlistObject

显式列表



70
71
72
# File 'lib/mdutils/rediscount.rb', line 70

def explicitlist
  @explicitlist
end

#filter_htmlObject

过滤 HTML 标签



56
57
58
# File 'lib/mdutils/rediscount.rb', line 56

def filter_html
  @filter_html
end

#filter_stylesObject

过滤样式标签



57
58
59
# File 'lib/mdutils/rediscount.rb', line 57

def filter_styles
  @filter_styles
end

#footnotesObject

启用脚注



58
59
60
# File 'lib/mdutils/rediscount.rb', line 58

def footnotes
  @footnotes
end

#generate_tocObject

生成目录



59
60
61
# File 'lib/mdutils/rediscount.rb', line 59

def generate_toc
  @generate_toc
end

#latexObject

LaTeX 支持



69
70
71
# File 'lib/mdutils/rediscount.rb', line 69

def latex
  @latex
end

#md1compatObject

Markdown 1.0 兼容



71
72
73
# File 'lib/mdutils/rediscount.rb', line 71

def md1compat
  @md1compat
end

#no_imageObject

禁用图片



60
61
62
# File 'lib/mdutils/rediscount.rb', line 60

def no_image
  @no_image
end

禁用链接



61
62
63
# File 'lib/mdutils/rediscount.rb', line 61

def no_links
  @no_links
end

#no_pseudo_protocolsObject

禁用伪协议



66
67
68
# File 'lib/mdutils/rediscount.rb', line 66

def no_pseudo_protocols
  @no_pseudo_protocols
end

#no_strikethroughObject

禁用删除线



68
69
70
# File 'lib/mdutils/rediscount.rb', line 68

def no_strikethrough
  @no_strikethrough
end

#no_superscriptObject

禁用上标



67
68
69
# File 'lib/mdutils/rediscount.rb', line 67

def no_superscript
  @no_superscript
end

#no_tablesObject

禁用表格



62
63
64
# File 'lib/mdutils/rediscount.rb', line 62

def no_tables
  @no_tables
end

安全链接



65
66
67
# File 'lib/mdutils/rediscount.rb', line 65

def safelink
  @safelink
end

#smartObject

解析标志访问器



55
56
57
# File 'lib/mdutils/rediscount.rb', line 55

def smart
  @smart
end

#strictObject

严格模式



63
64
65
# File 'lib/mdutils/rediscount.rb', line 63

def strict
  @strict
end

#textString (readonly)

Returns Markdown 原始文本.

Returns:

  • (String)

    Markdown 原始文本



52
53
54
# File 'lib/mdutils/rediscount.rb', line 52

def text
  @text
end

Instance Method Details

#to_htmlString

将 Markdown 文本转换为 HTML。

Returns:

  • (String)

    HTML 字符串(末尾含换行符)



110
111
112
113
# File 'lib/mdutils/rediscount.rb', line 110

def to_html
  parser = MarkdownParser.new(@text, self)
  parser.to_html
end

#toc_contentString

生成目录 HTML 内容。

需要 :generate_toc 标志启用,且文档中包含标题。

Returns:

  • (String)

    目录 HTML(<ul> 列表),如果无标题则返回空字符串



120
121
122
123
# File 'lib/mdutils/rediscount.rb', line 120

def toc_content
  parser = MarkdownParser.new(@text, self)
  parser.toc_content
end