module Leg::Template
Public Class Methods
render(template_source, tutorial, config, params = {})
click to toggle source
# File lib/leg/template.rb, line 3 def self.render(template_source, tutorial, config, params = {}) Leg::Template::Context.new(template_source, tutorial, config, params).render_template end
render_page(page_template, step_template, format, page, tutorial, config)
click to toggle source
# File lib/leg/template.rb, line 7 def self.render_page(page_template, step_template, format, page, tutorial, config) content = "" page.steps.each do |step| if !step.text.strip.empty? output = step.text.strip + "\n\n" if format == "html" output = Leg::Markdown.render(output) end content << output end content << Leg::Template.render_step(step_template, step, tutorial, config) end if page.footer_text # TODO: DRY this up. Please. output = page.footer_text.strip + "\n\n" if format == "html" output = Leg::Markdown.render(output) end content << output end page_number = tutorial.pages.index(page) + 1 Leg::Template.render(page_template, tutorial, config, page_title: page.title, content: content, page_number: page_number, prev_page: page_number > 1 ? tutorial.pages[page_number - 2] : nil, next_page: page_number < tutorial.pages.length ? tutorial.pages[page_number] : nil ) end
render_step(step_template, step, tutorial, config)
click to toggle source
# File lib/leg/template.rb, line 40 def self.render_step(step_template, step, tutorial, config) Leg::Template.render(step_template, tutorial, config, number: step.number, summary: step.summary, diffs: step.diffs ) end