module Pretzel::Extension::Templating::Route
Public Class Methods
included(_class)
click to toggle source
# File lib/pretzel/ext/templating.rb, line 8 def self.included(_class) Liquid::Template.file_system = Liquid::LocalFileSystem.new("#{Dir.pwd}/views/includes") end
Public Instance Methods
render(path, locals = {})
click to toggle source
# File lib/pretzel/ext/templating.rb, line 12 def render(path, locals = {}) response["Content-Type"] = "text/html" layout_file = File.expand_path("#{Dir.pwd}/views/layout.liquid") raw_file = File.expand_path("#{Dir.pwd}/views/#{path.to_s}.liquid") template = Liquid::Template.parse(File.read(raw_file)) if File.exist?(layout_file) # Always render the layout, unless explicitly told otherwise. unless locals["layout"] == false layout = Liquid::Template.parse(File.read(layout_file)) layout.render({ "template" => template.render(locals) }) else template.render(locals) end else template.render(locals) end end