Module: Ref/ssm: Difference between revisions

From A Wiki of Ice and Fire
Jump to: navigation, search
Abjiklam (talk | contribs)
mNo edit summary
Abjiklam (talk | contribs)
No edit summary
Line 1: Line 1:
local data = require('Module:Ref/ssm/data')
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 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]
    local title = article.title
    local date = article.date
    local lang = mw.language.getContentLanguage()
    local date_text = lang:formatDate("F j, Y", date)
     return mw.ustring.format(
     return mw.ustring.format(
         "[[So Spake Martin]]: ''[https://www.westeros.org/Citadel/SSM/Entry/%d %s]'' (%s)",
         "[[So Spake Martin]]: ''[https://www.westeros.org/Citadel/SSM/Entry/%d %s]'' (%s)",
         number,
         number,
         title,
         article.title,
         date_text
         lang:formatDate("F j, Y", article.date)
     )
     )
end
end


return p
return p

Revision as of 16:17, 1 November 2023

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

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

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)",
        number,
        article.title,
        lang:formatDate("F j, Y", article.date)
    )
end

return p