This module implements {{pagetype}}
.
-- Prevent substitution.
if mw.isSubsting() then
return require("Module:unsubst")
end
local export = {}
local en_utilities_module = "Module:en-utilities"
function export.pagetype_t(frame)
local args = require("Module:parameters").process(frame:getParent().args, {
= {type = "boolean"},
= {demo = true},
})
local pagename = args.pagename
local pagetype = require("Module:pages").get_pagetype(
pagename == nil and mw.title.getCurrentTitle() or
mw.title.new(pagename) or
error(("%s is not a valid page name"):format(mw.dumpObject(pagename)))
)
return args.article and (
pagetype:match("^user%f") and "a " .. pagetype or -- avoids "an user"
require(en_utilities_module).add_indefinite_article(pagetype)
) or pagetype
end
return export