×
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

(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)
(streamlining the function)
Line 5: Line 5:


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




Line 16: Line 12:
   , format = 'xml'
   , format = 'xml'
}
}
for k, v in ipairs(rss) do
for k, v in ipairs(rss) do
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 = {}
posts[k] = frame:expandTemplate{title = 'Bluesky RSS Feed Row', args = {description = v["description"], pubDate = v["pubDate"], link=v["link"]}}
new_post["description"] = v["description"]
new_post["pubDate"] = v["pubDate"]
new_post["link"] = v["link"]
table.insert(posts,new_post)
end
end
end
end


for k, v in ipairs(posts) do
return table.concat(posts,"")
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,"")





Revision as of 13:16, 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 = {}


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
		posts[k] = frame:expandTemplate{title = 'Bluesky RSS Feed Row', args = {description = v["description"], pubDate = v["pubDate"], link=v["link"]}}
	end
end

return table.concat(posts,"")


end

return p