35 lines
783 B
Lua
35 lines
783 B
Lua
local skooma = require 'skooma'
|
|
local config = require 'config'
|
|
|
|
local xml = skooma.env()
|
|
|
|
local function map(sequence, fun)
|
|
local new = {}
|
|
for key, value in ipairs(sequence) do
|
|
new[key] = fun(value)
|
|
end
|
|
return new
|
|
end
|
|
|
|
return function(posts)
|
|
return tostring(xml.rss{
|
|
version="2.0";
|
|
xml.channel {
|
|
xml.title(config.title);
|
|
xml.link "https://blog.but.gay/";
|
|
xml.description(config.description);
|
|
xml.language "en-uk";
|
|
xml.lastBuildDate(os.date());
|
|
map(posts, function(post)
|
|
local link = "https://blog.but.gay"..post.head.uri
|
|
return xml.item {
|
|
xml.title(post.head.title);
|
|
xml.description(post.head.description);
|
|
xml.link(link);
|
|
xml.guid(link);
|
|
xml.pubDate(os.date("%d %b %Y", post.head.timestamp));
|
|
}
|
|
end)
|
|
}
|
|
})
|
|
end
|