Modul:Era
Dokumentasi untuk modul ini dapat dibuat di Modul:Era/doc
--[[
Get the name of an era, based on Wikisource's definition.
This implements the logic of Template:What era is
--]]
local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.main(frame)
local args = getArgs(frame, {
wrappers = {
'Templat:Apa itu era',
}
})
return p.era(args[1])
end
function p.era(year)
-- Nil years need to trigger bailout before we do anything else.
if year == nil then
return 'Era tidak diketahui'
end
--[[
The template (What era is) treated every year that failed to parse as
"Ancient", and years given as "BCE" fell into this category. With the
module logic this no loonger works, so we need to treat BCE years as
negative instead, so the numeric logic can deal wiith them.
--]]
if mw.ustring.match(year, ' BCE$') ~= nil then
year = mw.ustring.gsub(year, ' BCE$', '') -- Strip the "BCE"
year = '-' .. year -- And prepend a minus (we tonumber() it later)
end
-- Unknown value.
if tonumber(year) == nil or mw.ustring.lower(year) == 'unknown' or year == '?' then
return 'Era tidak diketahui'
end
-- Handle numeric years.
year = tonumber(year)
if year < 601 then
return 'Kuno'
elseif year < 1421 then
return 'Pertengahan'
elseif year < 1631 then
return 'Kebangkitan'
elseif year < 1900 then
return 'Modern awal'
elseif year <= tonumber(os.date('%Y')) then
return 'Modern'
else
return 'Masa depan'
end
end
return p