Module: ScribeDown::Renderer
- Defined in:
- lib/generate/helpers.rb,
lib/generate/renderer.rb
Constant Summary collapse
- @@settings =
nil
- @@sections =
nil
- @@templates =
nil
Class Method Summary collapse
- .add(file_name, options = {}) ⇒ Object
- .content ⇒ Object
- .head_tags ⇒ Object
- .image_tag(url, options = {}) ⇒ Object
- .link_to(text, url, options = {}) ⇒ Object
- .render_section(section) ⇒ Object
- .stylesheet_tag(file_name) ⇒ Object
- .to_html(sections, settings) ⇒ Object
- .to_pdf(html_content) ⇒ Object
Class Method Details
.add(file_name, options = {}) ⇒ Object
38 39 40 41 |
# File 'lib/generate/renderer.rb', line 38 def self.add(file_name, ={}) [:binding] = binding Res.read_file(file_name, ) end |
.content ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/generate/renderer.rb', line 19 def self.content rendered_sections = Array.new @@sections.each do |section| rendered_sections.push render_section(section) end rendered_sections.join "\n\n" end |
.head_tags ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/generate/renderer.rb', line 11 def self. rendered = Array.new @@settings[:styles].each do |style| rendered.push(stylesheet_tag style) end rendered.join "\n\n" end |
.image_tag(url, options = {}) ⇒ Object
14 15 16 17 |
# File 'lib/generate/helpers.rb', line 14 def self.image_tag(url, ={}) extras = .map {|k,v| "#{k}=\"#{v}\"" }.join ' ' "<img src=\"#{url}\" #{extras}/>" end |
.link_to(text, url, options = {}) ⇒ Object
5 6 7 8 |
# File 'lib/generate/helpers.rb', line 5 def self.link_to(text, url, ={}) extras = .map {|k,v| "#{k}=\"#{v}\"" }.join ' ' "<a href=\"#{url}\" #{extras}>#{text}</a>" end |
.render_section(section) ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/generate/renderer.rb', line 27 def self.render_section(section) if @@templates.has_key? section.container template = @@templates[section.container] else template = Res.read_file(section.container, format: :plain) @@templates[section.container] = template end content = Res.read_file(section.path, format: section.format.to_sym, binding: binding) Res.erb_contents(template, binding) end |
.stylesheet_tag(file_name) ⇒ Object
10 11 12 |
# File 'lib/generate/helpers.rb', line 10 def self.stylesheet_tag(file_name) "<style>\n" + Res.read_file(file_name) + "\n</style>" end |
.to_html(sections, settings) ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/generate/renderer.rb', line 43 def self.to_html(sections, settings) @@settings = settings @@sections = sections @@templates = Hash.new title ||= settings[:title] return Res.read_file(settings[:base], binding: binding) end |
.to_pdf(html_content) ⇒ Object
51 52 53 |
# File 'lib/generate/renderer.rb', line 51 def self.to_pdf(html_content) PDFKit.new(html_content).to_pdf end |