Allow frontmatter renderer_options key to overwrite renderer options on a per-file basis. closes #859
This commit is contained in:
parent
9fc06035b1
commit
a0445e405a
11 changed files with 82 additions and 0 deletions
|
@ -250,6 +250,9 @@ module Middleman
|
|||
options = opts.merge(options_for_ext(extension))
|
||||
options[:outvar] ||= '@_out_buf'
|
||||
|
||||
# Overwrite with frontmatter options
|
||||
options = options.deep_merge(options[:renderer_options]) if options[:renderer_options]
|
||||
|
||||
template_class = Tilt[path]
|
||||
# Allow hooks to manipulate the template before render
|
||||
self.class.callbacks_for_hook(:before_render).each do |callback|
|
||||
|
|
|
@ -117,6 +117,15 @@ module Middleman
|
|||
instrument "render.resource", :path => relative_source do
|
||||
md = metadata.dup
|
||||
opts = md[:options].deep_merge(opts)
|
||||
|
||||
# Pass "renderer_options" hash from frontmatter along to renderer
|
||||
if md[:page]["renderer_options"]
|
||||
opts[:renderer_options] = {}
|
||||
md[:page]["renderer_options"].each do |k, v|
|
||||
opts[:renderer_options][k.to_sym] = v
|
||||
end
|
||||
end
|
||||
|
||||
locs = md[:locals].deep_merge(locs)
|
||||
|
||||
# Forward remaining data to helpers
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue