module Enki::Redcarpenter
Public Instance Methods
compile_dir(src_dir:, dst_dir:)
click to toggle source
# File lib/enki/redcarpenter.rb, line 55 def compile_dir(src_dir:, dst_dir:) Dir.glob("#{src_dir}/**/*.yml").each do |source_file| output_file = "#{dst_dir}/#{source_file[%r{#{src_dir}/(.*)\.yml}, 1]}.html" FileUtils.mkdir_p File.dirname(output_file) compile_file(source: source_file, output: output_file) end end
compile_file(source:, output:)
click to toggle source
# File lib/enki/redcarpenter.rb, line 30 def compile_file(source:, output:) @data = YAML.load_file(source) @markdown = ::Redcarpet::Markdown.new( EnkiRender, no_intra_emphasis: true, tables: true, ) @codes = { "200" => "OK", "201" => "Created", "204" => "No Content", "400" => "Bad Request", "403" => "Forbidden", "404" => "Forbidden", } template_file = File.open(Enki.configuration.erb_template) template = ERB.new template_file.read File.open(output, 'w') do |file| file.puts template.result(binding) end end