From Wikipedia, the free encyclopedia
This is a list of Lua functions and the wikitext parser functions and magic words that they are comparable to.
It is slightly out of date for what wikitext parser functions can do.
Parser functions
Wikitext |
Lua
|
{{#if:x |not empty |empty}}
|
if x then
'not empty'
else
'empty'
end
|
{{#ifeq:x |y |identical |different}}
|
if x == y then
'identical'
else
'different'
end
|
{{#iferror:function |bad |good}}
|
if tostring(mw.getCurrentFrame():preprocess('function')):find('<strong class="error"') then
'bad'
else
'good'
end
|
{{#ifexpr:1+2=3 |true|false}}
|
if 1 + 2 == 3 then
'true'
else
'false'
end
|
[Expensive]{{#ifexist:namespace:title |exists |doesn't exist}}
|
[Expensive]
if mw.title.new('title', 'namespace').exists == true then
"exists"
else
"doesn't exist"
end
|
{{#rel2abs:path |basepath}}
|
|
{{#switch:{{{1}}} |foo=Foo |Bar}}
|
local cases = {
default = "Bar",
foo = "Foo",
}
local pframe = mw.getCurrentFrame():getParent()
local arg = pframe.args[1]
cases[arg] or cases["default"]
|
{{#time:format |timestamp}}
|
mw.getContentLanguage():formatDate('format', 'timestamp')
|
{{#timel:format |timestamp}}
|
mw.getContentLanguage():formatDate('format', 'timestamp', 1)
|
{{#titleparts:pagename |number of segments to return |first segment to return}}
|
|
MONTASAR
Magic words
MONTASAR
Wikicode |
Lua
|
|
|
|
|
|
|
|
mw.language.getContentLanguage():getDirMark()
|
|
|
|
|
|
|
|
mw.getContentLanguage():getCode()
|
|
mw.title.getCurrentTitle().id
|
|
mw.getContentLanguage():formatNum(mw.title.new(pagename):getContent():len())
mw.title.new(pagename):getContent():len()
|
[Expensive]{{PROTECTIONLEVEL:action|pagename}}
|
table.concat(mw.title.getCurrentTitle().protectionLevels["edit"])
[Expensive]table.concat(mw.title.new(pagename).protectionLevels[action])
|
[Expensive]{{CASCADINGSOURCES:pagename}}
|
[Expensive]table.concat(mw.title.getCurrentTitle().cascadingProtection.sources, "|")
table.concat(mw.title.new(pagename).cascadingProtection.sources, "|")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Statistics
Wikicode |
Lua
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mw.site.stats.activeUsers
|
[Expensive]{{PAGESINCATEGORY:categoryname}}
|
[Expensive]mw.site.stats.pagesInCategory('categoryname')
|
{{NUMBERINGROUP:groupname}}
|
mw.site.stats.usersInGroup('groupname')
|
Page names
Wikicode |
Lua
|
|
mw.title.getCurrentTitle().prefixedText
mw.uri.encode(mw.title.getCurrentTitle().prefixedText, "WIKI")
|
|
mw.title.getCurrentTitle().text
mw.uri.encode(mw.title.getCurrentTitle().text, "WIKI")
|
|
mw.title.getCurrentTitle().baseText
mw.uri.encode(mw.title.getCurrentTitle().baseText, "WIKI")
|
|
mw.title.getCurrentTitle().rootText
mw.uri.encode(mw.title.getCurrentTitle().rootText, "WIKI")
|
|
mw.title.getCurrentTitle().subpageText
mw.uri.encode(mw.title.getCurrentTitle().subpageText, "WIKI")
|
|
[Expensive]mw.title.getCurrentTitle().subjectPageTitle
or a non-expensive alternative:
mw.title.getCurrentTitle().subjectNsText .. ':' .. mw.title.getCurrentTitle().text
[Expensive]mw.uri.encode(mw.title.getCurrentTitle().subjectPageTitle, "WIKI")
or a non-expensive alternative:
mw.uri.encode(mw.title.getCurrentTitle().subjectNsText .. ':' .. mw.title.getCurrentTitle().text, "WIKI")
|
|
[Expensive]mw.title.getCurrentTitle().talkPageTitle
mw.uri.encode(mw.title.getCurrentTitle().talkPageTitle, "WIKI")
|
Namespaces
Wikicode |
Lua
|
|
mw.title.getCurrentTitle().nsText
mw.uri.encode(mw.title.getCurrentTitle().nsText, "WIKI")
|
|
mw.title.getCurrentTitle().namespace
|
|
mw.title.getCurrentTitle().subjectNsText
mw.uri.encode(mw.title.getCurrentTitle().subjectNsText, "WIKI")
|
|
mw.site.namespaces[title.namespace].talk.canonicalName
mw.uri.encode(mw.site.namespaces[title.namespace].talk.canonicalName, "WIKI")
|
URL data
Wikicode |
Lua
|
|
mw.uri.localUrl('page', 'query')
|
|
mw.uri.fullUrl('page', 'query')
|
{{canonicalurl:page|query}}
|
mw.uri.canonicalUrl('page', 'query')
|
|
|
{{urlencode:string|QUERY}}
|
mw.uri.encode('string', QUERY)
|
|
mw.uri.anchorEncode('string')
|
Namespaces
Wikicode |
Lua
|
|
mw.site.namespaces[0].name
|
|
mw.site.namespaces.Project.name
|
Wikicode |
Lua
|
|
mw.getContentLanguage():formatNum(number)
|
{{#dateformat:date|format}}
|
|
|
mw.ustring.lower('string')
|
|
mw.getContentLanguage():lcfirst('string')
|
|
mw.ustring.upper('string')
|
|
mw.getContentLanguage():ucfirst('string')
|
{{padleft:xyz|stringlength}}
|
|
{{padright:xyz|stringlength}}
|
|
Localisation
Wikicode |
Lua
|
|
mw.getContentLanguage():plural(2, 'is', 'are')
|
|
mw.getContentLanguage():grammar('N', 'noun')
|
{{gender:username|male|female|neutral}}
|
mw.getContentLanguage():gender('username', { 'male', 'female', 'neutral' })
|
{{int:editsectionhint|MediaWiki}}
|
mw.message.new('message'):plain()
mw.message.new('editsectionhint', 'MediaWiki'):plain()
|
Miscellaneous
Wikicode |
Lua
|
{{#language:code|inlanguage}}
|
mw.language.fetchLanguageName('code', 'inLanguage')
|
{{#special:special page name}}
|
|
{{#speciale:special page name}}
|
|
{{#tag:tagname |some text |attribute1=value1 |attribute2=value2}}
|
mw.getCurrentFrame():callParserFunction('#tag', { 'tagname', 'some text', attribute1 = 'value1', attribute2 = 'value2' })
mw.getCurrentFrame():extensionTag('tagname', 'some text', { attribute1 = 'value1', attribute2 = 'value2' })
|