sitegen = require "sitegen" tools = require "sitegen.tools" site = require "sitegen.site" lfs = require "lfs" rootname = (str) -> result = string.gsub str, "%..+", "" result split = (str, delimiter="/") -> [capture for capture in string.gmatch str, "[^#{delimiter}]+"] last = (list) -> list[#list] join = (first, last, delimiter="/") -> table.concat {first, last}, delimiter target = (path, prefix) -> join prefix, rootname(last(split path)) posts = (path=".") -> files = [file for file in lfs.dir path when file != "." and file != ".."] {join(path, file), target(file, "/posts") for _, file in ipairs files} -- Change output dir to what Openresty prefers -- site = site! site.config.out_dir = "html/" css = tools.system_command "cat < %s > %s", "css" ps = posts("docs") -- require("moon").p ps files = [file for file in lfs.dir "docs" when file != "." and file != ".."] -- sf = require("sitegen.site_file") -- require("moon").p sf -- for file in lfs.dir "docs" -- when file != "." and file != ".." -- print rootname(last(split path)) -- print file at = (one, two) -> print "ANOTHER TEST" require("moon").p two html = require("sitegen.html") one = () -> html.build -> tag.a { href: "momo", "yayaya" } tag.a { href: "momo", "yayaya" } sitegen.create => @title = "WebDevCat.me ยท Catalin Mititiuc" @app_name = "stasis" @version = "0.2.12" @val = "yes" @posts = (page) -> -- require("moon").p [key for key in pairs page.site.pages[1]] -- require("moon").p [key for key in pairs page.site] -- posts = [{ -- id: p.meta.id -- target: p.meta.target -- source: p.source -- } for _, p in pairs page.site.pages when p.meta.template == "blog"] -- pages = [key for key, _ in pairs page for _, page in ipairs page.site.pages] -- posts = [{ -- id: p.meta.id -- target: p.meta.target -- source: p.source -- } for _, p in pairs page.site.pages when p.meta.template == "blog"] -- require("moon").p posts -- posts -- require("moon").p [key for key in pairs page.site] -- require("moon").p [k for k,v in pairs page for _, page in ipairs pages] -- require("moon").p [{page.meta, page.source} for _, page in ipairs pages when page.meta.template == "blog"] -- require("moon").p [{dv} for k, dv in pairs(v) for _, v in pairs pages] -- require("moon").p [k,v for key, v in pairs pages] -- require("moon").p site.target -- require("moon").p get_site @test = (page) -> {{"b": 1, "c": 2}, {"d": 3, "e": 4}} @what = (page) -> -- require("moon").p [{ln, lv} for ln, lv in pairs debug.getlocal(2, idx)] -- require("moon").p "what?" -- require("moon").p @ -- require("moon").p @site add "index.html", o: one add path, target: out, template: "blog" for path, out in pairs posts "docs" -- add "test.html", id: "test" -- feed "posts.moon", "feed.xml" -- require("moon").p site build css, "app.css" -- require("moon").p site