Class: Hx::Output::LiquidTemplate
- Inherits:
-
Object
- Object
- Hx::Output::LiquidTemplate
show all
- Includes:
- Filter
- Defined in:
- lib/hx/output/liquidtemplate.rb
Defined Under Namespace
Modules: TextFilters
Classes: TemplateSource
Instance Method Summary
collapse
Methods included from Filter
#each_entry
Methods included from View
#each_entry, #edit_entry
Constructor Details
#initialize(input, options) ⇒ LiquidTemplate
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
# File 'lib/hx/output/liquidtemplate.rb', line 85
def initialize(input, options)
@input = input
@options = {}
for key, value in options
@options[key.to_s] = value
end
begin
LiquidTemplate.const_get(:TEMPLATE_SOURCE)
rescue NameError
template_source = Cache.new(TemplateSource.new(options))
LiquidTemplate.const_set(:TEMPLATE_SOURCE, template_source)
end
@template_name = options[:template]
TEMPLATE_SOURCE.get_entry(@template_name)
@extension = options[:extension]
@content_type = options[:content_type]
@strip_extension_re = nil
@strip_extension_re = /\.#{Regexp.quote(@extension)}$/ if @extension
end
|
Instance Method Details
#each_entry_path(selector) ⇒ Object
108
109
110
111
112
113
114
|
# File 'lib/hx/output/liquidtemplate.rb', line 108
def each_entry_path(selector)
@input.each_entry_path(Path::ALL) do |path|
path = "#{path}.#{@extension}" unless @extension.nil?
yield path if selector.accept_path? path
end
self
end
|
#get_entry(path) ⇒ Object
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
# File 'lib/hx/output/liquidtemplate.rb', line 116
def get_entry(path)
path = path.sub(@strip_extension_re, '') if @strip_extension_re
entry = @input.get_entry(path)
output_entry = {}
template = TEMPLATE_SOURCE.get_entry(@template_name)["template"]
output_entry['content'] = Hx::LazyContent.new do
template.render(
'now' => Time.now,
'options' => @options,
'path' => path,
'entry' => entry
)
end
output_entry['content_type'] = @content_type if @content_type
if entry.has_key? 'updated'
output_entry['created'] = output_entry['updated'] = entry['updated']
end
output_entry
end
|