Aiuto:Lua/Wiki
This is a list over comparible lua functions to wikitext parser functions and magic words.
Parser functions
| Wikitext | Lua |
|---|---|
| {{#if: x | not empty | empty}} |
if x then
else
end |
| {{#ifeq: x | y | identical | different}} |
if 1 == 3 then
else
end |
| {{#iferror: function | bad | good }} |
if tostring(mw.getCurrentFrame():preprocess('function')):find(T) then
else
end |
| {{#ifexpr: 1+2=3 |true|false}} |
if 1 + 2 == 3 then
else
end |
| [Expensive] {{#ifexist: namespace:title | exists | doesn't exist }} |
[Expensive]
else
end |
| rel2abs | |
| {{#switch: {{{1}}} | foo = Foo | Bar }} |
local T
} local pframe = frame:getParent() |
| {{#time: format | timestamp }} | mw.getContentLanguage():formatDate( 'format', 'timestamp' ) |
| {{#timel: format | timestamp }} | mw.getContentLanguage():formatDate( 'format', 'timestamp', 1 ) |
| titleparts |
Math
Unlike in wikicode, lua does not use functions like ifexpr and expr. Add the lua operators and functions straight into your module.
Grouping
| Wikicode | Lua |
|---|---|
| () | () |
Numbers
| Wikicode | Lua |
|---|---|
| 1234.5 | 1234.5 |
| 2e3 | 2e3 |
| pi | math.pi |
| e | |
| 2+2 | 2+2 |
| 2-1 | 2-1 |
Unary
| Wikicode | Lua |
|---|---|
| not | not |
| ceil1.2 | math.ceil(1.2) |
| trunc | |
| floor1.2 | math.floor(1.2) |
| abs-2 | math.abs(-2) |
| exp43 | math.exp(43) |
| ln2 | math.log(2) |
| cos0.1 | math.cos(0.1) |
| tan0.1 | math.tan(0.1) |
| acos0.1 | math.acos(0.1) |
| asin0.1 | math.asin(0.1) |
| atan0.1 | math.atan(0.1) |
Binary
| Wikicode | Lua |
|---|---|
| 2^3 | 2^3 |
| 2*3 | 2*3 |
| 2/3 2div3 |
2/3 |
| 30mod7 | 30%7 |
| +2 | 2 |
| -2 | -2 |
Logic
| Wikicode | Data type | Lua | Data type |
|---|---|---|---|
| 3.0=3 | Integer (0 or 1) | 3.0==3 | Boolean (true or false) |
| 3!=4 3<>4 |
Integer | 3~=4 | Boolean |
| 4>3 | Integer | 4>3 | Boolean |
| 4>=3 | Integer | 4>=3 | Boolean |
| 3<=4 | Integer | 3<=4 | Boolean |
| 3<=4 | Integer | 3<=4 | Boolean |
| and | Integer | and | Boolean |
| or | Integer | or | Boolean |
Magic words
Date and time
| Wikicode | Lua |
|---|---|
| {{CURRENTYEAR}} | os.date( "%Y" ) |
| {{CURRENTMONTH}} | os.date( "%m" ) |
| {{CURRENTMONTHNAME}} | mw.getContentLanguage():formatDate( 'F' ) |
| {{CURRENTMONTHNAMEGEN}} |
mw.getContentLanguage():formatDate( 'xg' ) |
| {{CURRENTMONTHABBREV}} |
mw.getContentLanguage():formatDate( 'M' ) |
| {{CURRENTDAY}} | os.date( "%e" ) |
| {{CURRENTDAY2}} | os.date( "%d" ) |
| {{CURRENTDOW}} | os.date( "%w" ) |
| {{CURRENTDAYNAME}} | mw.getContentLanguage():formatDate( 'l' ) |
| {{CURRENTTIME}} | os.date( "%R" ) |
| {{CURRENTHOUR}} | os.date( "%H" ) |
| {{CURRENTWEEK}} | mw.getContentLanguage():formatDate( 'W' ) |
| {{CURRENTTIMESTAMP}} |
Technical metadata
| Wikicode | Lua |
|---|---|
| {{SITENAME}} | mw.site.siteName |
| {{SERVER}} | mw.site.server |
| {{SERVERNAME}} | |
| {{DIRMARK}} | mw.language.getContentLanguage():getDirMark() |
| {{SCRIPTPATH}} | mw.site.scriptPath |
| {{STYLEPATH}} | mw.site.stylePath |
| {{CURRENTVERSION}} | mw.site.currentVersion |
| {{CONTENTLANGUAGE}} | mw.getContentLanguage():getCode() |
| {{PAGEID}} | mw.title.getCurrentTitle().id |
| {{PAGESIZE:page name}} | |
| {{PROTECTIONLEVEL:edit}} | [Expensive]
local protection = mw.title.getCurrentTitle().protectionLevels["edit"] table.concat(protection) |
| {{REVISIONID}} | |
| {{REVISIONDAY}} | |
| {{REVISIONDAY}} | |
| {{REVISIONMONTH}} | |
| {{REVISIONMONTH1}} | |
| {{REVISIONYEAR}} | |
| {{REVISIONTIMESTAMP}} | |
| {{REVISIONUSER}} | |
| {{DISPLAYTITLE:title}} | |
| {{DEFAULTSORT:sortkey}} |
Statistics
| Wikicode | Lua |
|---|---|
| {{NUMBEROFPAGES}} | mw.site.stats.pages |
| {{NUMBEROFARTICLES}} | mw.site.stats.articles |
| {{NUMBEROFFILES}} | mw.site.stats.files |
| {{NUMBEROFEDITS}} | mw.site.stats.edits |
| {{NUMBEROFVIEWS}} | mw.site.stats.views |
| {{NUMBEROFUSERS}} | mw.site.stats.users |
| {{NUMBEROFADMINS}} | mw.site.stats.admins |
| {{NUMBEROFACTIVEUSERS}} | mw.site.stats.activeUsers |
| [Expensive] {{PAGESINCATEGORY:categoryname}} |
[Expensive]
mw.site.stats.pagesInCategory( 'categoryname' ) |
| {{NUMBERINGROUP:groupname}} | mw.site.stats.usersInGroup( 'groupname' ) |
Page names
| Wikicode | Lua |
|---|---|
| {{FULLPAGENAME}} | mw.title.getCurrentTitle().prefixedText |
| {{PAGENAME}} | mw.title.getCurrentTitle().text |
| {{BASEPAGENAME}} | mw.title.getCurrentTitle().baseText |
| {{SUBPAGENAME}} | mw.title.getCurrentTitle().subpageText |
| {{SUBJECTPAGENAME}} | [Expensive]mw.title.getCurrentTitle().subjectPageTitle
or an non expensive alternative: mw.title.getCurrentTitle().subjectNsText .. ":" .. mw.title.getCurrentTitle().text |
| {{TALKPAGENAME}} | [Expensive]mw.title.getCurrentTitle().talkPageTitle |
Namespaces
| Wikicode | Lua |
|---|---|
| {{NAMESPACE}} | mw.title.getCurrentTitle().nsText |
| {{NAMESPACENUMBER}} | mw.title.getCurrentTitle().namespace |
| {{SUBJECTSPACE}} | mw.title.getCurrentTitle().subjectNsText |
| {{TALKSPACE}} |
URL data
| Wikicode | Lua |
|---|---|
| {{localurl:page|query}} | mw.uri.localUrl( 'page', 'query' ) |
| {{fullurl:page|query}} | mw.uri.fullUrl( 'page', 'query' ) |
| {{canonicalurl:page|query}} | mw.uri.canonicalUrl( 'page', 'query' ) |
| {{filepath:file name}} | |
| {{urlencode:string|QUERY}} | mw.uri.encode( 'string', QUERY ) |
| {{anchorencode:string}} | mw.uri.anchorEncode( 'string' ) |
Namespaces
| Wikicode | Lua |
|---|---|
| {{ns:0}} | mw.site.namespaces[0].name |
| {{ns:Project}} | mw.site.namespaces.Project.name |
Formatting
| Wikicode | Lua |
|---|---|
| {{formatnum:number}} | mw.getContentLanguage():formatNum( number ) |
| #dateformat | |
| {{lc:string}} | mw.ustring.lower( 'string' ) |
| {{lcfirst:string}} | mw.getContentLanguage():lcfirst( 'string' ) |
| {{uc:string}} | mw.ustring.upper( 'string' ) |
| {{ucfirst:string}} | mw.getContentLanguage():ucfirst( 'string' ) |
| {{padleft:xyz|stringlength}} | |
| {{padright:xyz|stringlength}} |
Localisation
| Wikicode | Lua |
|---|---|
| {{plural:2|is|are}} | mw.getContentLanguage():plural( 2, 'is', 'are' ) |
| {{grammar:N|noun}} | mw.getContentLanguage():grammar( 'N', 'noun' ) |
| {{gender:username|male|female|neutral }} | mw.getContentLanguage():gender( 'username', { 'male', 'female', 'neutral' } ) |
| {{int:message}} | mw.message.new( 'message' ):text() |
| {{int:editsectionhint|MediaWiki}} | mw.message.new( 'editsectionhint', 'MediaWiki' ):text() |
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 }} | frame:extensionTag{ 'tagname', 'some text', { attribute1 = 'value1', attribute2 = 'value2' } } |
| Pagine correlate | |
| Collegamenti esterni | |
|
Aiuto Wikipedia:Comparable Lua functions to wikitext di en.wiki: il materiale ivi presente è stato rielaborato per Chatopedia e integrato | |