×
Create a new article
Write your page title here:
We currently have 6 articles on NOISZ Wiki. Type your article name above or click on one of the titles below and start writing!



NOISZ Wiki
6Articles

Module:Bluesky RSS Feed: Difference between revisions

No edit summary
Tag: Manual revert
(constructed it in a way that didn't rely on awkward wikitext construction and brute force preprocessing. this way you can edit the bluesky rss feed row template to change how it appears too)
Line 1: Line 1:
local capiunto = require 'capiunto'
local capiunto = require 'capiunto'
local p = {}
local p = {}
Line 18: Line 19:
if string.find(v["description"],"NOISZ") and v["description"] and v["pubDate"] and v["link"] then
if string.find(v["description"],"NOISZ") and v["description"] and v["pubDate"] and v["link"] then
local new_post = {}
local new_post = {}
local new_post = "<br/><b>[" .. v["link"] .. " " .. v["pubDate"] .. "]</b> <br/>" .. v["description"] .. "<br/>"
new_post["description"] = v["description"]
new_post["pubDate"] = v["pubDate"]
new_post["link"] = v["link"]
table.insert(posts,new_post)
table.insert(posts,new_post)
end
end
end
end


for k, v in ipairs(posts) do
rss_table[k] = frame:expandTemplate{title = 'Bluesky RSS Feed Row', args = {description = v["description"], pubDate = v["pubDate"], link=v["link"]}}
end


return table.concat(rss_table,"")


return frame:preprocess(table.concat(posts,""))


end
end


return p
return p

Revision as of 13:12, 6 June 2025

Documentation for this module may be created at Module:Bluesky RSS Feed/doc


local capiunto = require 'capiunto'
local p = {}
function p.main(frame)

local posts = {}
posts["description"] = {}
posts["pubDate"] = {}
posts["link"] = {}
local rss_table = {}


local rss = mw.ext.externaldata.getWebData {
    url = 'https://bsky.app/profile/did:plc:ve2p3lz33ivtyikqztvsgtx3/rss'
  , data = {pubDate = 'pubDate', description = 'description', link= 'link'}
  , format = 'xml'
}
for k, v in ipairs(rss) do
	if string.find(v["description"],"NOISZ") and v["description"] and v["pubDate"] and v["link"] then
		local new_post = {}
		new_post["description"] = v["description"]
		new_post["pubDate"] = v["pubDate"]
		new_post["link"] = v["link"]
		table.insert(posts,new_post)
	end
end

for k, v in ipairs(posts) do
	rss_table[k] = frame:expandTemplate{title = 'Bluesky RSS Feed Row', args = {description = v["description"], pubDate = v["pubDate"], link=v["link"]}}
end

return table.concat(rss_table,"")


end

return p