class Tilt::SigilTemplate

def evaluate(scope, locals, &block)

def evaluate(scope, locals, &block)
  variables = locals.map {|k, v| "#{k}=#{v}" }
  cmd = ['sigil']
  unless variables.empty?
    cmd << '-p'
    cmd.concat(variables)
  end
  out, err, status = Open3.capture3(*cmd, :stdin_data => data)
  if status.success?
    out.chomp
  else
    raise err.chomp.gsub('<stdin>', file)
  end
end