class PandocRenderer extends require "sitegen.renderers.markdown" unescape_cosmo = @unescape_cosmo escape_cosmo = @escape_cosmo command: "pandoc" render: (page, md_source) => md_source = page\pipe "renderer.markdown.pre_render", md_source md_source, escapes = escape_cosmo md_source markup_filename = os.tmpname! input_handle = io.popen @command .. " > " .. markup_filename, "w" input_handle\write md_source input_handle\close! output_handle = io.open markup_filename, "r" result = output_handle\read "*a" output_handle\close! html_source = assert result html_source = unescape_cosmo html_source, escapes super page, html_source