mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-15 00:40:40 -07:00
31 lines
731 B
Ruby
Executable File
31 lines
731 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
# frozen_string_literal: true
|
|
|
|
require 'bundler/setup'
|
|
require 'liquid'
|
|
|
|
class VirtualFileSystem
|
|
def initialize
|
|
snippet_1 = '<h1>{{ greating | default: "Hello" }}, {{ name | default: "world" }}!</h1>'
|
|
snippet_2 = '{% for i in (1..5) %} > {{ i }}{% endfor %}'
|
|
|
|
@templates = {
|
|
'snippet_1' => snippet_1,
|
|
'snippet_2' => snippet_2,
|
|
}
|
|
end
|
|
|
|
def read_template_file(key)
|
|
@templates[key] || raise(Liquid::FileSystemError, "No such template '#{key}'")
|
|
end
|
|
end
|
|
|
|
error_mode = :strict
|
|
# error_mode = :rigid
|
|
file = File.read(ARGV[0])
|
|
template = Liquid::Template.parse(file, error_mode: error_mode)
|
|
|
|
template.registers[:file_system] = VirtualFileSystem.new
|
|
|
|
puts template.render
|