local toolkit = {} toolkit.file_iterator = function(directory) local _, files = argent.scanDirectory(directory) local i = 0 local n = table.getn(files) return function() i = i+1 if i<=n then return files[i] end end end toolkit.basename = function(filename) return string.gsub(filename, '%.lua$', '') end local function extract_page(file) if not string.match(file, '%.lua$') then return nil end local success, result = pcall(loadfile(file), 0, 1) if not success then return nil end return result end toolkit.pages = function(directory) page_array = {} local path = argent.config.site_directory..directory for file in toolkit.file_iterator(path) do local page = extract_page(path..file) if page then page.href = '/'..directory..toolkit.basename(file)..'.html' table.insert(page_array, page) end end return page_array end return toolkit