مۆدیوول:data/magic words
"بەڵگەدارکردنی ئەم مۆدیوولە دەکرێ لە مۆدیوول:data/magic words/docدا دروست بکرێ"
local list_to_set = require("Module:table").listToSet
local data = {}
local aliases = {
["#DATEFORMAT"] = "#FORMATDATE",
["#SECTION"] = "#LST",
["#SECTION-H"] = "#LSTH",
["#SECTION-X"] = "#LSTX",
["ARTICLEPAGENAME"] = "SUBJECTPAGENAME",
["ARTICLEPAGENAMEE"] = "ARTICLEPAGENAMEE",
["ARTICLESPACE"] = "SUBJECTSPACE",
["ARTICLESPACEE"] = "SUBJECTSPACEE",
["CONTENTLANG"] = "CONTENTLANGUAGE",
["CURRENTMONTH2"] = "CURRENTMONTH",
["DEFAULTCATEGORYSORT"] = "DEFAULTSORT",
["DEFAULTSORTKEY"] = "DEFAULTSORT",
["DIRMARK"] = "DIRECTIONMARK",
["LOCALMONTH2"] = "LOCALMONTH",
["NUMINGROUP"] = "NUMBERINGROUP",
["pagename"] = "PAGENAME", -- anomalous lowercase case-sensitive parser variable
["PAGESINCAT"] = "PAGESINCATEGORY"
}
local function set_magic_word(pf)
return aliases[pf] or pf
end
-- Value is the canonical name.
data.parser_functions = {
-- Case-sensitive.
list_to_set(
{"ARTICLEPAGENAME", "ARTICLEPAGENAMEE", "ARTICLESPACE", "ARTICLESPACEE", "BASEPAGENAME", "BASEPAGENAMEE", "CASCADINGSOURCES", "DEFAULTCATEGORYSORT", "DEFAULTSORT", "DEFAULTSORTKEY", "DISPLAYTITLE", "FULLPAGENAME", "FULLPAGENAMEE", "NAMESPACE", "NAMESPACEE", "NAMESPACENUMBER", "NUMBERINGROUP", "NUMBEROFACTIVEUSERS", "NUMBEROFADMINS", "NUMBEROFARTICLES", "NUMBEROFEDITS", "NUMBEROFFILES", "NUMBEROFPAGES", "NUMBEROFUSERS", "NUMINGROUP", "PAGENAME", "PAGENAMEE", "PAGESINCAT", "PAGESINCATEGORY", "PAGESIZE", "PROTECTIONEXPIRY", "PROTECTIONLEVEL", "REVISIONDAY", "REVISIONDAY2", "REVISIONID", "REVISIONMONTH", "REVISIONMONTH1", "REVISIONTIMESTAMP", "REVISIONUSER", "REVISIONYEAR", "ROOTPAGENAME", "ROOTPAGENAMEE", "SUBJECTPAGENAME", "SUBJECTPAGENAMEE", "SUBJECTSPACE", "SUBJECTSPACEE", "SUBPAGENAME", "SUBPAGENAMEE", "TALKPAGENAME", "TALKPAGENAMEE", "TALKSPACE", "TALKSPACEE"},
set_magic_word
),
-- Case-insensitive.
list_to_set(
{"#BABEL", "#CATEGORYTREE", "#COMMASEPARATEDLIST", "#DATEFORMAT", "#EXPR", "#FORMATDATE", "#IF", "#IFEQ", "#IFERROR", "#IFEXIST", "#IFEXPR", "#INVOKE", "#LANGUAGE", "#LQTPAGELIMIT", "#LST", "#LSTH", "#LSTX", "#PROPERTY", "#REL2ABS", "#SECTION", "#SECTION-H", "#SECTION-X", "#SPECIAL", "#SPECIALE", "#STATEMENTS", "#SWITCH", "#TAG", "#TARGET", "#TIME", "#TIMEL", "#TITLEPARTS", "#USELIQUIDTHREADS", "ANCHORENCODE", "BIDI", "CANONICALURL", "CANONICALURLE", "FILEPATH", "FORMATNUM", "FULLURL", "FULLURLE", "GENDER", "GRAMMAR", "INT", "LC", "LCFIRST", "LOCALURL", "LOCALURLE", "NOEXTERNALLANGLINKS", "NS", "NSE", "PADLEFT", "PADRIGHT", "PAGEID", "PLURAL", "UC", "UCFIRST", "URLENCODE"},
set_magic_word
)
}
-- Value is the canonical name.
data.parser_variables = {
-- Case-sensitive.
list_to_set(
{"ARTICLEPAGENAME", "ARTICLEPAGENAMEE", "ARTICLESPACE", "ARTICLESPACEE", "BASEPAGENAME", "BASEPAGENAMEE", "CASCADINGSOURCES", "CONTENTLANG", "CONTENTLANGUAGE", "CURRENTDAY", "CURRENTDAY2", "CURRENTDAYNAME", "CURRENTDOW", "CURRENTHOUR", "CURRENTMONTH", "CURRENTMONTH1", "CURRENTMONTH2", "CURRENTMONTHABBREV", "CURRENTMONTHNAME", "CURRENTMONTHNAMEGEN", "CURRENTTIME", "CURRENTTIMESTAMP", "CURRENTVERSION", "CURRENTWEEK", "CURRENTYEAR", "DIRECTIONMARK", "DIRMARK", "FULLPAGENAME", "FULLPAGENAMEE", "LOCALDAY", "LOCALDAY2", "LOCALDAYNAME", "LOCALDOW", "LOCALHOUR", "LOCALMONTH", "LOCALMONTH1", "LOCALMONTH2", "LOCALMONTHABBREV", "LOCALMONTHNAME", "LOCALMONTHNAMEGEN", "LOCALTIME", "LOCALTIMESTAMP", "LOCALWEEK", "LOCALYEAR", "NAMESPACE", "NAMESPACEE", "NAMESPACENUMBER", "NUMBEROFACTIVEUSERS", "NUMBEROFADMINS", "NUMBEROFARTICLES", "NUMBEROFEDITS", "NUMBEROFFILES", "NUMBEROFPAGES", "NUMBEROFUSERS", "PAGELANGUAGE", "pagename", "PAGENAME", "PAGENAMEE", "REVISIONDAY", "REVISIONDAY2", "REVISIONID", "REVISIONMONTH", "REVISIONMONTH1", "REVISIONSIZE", "REVISIONTIMESTAMP", "REVISIONUSER", "REVISIONYEAR", "ROOTPAGENAME", "ROOTPAGENAMEE", "SITENAME", "SUBJECTPAGENAME", "SUBJECTPAGENAMEE", "SUBJECTSPACE", "SUBJECTSPACEE", "SUBPAGENAME", "SUBPAGENAMEE", "TALKPAGENAME", "TALKPAGENAMEE", "TALKSPACE", "TALKSPACEE"},
set_magic_word
),
-- Case-insensitive.
list_to_set(
{"!", "=", "ARTICLEPATH", "NOEXTERNALLANGLINKS", "PAGEID", "SCRIPTPATH", "SERVER", "SERVERNAME", "STYLEPATH"},
set_magic_word
)
}
-- Value is the relative order of priority (e.g. MSG can follow SUBST, but not RAW or MSGNW).
-- All are case-insensitive.
data.transclusion_modifiers = {
INT = 4,
MSG = 2,
MSGNW = 2,
RAW = 3,
SAFESUBST = 1,
SUBST = 1
}
return data