Add specs for pandoc markdown renderer

This commit is contained in:
2025-06-16 20:18:05 -07:00
parent 070bac262f
commit 26f77eab9a
3 changed files with 124 additions and 19 deletions

43
spec/factory.moon Normal file
View File

@@ -0,0 +1,43 @@
original_Site = require "sitegen.site"
page = require "sitegen.page"
site_file = require "sitegen.site_file"
local *
next_counter = do
counters = setmetatable {}, __index: => 1
(name) ->
with counters[name]
counters[name] += 1
original_Site.default_plugins = for v in *original_Site.default_plugins
if v\find "pygments" then continue else v
Site = (opts={}) ->
opts.rel_path or= "."
original_Site site_file.SiteFile {
rel_path: opts.rel_path
}
Page = (opts={}) ->
opts.site or= Site!
base = "some_page_#{next_counter "page"}"
opts.meta or= {}
opts.source or= "#{base}.md"
opts.target or= "www/#{base}.html"
opts.render_fn or= ->
opts.read = -> error "read disabled"
opts.write = -> error "write disabled"
setmetatable opts, page.Page.__base
opts.site.pages or= {}
table.insert opts.site.pages, opts
opts
{ :Site, :Page }