Module:Ref: Difference between revisions
Jump to navigation
Jump to search
Created page with "local p = {} local SOURCES = { loading_screens = 'Module:Ref/LoadingScreens', } function getSourceData(source) local sourcePath = SOURCES[source] assert(sourcePath, 'Unknown source type') return mw.loadData(sourcePath) end function p.findPage(frame) return p._findPage(frame.args.source or frame.args[1], frame.args.name or frame.args[2]) end function p._findPage(source, name) local sourceData = getSourceData(source) return sourceData[name:gsub('—', '—')..." |
mNo edit summary |
||
| Line 60: | Line 60: | ||
return out | return out | ||
end | end | ||
return p | return p | ||
Latest revision as of 15:24, 20 September 2025
This module implements {{Ref/Loading Screen}}
local p = {}
local SOURCES = {
loading_screens = 'Module:Ref/LoadingScreens',
}
function getSourceData(source)
local sourcePath = SOURCES[source]
assert(sourcePath, 'Unknown source type')
return mw.loadData(sourcePath)
end
function p.findPage(frame)
return p._findPage(frame.args.source or frame.args[1], frame.args.name or frame.args[2])
end
function p._findPage(source, name)
local sourceData = getSourceData(source)
return sourceData[name:gsub('—', '—')]
end
local NUMERALS = {'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X'}
function secretKey(name, part)
return name .. (part and ('/' .. part) or '')
end
function p.applyCommonArgs(out, args)
if (args.note ~= nil) then
out:wikitext(' (', args.note, ')')
end
if (args.quote ~= nil or args.q ~= nil) then
out:wikitext("<br />''", args.quote or args.q, "''")
end
end
function p.loadingScreen(frame)
local args = require('Module:Arguments').getArgs(frame, {
parentFirst = true,
wrappers = {'Template:Ref/Loading Screen'}
})
return p._loadingScreen(args)
end
function p._loadingScreen(args)
local data = getSourceData('loading_screens')
local name = args.name or args[1]
local page = tostring(data[name])
local out = mw.html.create()
if (page ~= nil) then
out:wikitext('Loading Screen: [[', page, '#', name, '|', name, ']]')
else
return out:tag('span'):addClass('text-error'):wikitext('Unknown Loading Screen. Make sure [[Module:Ref/LoadingScreens]] is up to date. [[Category:Pages with Reference Errors]]')
end
p.applyCommonArgs(out, args)
return out
end
return p