Module:Sandbox/isaacl/ExpandPageAbbreviation
Appearance
-- For unit tests, see [[Module:Sandbox/isaacl/ExpandPageAbbreviation/tests]]
local moduleSelf = {
-- mw.loadData() not supported, so do not need to access this module for now
-- mw = require("Module:Mw")
outputForAbbr = { }
}
-- mw.loadData() not supported, so use require() in the meantime
-- moduleSelf.phraseForAbbr = moduleSelf.mw.loadData('Module:Sandbox/isaacl/ExpandPageAbbreviation/data')
moduleSelf.phraseForAbbr =require('Module:Sandbox/isaacl/ExpandPageAbbreviation/data')
function moduleSelf._expand(abbr)
if moduleSelf.outputForAbbr[abbr] ~= nil then
return moduleSelf.outputForAbbr[abbr]
else
if moduleSelf.phraseForAbbr[abbr] == nil then
moduleSelf.outputForAbbr[abbr] = string.format("[[%s]]", abbr)
else
moduleSelf.outputForAbbr[abbr] = string.format("[[%s|%s]] (%s)",
abbr, moduleSelf.phraseForAbbr[abbr], abbr)
end
return moduleSelf.outputForAbbr[abbr]
end
end -- function _expand()
function moduleSelf.expand(frame)
local abbr = frame.args[1]
return moduleSelf._expand(abbr)
end
return moduleSelf