Module: RenderHelper

Extended by:
T::Sig
Defined in:
lib/frontman/helpers/render_helper.rb

Instance Method Summary collapse

Instance Method Details

#partial(template, data = {}) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/frontman/helpers/render_helper.rb', line 18

def partial(template, data = {})
  partial_dir = Frontman::Config.get(
    :partial_dir, fallback: 'views/partials'
  )
  r = Frontman::Resource.from_path(
    File.join(partial_dir, template), nil, false
  )
  r.render(nil, data)
end

#render_current_page(options = {}) ⇒ Object



46
47
48
# File 'lib/frontman/helpers/render_helper.rb', line 46

def render_current_page(options = {})
  render_page(Frontman::App.instance.current_page, options)
end

#render_erb(content, template_data = nil) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/frontman/helpers/render_helper.rb', line 64

def render_erb(content, template_data = nil)
  context = Frontman::Context.new

  if !template_data.nil? && template_data
    template_data.each do |key, value|
      context.singleton_class.send(:define_method, key) { value }
    end
  end

  compiled = Frontman::ErbRenderer.instance.compile(content)
  Frontman::ErbRenderer.instance.render(compiled, nil, context, {})
end

#render_markdown(content) ⇒ Object



51
52
53
54
55
56
# File 'lib/frontman/helpers/render_helper.rb', line 51

def render_markdown(content)
  compiled = Frontman::MarkdownRenderer.instance.compile(content)
  Frontman::MarkdownRenderer.instance.render(
    compiled, nil, Frontman::Context.new, {}
  )
end

#render_page(page, options = {}) ⇒ Object



33
34
35
36
37
38
39
40
41
# File 'lib/frontman/helpers/render_helper.rb', line 33

def render_page(page, options = {})
  # We force not to render any layout
  options[:layout] = nil
  options[:ignore_page] = true

  # We don't need to cache here since it already done in the render function
  # of the resource
  page.render(nil, options)
end