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 |