Module:Episode nb: Difference between revisions
Appearance
Content deleted Content added
Created page with "local p = {} -- Utility function to add ordinal suffixes (1st, 2nd, 3rd, etc.) local function ordinal(n) local specials = { [1] = "1st", [2] = "2nd", [3] = "3rd", [21] = "21st", [22] = "22nd" } 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 an..." |
No edit summary |
||
| Line 1: | Line 1: | ||
local p = {} |
local p = {} |
||
local Ep = require("Module:Ep") -- Import the Ep module |
|||
-- Utility function |
-- Utility function for ordinal suffixes |
||
local function ordinal(n) |
local function ordinal(n) |
||
local specials = { |
local specials = { |
||
| Line 25: | Line 26: | ||
episode = "'''" .. args.episode .. "'''" |
episode = "'''" .. args.episode .. "'''" |
||
else |
else |
||
-- |
-- Direct call to Ep.getEpisode with the current page name |
||
episode = |
episode = Ep.getEpisode{ args = { mw.title.getCurrentTitle().text } } |
||
end |
end |
||
Revision as of 21:47, 18 November 2025
| You might want to create a documentation page for this Scribunto module. Editors can experiment in this module's sandbox (create | mirror) and testcases (create) pages. Please add categories to the /doc subpage. Subpages of this module. |
local p = {}
local Ep = require("Module:Ep") -- Import the Ep module
-- Utility function for ordinal suffixes
local function ordinal(n)
local specials = {
[1] = "1st",
[2] = "2nd",
[3] = "3rd",
[21] = "21st",
[22] = "22nd"
}
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 "1" } }
local season = args[2] or ""
local seriesLink = "''[[Stargate " .. seriesAbv .. "]]''"
local seasonLink = "[[Stargate " .. seriesAbv .. " Season " .. season .. "|Season " .. season .. "]]"
-- Final assembly
return episode .. " " .. manual .. " of " .. seriesLink .. " " .. seasonLink .. "."
end
return p