Documentation for this module may be created at Module:Book appearances/doc
-- local string = require("Module:String")
local p = {}
local abbrs = {
["TDP"] = "The Dragonet Prophecy",
["TLH"] = "The Lost Heir",
["THK"] = "The Hidden Kingdom",
["TDS"] = "The Dark Secret",
["TBN"] = "The Brightest Night",
}
-- str: String to parse
-- delim: String to use to join the book names (default '\n')
function p._appearancesList(str, delim)
if not str then
return '{{error|Please specify the <code>str</code> or first unnamed param.}}'
end
delim = delim or '\n'
local res = '';
-- iterate over substrings
for abbr in mw.text.gsplit(str, ' ', true) do
local full = abbrs[abbr]
if full then
res = res .. full .. delim -- concat to result string
else
return '{{error|Unrecognized abbreviation <code>' .. abbr .. '</code>}}'
end
end
return res
end
-- wrapper for _appearancesList, untested
function p.appearancesList(frame)
local args = (frame:getParent() or frame).args
local str = args.str or args[1]
local delim = args.delim or args[2]
return p._appearancesList(str, delim)
end
return p