Class: TreeHaver::Backends::Markly::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/tree_haver/backends/markly.rb

Overview

Markly parser wrapper

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeParser

Returns a new instance of Parser.



137
138
139
# File 'lib/tree_haver/backends/markly.rb', line 137

def initialize
  @language = nil
end

Instance Attribute Details

#languageObject

Returns the value of attribute language.



135
136
137
# File 'lib/tree_haver/backends/markly.rb', line 135

def language
  @language
end

Instance Method Details

#parse(source) ⇒ Tree

Parse Markdown source code

Parameters:

  • source (String)

    Markdown source to parse

Returns:

  • (Tree)

    Parsed tree



145
146
147
148
149
150
151
152
153
# File 'lib/tree_haver/backends/markly.rb', line 145

def parse(source)
  raise "Language not set" unless @language
  Markly.available? or raise "Markly not available"

  flags = @language.flags || ::Markly::DEFAULT
  extensions = @language.extensions || [:table]
  doc = ::Markly.parse(source, flags: flags, extensions: extensions)
  Tree.new(doc, source)
end

#parse_string(_old_tree, source) ⇒ Object

Alias for compatibility



156
157
158
# File 'lib/tree_haver/backends/markly.rb', line 156

def parse_string(_old_tree, source)
  parse(source)
end