Module: Leg::Template
- Defined in:
- lib/leg/template.rb
Defined Under Namespace
Classes: Context
Class Method Summary collapse
- .render(template_source, tutorial, config, params = {}) ⇒ Object
- .render_page(page_template, step_template, format, page, tutorial, config) ⇒ Object
- .render_step(step_template, step, tutorial, config) ⇒ Object
Class Method Details
.render(template_source, tutorial, config, params = {}) ⇒ Object
3 4 5 |
# 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) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# 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. # TODO: DRY this up. Please. output = page..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) ⇒ Object
40 41 42 43 44 45 46 |
# 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 |