add = (tmpl) -> package.path ..= ";#{tmpl}.lua" package.moonpath ..= ";#{tmpl}.moon" add '?' add '?.server' add '?/init' add '?/init.server' require 'mmm' import Fileder from require 'mmm.mmmfs.fileder' import get_store from require 'mmm.mmmfs.stores' import render from require 'mmm.mmmfs.layout' -- usage: -- moon render_all.moon [STORE] [startpath] { store, startpath } = arg export STATIC STATIC = true store = get_store store tree = Fileder store tree = tree\walk startpath if startpath for fileder in coroutine.wrap tree\iterate print "rendering '#{fileder.path}'..." os.execute "mkdir -p 'out/#{fileder.path}'" with io.open "out/#{fileder.path}/index.html", 'w' \write render (fileder\get 'text/html'), fileder \close!