This commit is contained in:
Gleb Sinyavsky 2017-09-28 14:57:38 -07:00
parent 848c19001f
commit 8535e32d4a

View File

@ -22,7 +22,7 @@ module Jekyll
data['layout'] = layout data['layout'] = layout
# Get PDF settings from the layouts # Get PDF settings from the layouts
Jekyll::Utils.deep_merge_hashes!(@settings, getConfig(data)) Jekyll::Utils.deep_merge_hashes!(@settings, get_config(data))
PDFKit.configure do |config| PDFKit.configure do |config|
config.verbose = site.config['verbose'] config.verbose = site.config['verbose']
@ -38,15 +38,10 @@ module Jekyll
@partials.each do |partial| @partials.each do |partial|
@settings[partial] = Jekyll::PDF::Partial.new(self, @settings[partial]) unless @settings[partial].nil? @settings[partial] = Jekyll::PDF::Partial.new(self, @settings[partial]) unless @settings[partial].nil?
end end
data.default_proc = proc do |_, key|
site.frontmatter_defaults.find(File.join(dir, name), type, key)
end
Jekyll::Hooks.trigger :pages, :post_init, self
end end
# Recursively merge settings from the page, layout, site config & jekyll-pdf defaults # Recursively merge settings from the page, layout, site config & jekyll-pdf defaults
def getConfig(data) def get_config(data)
settings = data['pdf'].is_a?(Hash) ? data['pdf'] : {} settings = data['pdf'].is_a?(Hash) ? data['pdf'] : {}
layout = @site.layouts[data['layout']].data.clone unless data['layout'].nil? layout = @site.layouts[data['layout']].data.clone unless data['layout'].nil?
@ -57,7 +52,7 @@ module Jekyll
layout['pdf'] ||= {} layout['pdf'] ||= {}
Jekyll::Utils.deep_merge_hashes!(layout['pdf'], settings) Jekyll::Utils.deep_merge_hashes!(layout['pdf'], settings)
getConfig(layout) get_config(layout)
end end
# Write the PDF file # Write the PDF file