Remove monkey-patch and add custom pandoc renderer

This commit is contained in:
2025-06-16 20:18:05 -07:00
parent d8d50c234a
commit bb90a3eaa5
3 changed files with 30 additions and 101 deletions

23
renderers/markdown.moon Normal file
View File

@@ -0,0 +1,23 @@
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