class TP::Publisher::PDF
Attributes
input_filename[R]
Public Class Methods
new(input_filename, output_filename)
click to toggle source
# File lib/tp/publisher/pdf.rb, line 22 def initialize(input_filename, output_filename) @input_filename = input_filename @output_filename = output_filename end
Public Instance Methods
document_options()
click to toggle source
# File lib/tp/publisher/pdf.rb, line 61 def document_options { page_layout: :landscape, optimize_objects: true, skip_page_creation: true } end
markdown()
click to toggle source
# File lib/tp/publisher/pdf.rb, line 41 def markdown @markdown ||= File.read(input_filename) end
new_page()
click to toggle source
# File lib/tp/publisher/pdf.rb, line 69 def new_page start_new_page fill_color '111111' canvas do fill_rectangle [bounds.left, bounds.top], bounds.width, bounds.height end fill_color 'EEEEEE' font "Helvetica" font_size 1.in end
output_filename()
click to toggle source
# File lib/tp/publisher/pdf.rb, line 53 def output_filename @output_filename || "#{input_filename.split('.').first}.pdf" end
pdf()
click to toggle source
# File lib/tp/publisher/pdf.rb, line 57 def pdf @pdf ||= Prawn::Document.new(document_options) end
presenter()
click to toggle source
# File lib/tp/publisher/pdf.rb, line 45 def presenter @presenter ||= Presenter.new(markdown) end
publish()
click to toggle source
# File lib/tp/publisher/pdf.rb, line 27 def publish slides.each do |slide| render_slide(slide) end render_file output_filename end
render_slide(slide)
click to toggle source
# File lib/tp/publisher/pdf.rb, line 35 def render_slide(slide) new_page slide.render_pdf(pdf) end
slides()
click to toggle source
# File lib/tp/publisher/pdf.rb, line 49 def slides presenter.slides end