Module: Ref/ssm: Difference between revisions

From A Wiki of Ice and Fire
Jump to: navigation, search
Abjiklam (talk | contribs)
No edit summary
Abjiklam (talk | contribs)
add tracking category
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
local data = require('Module:Ref/ssm/data')
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs
local lang = mw.language.getContentLanguage()
local data = mw.loadData('Module:Ref/ssm/data')


local p = {}
local p = {}
Line 6: Line 7:
function p.main(frame)
function p.main(frame)
     local args = getArgs(frame)
     local args = getArgs(frame)
     return p._main(args)
     return p._main(tonumber(args[1]))
end
end


function p._main(args)
function p._main(number)
    local number = tonumber(args[1])
     local article = data[number] or error(mw.ustring.format("SSM #%d cannot be found, please add it to [[Module:Ref/ssm/data]]", number))
     local article = data[number]
     return mw.ustring.format(
    local title = article.title
        "[[So Spake Martin]]: ''[https://www.westeros.org/Citadel/SSM/Entry/%d %s]'' (%s)[[Category:Pages referencing So Spake Martin]]",
    local date = article.date
        number,
    local lang = mw.language.getContentLanguage()
        article.title,
    local date_text = lang:formatDate("F j, Y", date)
        lang:formatDate("F j, Y", article.date)
     return "[[So Spake Martin]]: [https://www.westeros.org/Citadel/SSM/Entry/" .. tostring(number) .. " \"" .. title .. "\"] (" .. date_text .. ")"
    )
end
end


return p
return p

Latest revision as of 14:41, 24 August 2026

Documentation for this module may be created at Module:Ref/ssm/doc

local getArgs = require('Module:Arguments').getArgs
local lang = mw.language.getContentLanguage()
local data = mw.loadData('Module:Ref/ssm/data')

local p = {}

function p.main(frame)
    local args = getArgs(frame)
    return p._main(tonumber(args[1]))
end

function p._main(number)
    local article = data[number] or error(mw.ustring.format("SSM #%d cannot be found, please add it to [[Module:Ref/ssm/data]]", number))
    return mw.ustring.format(
        "[[So Spake Martin]]: ''[https://www.westeros.org/Citadel/SSM/Entry/%d %s]'' (%s)[[Category:Pages referencing So Spake Martin]]",
        number,
        article.title,
        lang:formatDate("F j, Y", article.date)
    )
end

return p