class MCMarkdown::Parsers::Frontmatter
Attributes
content[R]
Public Class Methods
new(content)
click to toggle source
# File lib/mc_markdown/parsers/frontmatter.rb, line 7 def initialize content @content = content end
Public Instance Methods
parsed()
click to toggle source
# File lib/mc_markdown/parsers/frontmatter.rb, line 11 def parsed match = content.match( frontmatter_regex ) raw_fm = match[1] content = match[2] if raw_fm && !raw_fm.empty? frontmatter = SafeYAML.load raw_fm, safe: true, deserialize_symbols: true, raise_on_unknown_tag: true else frontmatter = {} end [ frontmatter, content ] end
Private Instance Methods
frontmatter_regex()
click to toggle source
# File lib/mc_markdown/parsers/frontmatter.rb, line 29 def frontmatter_regex # http://rubular.com/r/tJ6VoFBuqK # [1] => frontmatter || nil # [2] => content /(?:(?:\A-{3,}\s*\n+) (.+?) (?:-{3,}\s*\n+))? (.*)/mx end