Documentation for this module may be created at Module:Sandbox/Clockery/reign/doc
p = {}
local nowrap = function(wtext)
local span2 = mw.html.create('span')
span2
:attr('id', 'nowrap-span')
:css('white-space', 'nowrap')
:wikitext(wtext)
return span2
end
local sortable = function(var)
local span1 = mw.html.create('span')
local text = frame.args.text
span1
:attr( 'id', 'sortable-span')
:css( 'display', 'none')
:css('speak', 'none')
:wikitext(var)
return span1
end
p.reign = function(frame)
returntext = ""
sort = frame.args.sortable
era = frame.args.era
wp = frame.args.wrap
nolabel = frame.args.label
lk = frame.args.show
cap = frame.args.cap
pred = frame.args.predate
date1 = frame.args[1]
date2 = frame.args[2]
date3 = frame.args[3]
date4 = frame.args[4]
mid = frame.args.middate
postd = frame.args.postdate
temp = mw.text.trim( frame.args[1] or "" ) .. mw.text.trim( frame.args[2] or "" )
temp2 = mw.text.trim( frame.args[3] or "" ) .. mw.text.trim( frame.args[4] or "" )
if nolabel ~= nil then
returntext = returntext .. nolabel
if wp ~= nil then
returntext = returntext ..frame:expandTemplate{ title = 'wbr' }
end
else
if lk == 'no' or lk == 'off' or lk == 'n' or lk == 'false' or lk == '0' or lk == 'none' then
if cap ~= nil then
returntext = returntext .. 'R.'
else
returntext = returntext .. 'r.'
end
elseif lk == 'link' or lk == 'yes' or lk == 'on' or lk == 'y' or lk == 'true' or lk == '1' then
if cap ~= nil then
returntext = returntext .. '[[Reign|R]]'
else
returntext = returntext .. '[[Reign|r]]'
end
elseif lk == 'word' then
if cap ~= nil then
returntext = returntext .. 'Reigned'
else
returntext = returntext .. 'reigned'
end
elseif lk == 'colon' then
if cap ~= nil then
returntext = returntext .. 'Reign:'
else
returntext = returntext .. 'reign:'
end
elseif lk == 'lword' then
if cap ~= nil then
returntext = returntext .. '[[Reign|Reigned]]'
else
returntext = returntext .. '[[Reign|reigned]]'
end
elseif lk == 'lcolon' then
if cap ~= nil then
returntext = returntext .. '[[Reign]]:'
else
returntext = returntext .. '[[reign]]:'
end
elseif lk == 'blank' then
returntext = returntext .. ""
elseif lk == 'abbr' or lk == nil then
if cap ~= nil then
returntext = returntext .. frame:expandTemplate{ title = 'abbr', args = { 'R', 'reign' } } .. '.'
else
returntext = returntext .. frame:expandTemplate{ title = 'abbr', args = { 'r', 'reign' } } .. '.'
end
end
end
if pred ~= nil or date1 ~= nil or date2 ~= nil then
returntext = returntext .. ' '
end
if pred ~= nil then
returntext = returntext .. pred .. ', '
if wp ~= nil then
returntext = returntext .. frame:expandTemplate{ title = 'wbr' }
end
end
if date1 ~= nil then
returntext = returntext .. mw.text.trim( frame.args[1] or "" )
end
if date2 ~= nil then
if date1 == "" then
returntext = returntext .. '?'
end
if mw.ustring.find(temp, '%s', 1, false) == nil then
returntext = returntext .. '–' .. mw.text.trim( frame.args[2] or "" )
else
returntext = returntext .. ' – ' .. mw.text.trim( frame.args[2] or "" )
end
if mid ~= nil then
returntext = returntext .. ', '
if wp ~= nil then
returntext = returntext .. frame:expandTemplate{ title = 'wbr' }
end
returntext = returntext .. mid
end
if date3 ~= nil or date4 ~= nil then
returntext = returntext .. ', '
if wp ~= nil then
returntext = returntext .. frame:expandTemplate{ title = 'wbr' }
end
if date3 ~= nil then
returntext = returntext .. mw.text.trim( frame.args[3] or "" )
end
if date4 ~= nil then
if date3 == "" then
returntext = returntext .. '?'
end
end
if mw.ustring.find(temp2, '%s', 1, false) == nil then
returntext = returntext .. '–' .. mw.text.trim( frame.args[4] or "" )
else
returntext = returntext .. ' – ' .. mw.text.trim( frame.args[4] or "" )
end
end
else
if date1 ~= nil then
returntext = returntext .. '– '
end
end
if postd ~= nil then
if date1 ~= nil or date2 ~= nil then
returntext = returntext .. ', '
end
if wp ~= nil then
returntext = returntext .. frame:expandTemplate{ title = 'wbr' }
end
returntext = returntext .. postd
end
if era ~= nil then
returntext = returntext .. ' ' .. era
end
if sort ~= nil then
returntext = sortable(returntext)
end
if wp == nil then
returntext = nowrap(returntext)
end
return returntext
end
return p