require 'mmm' import get_path from require 'build.util' import tohtml from require 'mmm.component' import Browser from require 'mmm.mmmfs.browser' import get_meta, header, footer from require 'build.layout' export BROWSER -- usage: -- moon render.moon { path_to_root } = arg assert path_to_root, "please specify the relative root path" path = get_path path_to_root do seed = (str) -> len = #str rnd = -> math.ceil math.random! * len math.randomseed len return if len == 0 upper, lower = 0, 0 for i=1,4 upper += str\byte rnd! upper *= 0x100 lower += str\byte rnd! lower *= 0x100 math.randomseed upper, lower seed path root = dofile '$bundle.lua' assert root, "couldn't load $bundle.lua" root\mount path, true BROWSER = Browser root, path with io.open 'index.html', 'w' \write [[ ]] \write " #{get_meta root} #{header} #{assert (tohtml BROWSER), "couldn't render BROWSER"} #{footer} " \write [[ ]] \write " " \close!