diff options
Diffstat (limited to '_scripts/generate_index.lua')
-rw-r--r-- | _scripts/generate_index.lua | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/_scripts/generate_index.lua b/_scripts/generate_index.lua new file mode 100644 index 0000000..06c183f --- /dev/null +++ b/_scripts/generate_index.lua @@ -0,0 +1,35 @@ +#!/usr/bin/lua + +markdown = require('discount') +yaml = require('yaml') + +function read_meta(file) + local f = assert(io.open(file)) + local header, body = f:read("*a"):match("^(%-%-%-.-%-%-%-)(.*)$") + f:close() + local m = yaml.load(header) + m.pagename = file:gsub("%.md$", ""):gsub("^.*/", "") + m.md = file + m.html = m.pagename..".html" + return m +end + +function print_md(meta) + io.write(("|%s|%s|\n"):format(meta.date, meta.title)) +end + +a = {} +j=1 +for i=1, #arg do + local m = read_meta(arg[i]) + if m.date then + a[j] = m + j = j + 1 + end + +end +table.sort(a, function(a,b) + return a.date < b.date +end) +io.write(yaml.dump(a)) + |