Module: HowIs::Frontmatter
- Defined in:
- lib/how_is/frontmatter.rb
Class Method Summary collapse
-
.generate(frontmatter, report_data) ⇒ Object
Generates YAML frontmatter, as is used in Jekyll and other blog engines.
Class Method Details
.generate(frontmatter, report_data) ⇒ Object
Generates YAML frontmatter, as is used in Jekyll and other blog engines.
E.g.,
generate_frontmatter({'foo' => "bar %{baz}"}, {'baz' => "asdf"})
> “—nfoo: bar asdfn”
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/how_is/frontmatter.rb', line 12 def self.generate(frontmatter, report_data) return "" if frontmatter.nil? frontmatter = convert_keys(frontmatter, :to_s) report_data = convert_keys(report_data, :to_sym) frontmatter = frontmatter.map { |k, v| # Sometimes report_data has unused keys, which generates a warning, but # we're okay with it. v = silence_warnings { v % report_data } [k, v] }.to_h YAML.dump(frontmatter) + "---\n\n" end |