Module:Bluesky RSS Feed: Difference between revisions
RiceEmpress (talk | contribs) No edit summary Tag: Manual revert |
RiceEmpress (talk | contribs) (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 = {} | ||
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,"") | |||
end | end | ||
return p | return p | ||
Revision as of 13:12, 6 June 2025
This module is a custom-designed RSS feed, designed to process a Bluesky RSS feed and output it as a template. Up to three search keywords can be input - OR rather than AND - to find posts that mention any of the keywords. A Bluesky RSS feed can be found by going to any user's page, and typing /rss at the end of the URL before hitting enter.
Usage
{{Template:Bluesky RSS Feed
|url= Bluesky RSS feed URL
|term1= Optional search term
|term2= Optional search term
|term3= Optional search term
}}
Example
{{Template:Bluesky RSS Feed
|url=https://bsky.app/profile/did:plc:ve2p3lz33ivtyikqztvsgtx3/rss
|term1=#NOISZ
}}
Will yield:
24 Aug 2026 17:28 +0000
8 years... Time flies, doesn't it? Even if the world enters a new age, these memories will always remain.
Once again, experience NOISZ at its lowest-ever price on Steam. #NOISZ https://store.steampowered.com/app/681530/NOISZ/
11 Aug 2026 18:47 +0000
Anarch Entertainment is tabling at Anime NYC again this year! We'll be showing special preview content in Chronal Chain, PROJEKT GODHAND, and NOISZ STΔRLIVHT (yes, all three games)!
22 Jul 2026 17:08 +0000
☀️ Happy birthday to SUNRaiSE's Asuka! Let the golden sun shine on a bright new future! ☀️
🎨 @/beffkawa
- NOISZ_SL
11 Jul 2026 00:27 +0000
whenever i feel like i'm not getting enough done lately i get flavor blasted by the realization that NOISZ finale and godhand 1.0 BOTH happened in feb and not like. at least a year ago
[contains quote post or other embedded content]
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