Class: Textus::Builder::Renderer::Markdown

Inherits:
Textus::Builder::Renderer show all
Defined in:
lib/textus/builder/renderer/markdown.rb

Instance Method Summary collapse

Methods inherited from Textus::Builder::Renderer

#initialize

Constructor Details

This class inherits a constructor from Textus::Builder::Renderer

Instance Method Details

#call(mentry:, data:) ⇒ Object

Raises:



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/textus/builder/renderer/markdown.rb', line 7

def call(mentry:, data:)
  raise TemplateError.new("entry '#{mentry.key}': markdown build requires a template") unless mentry.template

  body = Mustache.render(@template_loader.call(mentry.template), data)
  frontmatter = {
    "generated" => {
      "at" => Time.now.utc.iso8601,
      "from" => Array(mentry.projection&.fetch("select", nil)).compact,
    },
  }
  Entry.for_format("markdown").serialize(meta: frontmatter, body: body)
end