class Kramdown::Extension
A string containing the body of the extension. If no body is available, this is nil
.
[body
]
A hash containing the options set in the extension.
[opts
]
The parser instance from which the extension method is called.
[parser
]
These methods are called with three parameters:
An extension is a method called parse_EXTNAME
where EXTNAME
is the extension name.
specification.
This class provides implementations for the default extensions defined in the kramdown
The base extension class.
def boolean_value(val)
def boolean_value(val) val.downcase.strip != 'false' && !val.empty? end
def parse_comment(parser, opts, body)
def parse_comment(parser, opts, body) nil end
def parse_nomarkdown(parser, opts, body)
def parse_nomarkdown(parser, opts, body) parser.tree.children << Element.new(:raw, body) if body.kind_of?(String) end
def parse_options(parser, opts, body)
def parse_options(parser, opts, body) if val = opts.delete('auto_ids') parser.doc.options[:auto_ids] = boolean_value(val) end if val = opts.delete('filter_html') parser.doc.options[:filter_html] = val.split(/\s+/) end if val = opts.delete('footnote_nr') parser.doc.options[:footnote_nr] = Integer(val) rescue parser.doc.options[:footnote_nr] end if val = opts.delete('parse_block_html') parser.doc.options[:parse_block_html] = boolean_value(val) end if val = opts.delete('parse_span_html') parser.doc.options[:parse_span_html] = boolean_value(val) end if val = opts.delete('coderay_wrap') (parser.doc.options[:coderay] ||= {})[:wrap] = (val.empty? ? nil : val.to_sym) end if val = opts.delete('coderay_css') (parser.doc.options[:coderay] ||= {})[:css] = val.to_sym end if val = opts.delete('coderay_tab_width') (parser.doc.options[:coderay] ||= {})[:tab_width] = val.to_i end if val = opts.delete('coderay_line_numbers') (parser.doc.options[:coderay] ||= {})[:line_numbers] = (val.empty? ? nil : val.to_sym) end if val = opts.delete('coderay_line_number_start') (parser.doc.options[:coderay] ||= {})[:line_number_start] = val.to_i end if val = opts.delete('coderay_bold_every') (parser.doc.options[:coderay] ||= {})[:bold_every] = val.to_i end opts.each {|k,v| parser.warning("Unknown kramdown options '#{k}'")} end