19 lines
538 B
Ruby
19 lines
538 B
Ruby
#!/usr/bin/env ruby
|
|
require 'yaml'
|
|
require 'liquid'
|
|
|
|
unless ARGV.length == 3
|
|
abort "Usage: render-liquid-template.rb [yaml_file] [markdown_in_file] [markdown_out_file]"
|
|
end
|
|
|
|
yaml_file, markdown_file_in, markdown_file_out = ARGV
|
|
|
|
[yaml_file, markdown_file_in].each do |file|
|
|
unless File.file? file
|
|
abort "File does not exist: '%s'" % [file]
|
|
end
|
|
end
|
|
|
|
metadata = { 'site' => (YAML.load (File.read yaml_file)) }
|
|
template = Liquid::Template.parse (File.read markdown_file_in)
|
|
File.write markdown_file_out, (template.render metadata)
|