Module:Episode nb: Difference between revisions
Appearance
Content deleted Content added
mNo edit summary |
No edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 41: | Line 41: | ||
-- Series and season part |
-- Series and season part |
||
local seriesAbv = frame:expandTemplate{ title = "Series abv", args = { series = args.series or " |
local seriesAbv = frame:expandTemplate{ title = "Series abv", args = { series = args.series or "h" } } |
||
local season = args[2] or "" |
local season = args[2] or "" |
||
local seriesLink = "''[[ |
local seriesLink = "''[[" .. seriesAbv .. "]]''" |
||
local seasonLink = "[[ |
local seasonLink = "[[" .. seriesAbv .. " Season " .. season .. "|Season " .. season .. "]]" |
||
-- Final assembly |
-- Final assembly |
||
Latest revision as of 19:47, 8 December 2025
local p = {}
local Ep = require("Module:Episode") -- Import the Episode module
-- Utility function for ordinal suffixes
local function ordinal(n)
local specials = {
[1] = "1st",
[2] = "2nd",
[3] = "3rd",
[21] = "21st",
[22] = "22nd",
[23] = "23rd"
}
if specials[n] then
return specials[n]
else
return tostring(n) .. "th"
end
end
function p.main(frame)
local args = frame:getParent().args
-- Episode part
local episode
if args.episode and args.episode ~= "" then
episode = "'''" .. args.episode .. "'''"
else
-- Direct call to Ep.getEpisode with the current page name
episode = Ep.getEpisode{ args = { mw.title.getCurrentTitle().text } }
end
-- Manual or automatic episode description
local manual
if args.manual and args.manual ~= "" then
manual = args.manual
else
local num = tonumber(args[1]) or args[1]
manual = "is the " .. ordinal(num) .. " episode"
end
-- Series and season part
local seriesAbv = frame:expandTemplate{ title = "Series abv", args = { series = args.series or "h" } }
local season = args[2] or ""
local seriesLink = "''[[" .. seriesAbv .. "]]''"
local seasonLink = "[[" .. seriesAbv .. " Season " .. season .. "|Season " .. season .. "]]"
-- Final assembly
return episode .. " " .. manual .. " of " .. seriesLink .. " " .. seasonLink .. "."
end
return p