class Gollum::Filter::YAML
Extract YAML
frontmatter from data and build metadata table.
Constants
- YAML_FRONT_MATTER_REGEXP
Regexp thanks to jekyll
Public Instance Methods
extract(data)
click to toggle source
# File lib/gollum-lib/filter/yaml.rb, line 9 def extract(data) data.gsub!(YAML_FRONT_MATTER_REGEXP) do @markup.metadata ||= {} begin frontmatter = ::YAML.safe_load(sanitize(Regexp.last_match[1])) @markup.metadata.merge!(frontmatter) if frontmatter.respond_to?(:keys) && frontmatter.respond_to?(:values) rescue ::Psych::SyntaxError, ::Psych::DisallowedClass, ::Psych::BadAlias => error @markup.metadata['errors'] ||= [] @markup.metadata['errors'] << "Failed to load YAML frontmatter: #{error.message}" end '' end data end
process(data)
click to toggle source
# File lib/gollum-lib/filter/yaml.rb, line 24 def process(data) data end