class Dugway::Template

Attributes

name[R]

Public Class Methods

new(name) click to toggle source
# File lib/dugway/template.rb, line 5
def initialize(name)
  @name = name
end

Public Instance Methods

content() click to toggle source
# File lib/dugway/template.rb, line 9
def content
  Dugway.theme.file_content(name)
end
content_type() click to toggle source
# File lib/dugway/template.rb, line 13
def content_type
  Rack::Mime.mime_type(extension)
end
extension() click to toggle source
# File lib/dugway/template.rb, line 17
def extension
  File.extname(name)
end
html?() click to toggle source
# File lib/dugway/template.rb, line 21
def html?
  extension == '.html'
end
render(request, variables={}) click to toggle source
# File lib/dugway/template.rb, line 29
def render(request, variables={})
  if html?
    liquifier = Liquifier.new(request)
    content_to_render = variables[:page] && variables[:page]['content'] || content
    rendered_content = liquifier.render(content_to_render, variables)
    
    if standalone_html?
      rendered_content
    else
      liquifier.render(Dugway.theme.layout, variables.update(:page_content => rendered_content))
    end
  else
    content
  end
end
standalone_html?() click to toggle source
# File lib/dugway/template.rb, line 25
def standalone_html?
  html? && !!(content =~ /\{\{\s*head_content\s*\}\}/)
end