Capil ka isi

Modul:pages/templates

Matan Wiktionary

Dokumentasi untuk modul ini dapat dibuat di Modul:pages/templates/doc

-- Imported from enwiktionary
-- Source: https://en.wiktionary.org/wiki/Module:pages/templates
-- License: CC BY-SA

-- Prevent substitution.
if mw.isSubsting() then
	return require("Module:unsubst")
end

local export = {}

local en_utilities_module = "Module:en-utilities"

function export.pagename_t(frame)
	local args = require("Module:parameters").process(frame:getParent().args, {
		["title"] = true,
	})
	local title = args.title
	if not title then
		return mw.loadData("Module:headword/data").pagename
	end
	return require("Module:headword/page").process_page(title, "no_fetch_content").pagename
end
	
function export.pagetype_t(frame)
	local args = require("Module:parameters").process(frame:getParent().args, {
		["article"] = {type = "boolean"},
		["pagename"] = {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[%W]") and "a " .. pagetype or -- avoids "an user"
		require(en_utilities_module).add_indefinite_article(pagetype)
	) or pagetype
end

return export