Various fixes
This commit is contained in:
parent
9ffbaa101c
commit
807fac1074
@ -1,5 +1,5 @@
|
|||||||
Gem::Specification.new do |spec|
|
Gem::Specification.new do |spec|
|
||||||
spec.version = "0.1.3"
|
spec.version = "0.1.6a"
|
||||||
spec.homepage = "http://github.com/abemedia/jekyll-pdf/"
|
spec.homepage = "http://github.com/abemedia/jekyll-pdf/"
|
||||||
spec.authors = ["Adam Bouqdib"]
|
spec.authors = ["Adam Bouqdib"]
|
||||||
spec.email = ["adam@abemedia.co.uk"]
|
spec.email = ["adam@abemedia.co.uk"]
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
require 'pdfkit'
|
require 'pdfkit'
|
||||||
|
require File.dirname(__FILE__) + '/helper.rb'
|
||||||
|
|
||||||
module Jekyll
|
module Jekyll
|
||||||
module PDF
|
module PDF
|
||||||
@ -9,8 +10,8 @@ module Jekyll
|
|||||||
@site = site
|
@site = site
|
||||||
@base = base
|
@base = base
|
||||||
@dir = File.dirname(page.url)
|
@dir = File.dirname(page.url)
|
||||||
@name = File.basename(page.url, File.extname(page.url)) + ".pdf"
|
@name = File.basename(page.url, File.extname(page.url)) + '.pdf'
|
||||||
@settings = site.config['pdf'].clone || {}
|
@settings = site.config.key?('pdf') ? site.config['pdf'].clone : {}
|
||||||
@partials = ['cover','header_html','footer_html']
|
@partials = ['cover','header_html','footer_html']
|
||||||
|
|
||||||
self.process(@name)
|
self.process(@name)
|
||||||
@ -40,7 +41,6 @@ module Jekyll
|
|||||||
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
|
||||||
# todo: use jekyll's merge function
|
|
||||||
def getConfig(data)
|
def getConfig(data)
|
||||||
settings = data['pdf'].is_a?(Hash) ? data['pdf'] : {}
|
settings = data['pdf'].is_a?(Hash) ? data['pdf'] : {}
|
||||||
layout = @site.layouts[data['layout']].data.clone if data['layout'] != nil
|
layout = @site.layouts[data['layout']].data.clone if data['layout'] != nil
|
||||||
@ -55,6 +55,8 @@ module Jekyll
|
|||||||
return self.getConfig(layout)
|
return self.getConfig(layout)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Write the PDF file
|
||||||
|
# todo: remove pdfkit dependency
|
||||||
def write(dest_prefix, dest_suffix = nil)
|
def write(dest_prefix, dest_suffix = nil)
|
||||||
self.render(@site.layouts, @site.site_payload) if self.output == nil
|
self.render(@site.layouts, @site.site_payload) if self.output == nil
|
||||||
|
|
||||||
@ -73,12 +75,13 @@ module Jekyll
|
|||||||
File.open("#{path}.html", 'w') {|f| f.write(self.output) } if @settings["debug"]
|
File.open("#{path}.html", 'w') {|f| f.write(self.output) } if @settings["debug"]
|
||||||
@settings.delete("debug")
|
@settings.delete("debug")
|
||||||
|
|
||||||
|
# Trigger post-write so jekyll-assets builds assets required for the PDF
|
||||||
|
Jekyll::Hooks.trigger hook_owner, :post_write, self
|
||||||
|
|
||||||
# Build PDF file
|
# Build PDF file
|
||||||
fix_relative_paths
|
fix_relative_paths
|
||||||
kit = PDFKit.new(self.output, @settings)
|
kit = PDFKit.new(self.output, @settings)
|
||||||
file = kit.to_file(path)
|
file = kit.to_file(path)
|
||||||
|
|
||||||
#self.output = kit.to_pdf
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def layout()
|
def layout()
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
require 'tmpdir'
|
require 'tmpdir'
|
||||||
require 'digest/md5'
|
require 'digest/md5'
|
||||||
|
require File.dirname(__FILE__) + '/helper.rb'
|
||||||
|
|
||||||
module Jekyll
|
module Jekyll
|
||||||
module PDF
|
module PDF
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user