Wikipedia suwiki https://su.wikipedia.org/wiki/Tepas MediaWiki 1.47.0-wmf.16 first-letter Média Husus Obrolan Pamaké Obrolan pamaké Wikipedia Obrolan Wikipedia Gambar Obrolan gambar MédiaWiki Obrolan MédiaWiki Citakan Obrolan citakan Pitulung Obrolan pitulung Kategori Obrolan kategori Portal Obrolan portal TimedText TimedText talk Modul Pembicaraan Modul Acara Pembicaraan Acara The Beatles 0 3939 712147 658336 2026-08-19T14:09:04Z ~2026-38892-59 37068 /* */ 712147 wikitext text/x-wiki {{Infobox musical artist |name = The Beatles |image = The Beatles members at New York City in 1964.jpg |caption = The Beatles dina taun 1964<br>Anggota:<br>tina kaatas: [[John Lennon|Lennon]], [[Paul McCartney|McCartney]]<br>tina kabawah: [[George Harrison|Harrison]], [[Ringo Starr|Starr]] |alt = Sebuah persegi dipotong menjadi empat tembakan kepala pemuda dengan potongan rambut Moptop. Keempat mengenakan kemeja putih dan jas gelap. |background = grup_atau_band |origin = [[Liverpool (kota)|Liverpool]], [[Inggris]] |genre = [[Musik rock|Rock]], [[Musik pop|Pop]]<!-- Konsensus saat ini adalah daftar HANYA Rock and Pop. Harap jangan menambah genre lain atau sub-genre tanpa terlebih dahulu mencapai konsensus dengan editor lain di halaman pembicaraan. Terima kasih. --> |years_active = 1960-1970<!--Silakan diskusikan pada halaman pembicaraan sebelum berubah.--> |label = Parlophone, Swan, Vee-Jay, [[Capitol Records]], United Artist, [[Apple Records|Apple]] |associated_acts = [[The Quarrymen]], [[Billy Preston]], [[Plastic Ono Band]], [[Wings]]<!-- please discuss on Talk page before adding other acts here --> |website = {{URL|thebeatles.com}} |past_members = * '''Anggota:''' ** [[John Lennon]] ** [[Paul McCartney]] ** [[George Harrison]] ** [[Ringo Starr]] * '''Mantan Anggota:''' ** [[Stuart Sutcliffe]] ** [[Pete Best]] }} '''The Béatles''' nyaéta hiji grup musik ti [[Inggris]]. Anggota-anggotana [[John Lennon]], [[Paul McCartney]], [[George Harrison]] jeung [[Ringo Starr]]. Dibentuk di Liverpool maret 1960. Grup musik ieu ka asup kana rupi musik rock {{Pondok}} {{stub}} [[Kategori:Grup musik]] afzbrkhe1wqjxkorcmddt6kxq9m9c94 Wikipedia:Lua 4 41001 712150 712140 2026-08-19T18:40:43Z Nimmzo 37272 /* Using arguments */ Kate → Mariam 712150 wikitext text/x-wiki {{tarjamahkeun|Inggris}} {{WikiProject Lua/header}} {{Information page|WP:Lua}} {{Namespaces}} [[Lua (programming language)|Lua]] is a programming language that is now available, via the [[mw:Extension:Scribunto|Scribunto]] MediaWiki extension, on the English Wikipedia. Lua code can now be embedded into wiki templates by employing the "<nowiki>{{#invoke:}}</nowiki>" functionality of the Scribunto MediaWiki extension. The Lua [[source code]] is stored in pages called modules (e.g., [[Module:Bananas]]). These individual modules are then invoked (by code <code><nowiki>{{#invoke:}}</nowiki></code>) on template pages (e.g., [[Module:Bananas/doc]] uses the code <code><nowiki>{{#invoke:Bananas|hello}}</nowiki></code> to print the text "Hello, world!"). == Running a module == Modules are run on normal wiki pages using the #invoke parser function. The syntax of #invoke is similar to template syntax, but with some differences. The most important difference is that you need to specify a ''function name''. A function is a set of instructions that takes input values, processes them, and returns an output value.<ref>You can also have multiple output values, but functions that do this are not normally meant to be accessed from wiki pages.</ref> This is much like what a template does: you give it arguments, it processes them, and you get a result. However, you can define many functions in one Lua module, whereas you can only define one template on one page. Furthermore, you can't just run a Lua module directly - you can only run one of the module's functions. The module is just a container for the functions, and doesn't do anything by itself. So there are two reasons that we need to input a function name: we can't run a module by itself, and without specifying a function name, Lua will not know which function it is we want to run. The simplest way to run a module from a wiki page is like this: &#123;{#invoke:''module name''|''function name''}} For example, we can run [[Module:Bananas]] in this way, which has one function named "hello". * <code><nowiki>{{#invoke:Bananas|hello}}</nowiki></code> &rarr; {{#invoke:Bananas|hello}} === Using arguments === Arguments are passed to modules in the same way that they are passed to templates. Note, however, that the text after the first pipe character is always the function name; the first positional argument is the text after the ''second'' pipe. &#123;{#invoke:''module name''|''function name''|''first positional argument''|''second positional argument''|''named argument'' = ''value''}} For example, in [[Module:BananasArgs]], the "hello" function greets different people depending on the first positional argument. It works like this: * <code><nowiki>{{#invoke:BananasArgs|hello|Mariam}}</nowiki></code> &rarr; {{#invoke:BananasArgs|hello|Mariam}} * <code><nowiki>{{#invoke:BananasArgs|hello|Fred}}</nowiki></code> &rarr; {{#invoke:BananasArgs|hello|Fred}} BananasArgs also has a function named "count_fruit" which uses the named arguments <code>bananas</code> and <code>apples</code> to count the number of bananas and apples we have. It can be run like this: * <code><nowiki>{{#invoke:BananasArgs|count_fruit|apples=3|bananas=4}}</nowiki></code> &rarr; {{#invoke:BananasArgs|count_fruit|apples=3|bananas=4}} * <code><nowiki>{{#invoke:BananasArgs|count_fruit|bananas=5|apples=2}}</nowiki></code> &rarr; {{#invoke:BananasArgs|count_fruit|bananas=5|apples=2}} Most modules will have a documentation page explaining what arguments can be used and what their effects will be. == Example modules == * [[Module:Bananas]]: The simplest possible script, providing a single function with no arguments. * [[Module:BananasArgs]]: Demonstrates how to access and use parameters. == Request a script == Visit '''[[Wikipedia:Lua requests]]''' to request help in writing a Lua script to perform a specific task on Wikipedia or another Wikimedia Foundation project. == History == [[mw:Manual:MediaWiki architecture#Magic words and templates|Sordid history]]. {{tl|qif}}, [[mw:Help:Extension:ParserFunctions|ParserFunctions]], [[mw:Extension:Lua|Lua extension]], wiki scripting language debated (JavaScript v. Lua), [[mw:Extension:WikiScripts]], Tim writes [[mw:Extension:Scribunto|Scribunto]] with initial support for Lua. Discussed for years, Lua was installed in 2012 for testing on [[test2wiki:|test2.wikipedia.org]], with open invitation to all editors to experiment with developing Lua modules. Lua was installed on the English Wikipedia in February 2013, after testing on mediawiki.org and Wikimedia test wikis. == About Lua == :''See also [[:File:WMF Tech Talk 2013-02-28 slides - Scribunto presentation.pdf|Brad Jorsch's short presentation for a basic example of how to convert a wikitext template into a Lua module.]]'' Lua is a [[scripting language]] which can be used to analyze data, calculate expressions, and format results using functions or [[object-oriented programming]]. Although some Lua scripts can be kept simple, for easy understanding, Lua allows complex structures including tables, dynamic functions, and [[associative array]]s where index [[subscript]]s can be words as well as index numbers. Lua also supports [[recursion]] of re-nested functions, so care should be taken to avoid excessive complexity where other users would not understand how to maintain a Lua module. The following is an example of Lua [[source code]] for a [[hello world]] function contained in [[Module:HelloWorld]]: <syntaxhighlight lang="lua"> -- All Lua modules on Wikipedia must begin by defining a variable that will hold their -- externally accessible functions. They can have any name and may also hold data. my_object = {} -- Add a function to the variable. These are callable in Wikipedia via the #invoke command. -- "frame" will contain the data that Wikipedia sends this function when it is called. my_object.hello = function( frame ) -- Declare a local variable and assign data to it. local str = "Hello World!" -- Quit this function and send the information in "str" back to Wikipedia. -- The "print" function is not allowed, so all output is accomplished via -- returning strings in this fashion. return str -- End the function. end -- All modules end by returning the variable containing its functions to Wikipedia. return my_object -- We can now use this module by calling {{#invoke: HelloWorld | hello }}. -- The #invoke command begins with the module's name, in this case "HelloWorld", -- then takes the name of one of its functions as an argument, in this case "hello". </syntaxhighlight> A sample of Lua is highlighted by tag "&lt;source lang="lua">...&lt;/source>" placed around the Lua source code. To view some more complex examples of Lua, see article: "[[Lua (programming language)]]". For instructions on how to use Lua within MediaWiki (and hence Wikipedia), see [[mw:Extension:Scribunto/Lua reference manual]]. == Unit testing == A unit testing framework for Lua scripts on Wikipedia is available at [[Module:UnitTests]]. It allows you to execute your script on a given set of inputs and verify that the expected outputs are produced. Unit tests are especially useful for rapidly detecting regressions, where modifications to a script introduce new problems. By convention, unit tests for a module like [[Module:Bananas]] are placed in [[Module:Bananas/testcases]], and are executed on [[Module talk:Bananas/testcases]] with e.g. <code><nowiki>{{#invoke: Bananas/testcases | run_tests}}</nowiki></code>. Test methods must begin with "test". A simple example from [[Module:Bananas/testcases]] is below. <syntaxhighlight lang="lua"> -- Unit tests for [[Module:Bananas]]. Click talk page to run tests. local p = require('Module:UnitTests') function p:test_hello() self:preprocess_equals('{{#invoke:Bananas | hello}}', 'Hello, world!') end return p </syntaxhighlight> For a list of all modules using unit tests, see [[Special:Whatlinkshere/Module:UnitTests]]. There's also an alternative unit testing framework [[Special:Whatlinkshere/Module:ScribuntoUnit|in use]] called [[Module:ScribuntoUnit]], that originates from Hungarian Wikipedia. Feature-wise it's very similar to [[Module:UnitTests]], but it has a different coding style, and throws real errors that are trapped using protected calls. It also has a method to compare floats within a given precision. == Wikipedia-specific features == Overall: Lua can only get input as text strings passed to the <code><nowiki>{{#invoke:}}</nowiki></code> and what can be fetched via mw.title.new(...):getContent() and frame:expandTemplate(). Lua output will not be preprocessed unless frame:preprocess() is explicitly called, meaning that template calls, parser functions, etc. in the output will not work correctly. Also, all Lua in the page is limited to 10 seconds CPU time (you can look in the source code of a rendered page to see how long a template or module took to parse). And relative to standard Lua, Scribunto's Lua lacks all sorts of functions (see [[mw:Extension:Scribunto/Lua reference manual#Differences from standard Lua]]). === Lua input limitations === Lua code in Scribunto is only run when the page is being parsed. Therefore, the only user input that Lua can receive is by ''page editing'' - it cannot create a box that calculates the square root of a number you type in, or recalculate a piece of the Mandelbrot set depending on which part of the parent set you click on. The input Lua can receive includes any transcludeable text page on Wikipedia. This does ''not'' include graphics files (not even [[Wikipedia:SVG help|.SVG]] files, although they are actually text, unless you cut and paste it onto a Wiki text page), the list of pages listed in a [[Help:Category|category]], nor the contents of [[Wikipedia:Transclusion#Special pages|non-transcludeable]] [[Help:Special|special pages]]. === Wikitext === Transcluded Wikipedia headers frequently contain a hidden code such as <syntaxhighlight lang="lua" inline>"UNIQ5ae8f2aa414ff233-h-3--QINU"</syntaxhighlight> which may need to be stripped out in order for them to be parsed effectively. Wikilinks of the type <code><nowiki>[[Wikipedia:Pitulung</nowiki></code>'''<code><nowiki>|</nowiki></code>'''<code><nowiki>]]</nowiki></code> won't work if returned as output - they need to be written explicitly as <syntaxhighlight lang="lua" inline>[[Wikipedia:Pitulung|</syntaxhighlight>'''<code><nowiki>Pitulung</nowiki></code>'''<syntaxhighlight lang="lua" inline>]]</syntaxhighlight>. Other pre-save transforms, such as replacing <code>~~<nowiki/>~~</code> with signatures, will also fail to be processed. Template transclusions, parser function calls, and variable substitutions (i.e. anything with a <code><nowiki>{{...}}</nowiki></code>) will not be processed, nor will tags such as {{tag|ref|o}} or {{tag|nowiki|o}}. == Labeling converted templates == {{lua|Module:Bananas}} Please place the {{tl|lua}} template on the documentation subpage of all templates that use Lua. It will help to better communicate Lua usage and template conversions. {{clear}} == See also == * [[Husus:IndeksAwalan/Modul:]] daptar modul Lua * [[:Kategori:Lua-based templates]] &ndash; l-groups ta templates based kan Lua ; English Wikipedia-specific resources * [[:mw:Manual:Coding conventions/Lua]] &ndash; standards to improve the readability of code through consistency * [[:en:Help:Lua debugging]] &ndash; a how-to guide about debugging Lua modules * [[:en:Module:Sandbox]] provides a pseudo-namespace for experimenting with Lua modules * [[:en:Wikipedia talk:Lua]] &ndash; requests for Lua-based templates or tasks == Notes == {{reflist}} {{WikiProject Lua/header}} [[Category:Wikipedia modules]] 5mab8p4y77rxszunwfg1i7n2goqtnw2 712151 712150 2026-08-19T20:50:45Z Nimmzo 37272 /* Wikitext */ The reverse order of the Lua string "UNIQ" is "QINU" 712151 wikitext text/x-wiki {{tarjamahkeun|Inggris}} {{WikiProject Lua/header}} {{Information page|WP:Lua}} {{Namespaces}} [[Lua (programming language)|Lua]] is a programming language that is now available, via the [[mw:Extension:Scribunto|Scribunto]] MediaWiki extension, on the English Wikipedia. Lua code can now be embedded into wiki templates by employing the "<nowiki>{{#invoke:}}</nowiki>" functionality of the Scribunto MediaWiki extension. The Lua [[source code]] is stored in pages called modules (e.g., [[Module:Bananas]]). These individual modules are then invoked (by code <code><nowiki>{{#invoke:}}</nowiki></code>) on template pages (e.g., [[Module:Bananas/doc]] uses the code <code><nowiki>{{#invoke:Bananas|hello}}</nowiki></code> to print the text "Hello, world!"). == Running a module == Modules are run on normal wiki pages using the #invoke parser function. The syntax of #invoke is similar to template syntax, but with some differences. The most important difference is that you need to specify a ''function name''. A function is a set of instructions that takes input values, processes them, and returns an output value.<ref>You can also have multiple output values, but functions that do this are not normally meant to be accessed from wiki pages.</ref> This is much like what a template does: you give it arguments, it processes them, and you get a result. However, you can define many functions in one Lua module, whereas you can only define one template on one page. Furthermore, you can't just run a Lua module directly - you can only run one of the module's functions. The module is just a container for the functions, and doesn't do anything by itself. So there are two reasons that we need to input a function name: we can't run a module by itself, and without specifying a function name, Lua will not know which function it is we want to run. The simplest way to run a module from a wiki page is like this: &#123;{#invoke:''module name''|''function name''}} For example, we can run [[Module:Bananas]] in this way, which has one function named "hello". * <code><nowiki>{{#invoke:Bananas|hello}}</nowiki></code> &rarr; {{#invoke:Bananas|hello}} === Using arguments === Arguments are passed to modules in the same way that they are passed to templates. Note, however, that the text after the first pipe character is always the function name; the first positional argument is the text after the ''second'' pipe. &#123;{#invoke:''module name''|''function name''|''first positional argument''|''second positional argument''|''named argument'' = ''value''}} For example, in [[Module:BananasArgs]], the "hello" function greets different people depending on the first positional argument. It works like this: * <code><nowiki>{{#invoke:BananasArgs|hello|Mariam}}</nowiki></code> &rarr; {{#invoke:BananasArgs|hello|Mariam}} * <code><nowiki>{{#invoke:BananasArgs|hello|Fred}}</nowiki></code> &rarr; {{#invoke:BananasArgs|hello|Fred}} BananasArgs also has a function named "count_fruit" which uses the named arguments <code>bananas</code> and <code>apples</code> to count the number of bananas and apples we have. It can be run like this: * <code><nowiki>{{#invoke:BananasArgs|count_fruit|apples=3|bananas=4}}</nowiki></code> &rarr; {{#invoke:BananasArgs|count_fruit|apples=3|bananas=4}} * <code><nowiki>{{#invoke:BananasArgs|count_fruit|bananas=5|apples=2}}</nowiki></code> &rarr; {{#invoke:BananasArgs|count_fruit|bananas=5|apples=2}} Most modules will have a documentation page explaining what arguments can be used and what their effects will be. == Example modules == * [[Module:Bananas]]: The simplest possible script, providing a single function with no arguments. * [[Module:BananasArgs]]: Demonstrates how to access and use parameters. == Request a script == Visit '''[[Wikipedia:Lua requests]]''' to request help in writing a Lua script to perform a specific task on Wikipedia or another Wikimedia Foundation project. == History == [[mw:Manual:MediaWiki architecture#Magic words and templates|Sordid history]]. {{tl|qif}}, [[mw:Help:Extension:ParserFunctions|ParserFunctions]], [[mw:Extension:Lua|Lua extension]], wiki scripting language debated (JavaScript v. Lua), [[mw:Extension:WikiScripts]], Tim writes [[mw:Extension:Scribunto|Scribunto]] with initial support for Lua. Discussed for years, Lua was installed in 2012 for testing on [[test2wiki:|test2.wikipedia.org]], with open invitation to all editors to experiment with developing Lua modules. Lua was installed on the English Wikipedia in February 2013, after testing on mediawiki.org and Wikimedia test wikis. == About Lua == :''See also [[:File:WMF Tech Talk 2013-02-28 slides - Scribunto presentation.pdf|Brad Jorsch's short presentation for a basic example of how to convert a wikitext template into a Lua module.]]'' Lua is a [[scripting language]] which can be used to analyze data, calculate expressions, and format results using functions or [[object-oriented programming]]. Although some Lua scripts can be kept simple, for easy understanding, Lua allows complex structures including tables, dynamic functions, and [[associative array]]s where index [[subscript]]s can be words as well as index numbers. Lua also supports [[recursion]] of re-nested functions, so care should be taken to avoid excessive complexity where other users would not understand how to maintain a Lua module. The following is an example of Lua [[source code]] for a [[hello world]] function contained in [[Module:HelloWorld]]: <syntaxhighlight lang="lua"> -- All Lua modules on Wikipedia must begin by defining a variable that will hold their -- externally accessible functions. They can have any name and may also hold data. my_object = {} -- Add a function to the variable. These are callable in Wikipedia via the #invoke command. -- "frame" will contain the data that Wikipedia sends this function when it is called. my_object.hello = function( frame ) -- Declare a local variable and assign data to it. local str = "Hello World!" -- Quit this function and send the information in "str" back to Wikipedia. -- The "print" function is not allowed, so all output is accomplished via -- returning strings in this fashion. return str -- End the function. end -- All modules end by returning the variable containing its functions to Wikipedia. return my_object -- We can now use this module by calling {{#invoke: HelloWorld | hello }}. -- The #invoke command begins with the module's name, in this case "HelloWorld", -- then takes the name of one of its functions as an argument, in this case "hello". </syntaxhighlight> A sample of Lua is highlighted by tag "&lt;source lang="lua">...&lt;/source>" placed around the Lua source code. To view some more complex examples of Lua, see article: "[[Lua (programming language)]]". For instructions on how to use Lua within MediaWiki (and hence Wikipedia), see [[mw:Extension:Scribunto/Lua reference manual]]. == Unit testing == A unit testing framework for Lua scripts on Wikipedia is available at [[Module:UnitTests]]. It allows you to execute your script on a given set of inputs and verify that the expected outputs are produced. Unit tests are especially useful for rapidly detecting regressions, where modifications to a script introduce new problems. By convention, unit tests for a module like [[Module:Bananas]] are placed in [[Module:Bananas/testcases]], and are executed on [[Module talk:Bananas/testcases]] with e.g. <code><nowiki>{{#invoke: Bananas/testcases | run_tests}}</nowiki></code>. Test methods must begin with "test". A simple example from [[Module:Bananas/testcases]] is below. <syntaxhighlight lang="lua"> -- Unit tests for [[Module:Bananas]]. Click talk page to run tests. local p = require('Module:UnitTests') function p:test_hello() self:preprocess_equals('{{#invoke:Bananas | hello}}', 'Hello, world!') end return p </syntaxhighlight> For a list of all modules using unit tests, see [[Special:Whatlinkshere/Module:UnitTests]]. There's also an alternative unit testing framework [[Special:Whatlinkshere/Module:ScribuntoUnit|in use]] called [[Module:ScribuntoUnit]], that originates from Hungarian Wikipedia. Feature-wise it's very similar to [[Module:UnitTests]], but it has a different coding style, and throws real errors that are trapped using protected calls. It also has a method to compare floats within a given precision. == Wikipedia-specific features == Overall: Lua can only get input as text strings passed to the <code><nowiki>{{#invoke:}}</nowiki></code> and what can be fetched via mw.title.new(...):getContent() and frame:expandTemplate(). Lua output will not be preprocessed unless frame:preprocess() is explicitly called, meaning that template calls, parser functions, etc. in the output will not work correctly. Also, all Lua in the page is limited to 10 seconds CPU time (you can look in the source code of a rendered page to see how long a template or module took to parse). And relative to standard Lua, Scribunto's Lua lacks all sorts of functions (see [[mw:Extension:Scribunto/Lua reference manual#Differences from standard Lua]]). === Lua input limitations === Lua code in Scribunto is only run when the page is being parsed. Therefore, the only user input that Lua can receive is by ''page editing'' - it cannot create a box that calculates the square root of a number you type in, or recalculate a piece of the Mandelbrot set depending on which part of the parent set you click on. The input Lua can receive includes any transcludeable text page on Wikipedia. This does ''not'' include graphics files (not even [[Wikipedia:SVG help|.SVG]] files, although they are actually text, unless you cut and paste it onto a Wiki text page), the list of pages listed in a [[Help:Category|category]], nor the contents of [[Wikipedia:Transclusion#Special pages|non-transcludeable]] [[Help:Special|special pages]]. === Wikitext === Transcluded Wikipedia headers frequently contain a hidden code such as <syntaxhighlight lang="lua" inline>"UNIQ5ae8f2aa414ff233-h-3--QINU"</syntaxhighlight> which may need to be stripped out in order for them to be parsed effectively. <blockquote><syntaxhighlight lang="lua" line highlight=1 copy> print(string.reverse("UNIQ")) -- Urutan sabalikna tina "UNIQ" nyaéta "QINU" </syntaxhighlight></blockquote> <blockquote><syntaxhighlight lang="lua" line start=2> QINU </syntaxhighlight></blockquote> Wikilinks of the type <code><nowiki>[[Wikipedia:Pitulung</nowiki></code>'''<code><nowiki>|</nowiki></code>'''<code><nowiki>]]</nowiki></code> won't work if returned as output - they need to be written explicitly as <syntaxhighlight lang="lua" inline>[[Wikipedia:Pitulung|</syntaxhighlight>'''<code><nowiki>Pitulung</nowiki></code>'''<syntaxhighlight lang="lua" inline>]]</syntaxhighlight>. Other pre-save transforms, such as replacing <code>~~<nowiki/>~~</code> with signatures, will also fail to be processed. Template transclusions, parser function calls, and variable substitutions (i.e. anything with a <code><nowiki>{{...}}</nowiki></code>) will not be processed, nor will tags such as {{tag|ref|o}} or {{tag|nowiki|o}}. == Labeling converted templates == {{lua|Module:Bananas}} Please place the {{tl|lua}} template on the documentation subpage of all templates that use Lua. It will help to better communicate Lua usage and template conversions. {{clear}} == See also == * [[Husus:IndeksAwalan/Modul:]] daptar modul Lua * [[:Kategori:Lua-based templates]] &ndash; l-groups ta templates based kan Lua ; English Wikipedia-specific resources * [[:mw:Manual:Coding conventions/Lua]] &ndash; standards to improve the readability of code through consistency * [[:en:Help:Lua debugging]] &ndash; a how-to guide about debugging Lua modules * [[:en:Module:Sandbox]] provides a pseudo-namespace for experimenting with Lua modules * [[:en:Wikipedia talk:Lua]] &ndash; requests for Lua-based templates or tasks == Notes == {{reflist}} {{WikiProject Lua/header}} [[Category:Wikipedia modules]] 8ln475jqzvhbs4nohxc3bnhdsmk3lkk 712152 712151 2026-08-19T21:00:10Z Nimmzo 37272 /* Using arguments */ Fred → Mohamed 712152 wikitext text/x-wiki {{tarjamahkeun|Inggris}} {{WikiProject Lua/header}} {{Information page|WP:Lua}} {{Namespaces}} [[Lua (programming language)|Lua]] is a programming language that is now available, via the [[mw:Extension:Scribunto|Scribunto]] MediaWiki extension, on the English Wikipedia. Lua code can now be embedded into wiki templates by employing the "<nowiki>{{#invoke:}}</nowiki>" functionality of the Scribunto MediaWiki extension. The Lua [[source code]] is stored in pages called modules (e.g., [[Module:Bananas]]). These individual modules are then invoked (by code <code><nowiki>{{#invoke:}}</nowiki></code>) on template pages (e.g., [[Module:Bananas/doc]] uses the code <code><nowiki>{{#invoke:Bananas|hello}}</nowiki></code> to print the text "Hello, world!"). == Running a module == Modules are run on normal wiki pages using the #invoke parser function. The syntax of #invoke is similar to template syntax, but with some differences. The most important difference is that you need to specify a ''function name''. A function is a set of instructions that takes input values, processes them, and returns an output value.<ref>You can also have multiple output values, but functions that do this are not normally meant to be accessed from wiki pages.</ref> This is much like what a template does: you give it arguments, it processes them, and you get a result. However, you can define many functions in one Lua module, whereas you can only define one template on one page. Furthermore, you can't just run a Lua module directly - you can only run one of the module's functions. The module is just a container for the functions, and doesn't do anything by itself. So there are two reasons that we need to input a function name: we can't run a module by itself, and without specifying a function name, Lua will not know which function it is we want to run. The simplest way to run a module from a wiki page is like this: &#123;{#invoke:''module name''|''function name''}} For example, we can run [[Module:Bananas]] in this way, which has one function named "hello". * <code><nowiki>{{#invoke:Bananas|hello}}</nowiki></code> &rarr; {{#invoke:Bananas|hello}} === Using arguments === Arguments are passed to modules in the same way that they are passed to templates. Note, however, that the text after the first pipe character is always the function name; the first positional argument is the text after the ''second'' pipe. &#123;{#invoke:''module name''|''function name''|''first positional argument''|''second positional argument''|''named argument'' = ''value''}} For example, in [[Module:BananasArgs]], the "hello" function greets different people depending on the first positional argument. It works like this: * <code><nowiki>{{#invoke:BananasArgs|hello|Mariam}}</nowiki></code> &rarr; {{#invoke:BananasArgs|hello|Mariam}} * <code><nowiki>{{#invoke:BananasArgs|hello|Mohamed}}</nowiki></code> &rarr; {{#invoke:BananasArgs|hello|Mohamed}} BananasArgs also has a function named "count_fruit" which uses the named arguments <code>bananas</code> and <code>apples</code> to count the number of bananas and apples we have. It can be run like this: * <code><nowiki>{{#invoke:BananasArgs|count_fruit|apples=3|bananas=4}}</nowiki></code> &rarr; {{#invoke:BananasArgs|count_fruit|apples=3|bananas=4}} * <code><nowiki>{{#invoke:BananasArgs|count_fruit|bananas=5|apples=2}}</nowiki></code> &rarr; {{#invoke:BananasArgs|count_fruit|bananas=5|apples=2}} Most modules will have a documentation page explaining what arguments can be used and what their effects will be. == Example modules == * [[Module:Bananas]]: The simplest possible script, providing a single function with no arguments. * [[Module:BananasArgs]]: Demonstrates how to access and use parameters. == Request a script == Visit '''[[Wikipedia:Lua requests]]''' to request help in writing a Lua script to perform a specific task on Wikipedia or another Wikimedia Foundation project. == History == [[mw:Manual:MediaWiki architecture#Magic words and templates|Sordid history]]. {{tl|qif}}, [[mw:Help:Extension:ParserFunctions|ParserFunctions]], [[mw:Extension:Lua|Lua extension]], wiki scripting language debated (JavaScript v. Lua), [[mw:Extension:WikiScripts]], Tim writes [[mw:Extension:Scribunto|Scribunto]] with initial support for Lua. Discussed for years, Lua was installed in 2012 for testing on [[test2wiki:|test2.wikipedia.org]], with open invitation to all editors to experiment with developing Lua modules. Lua was installed on the English Wikipedia in February 2013, after testing on mediawiki.org and Wikimedia test wikis. == About Lua == :''See also [[:File:WMF Tech Talk 2013-02-28 slides - Scribunto presentation.pdf|Brad Jorsch's short presentation for a basic example of how to convert a wikitext template into a Lua module.]]'' Lua is a [[scripting language]] which can be used to analyze data, calculate expressions, and format results using functions or [[object-oriented programming]]. Although some Lua scripts can be kept simple, for easy understanding, Lua allows complex structures including tables, dynamic functions, and [[associative array]]s where index [[subscript]]s can be words as well as index numbers. Lua also supports [[recursion]] of re-nested functions, so care should be taken to avoid excessive complexity where other users would not understand how to maintain a Lua module. The following is an example of Lua [[source code]] for a [[hello world]] function contained in [[Module:HelloWorld]]: <syntaxhighlight lang="lua"> -- All Lua modules on Wikipedia must begin by defining a variable that will hold their -- externally accessible functions. They can have any name and may also hold data. my_object = {} -- Add a function to the variable. These are callable in Wikipedia via the #invoke command. -- "frame" will contain the data that Wikipedia sends this function when it is called. my_object.hello = function( frame ) -- Declare a local variable and assign data to it. local str = "Hello World!" -- Quit this function and send the information in "str" back to Wikipedia. -- The "print" function is not allowed, so all output is accomplished via -- returning strings in this fashion. return str -- End the function. end -- All modules end by returning the variable containing its functions to Wikipedia. return my_object -- We can now use this module by calling {{#invoke: HelloWorld | hello }}. -- The #invoke command begins with the module's name, in this case "HelloWorld", -- then takes the name of one of its functions as an argument, in this case "hello". </syntaxhighlight> A sample of Lua is highlighted by tag "&lt;source lang="lua">...&lt;/source>" placed around the Lua source code. To view some more complex examples of Lua, see article: "[[Lua (programming language)]]". For instructions on how to use Lua within MediaWiki (and hence Wikipedia), see [[mw:Extension:Scribunto/Lua reference manual]]. == Unit testing == A unit testing framework for Lua scripts on Wikipedia is available at [[Module:UnitTests]]. It allows you to execute your script on a given set of inputs and verify that the expected outputs are produced. Unit tests are especially useful for rapidly detecting regressions, where modifications to a script introduce new problems. By convention, unit tests for a module like [[Module:Bananas]] are placed in [[Module:Bananas/testcases]], and are executed on [[Module talk:Bananas/testcases]] with e.g. <code><nowiki>{{#invoke: Bananas/testcases | run_tests}}</nowiki></code>. Test methods must begin with "test". A simple example from [[Module:Bananas/testcases]] is below. <syntaxhighlight lang="lua"> -- Unit tests for [[Module:Bananas]]. Click talk page to run tests. local p = require('Module:UnitTests') function p:test_hello() self:preprocess_equals('{{#invoke:Bananas | hello}}', 'Hello, world!') end return p </syntaxhighlight> For a list of all modules using unit tests, see [[Special:Whatlinkshere/Module:UnitTests]]. There's also an alternative unit testing framework [[Special:Whatlinkshere/Module:ScribuntoUnit|in use]] called [[Module:ScribuntoUnit]], that originates from Hungarian Wikipedia. Feature-wise it's very similar to [[Module:UnitTests]], but it has a different coding style, and throws real errors that are trapped using protected calls. It also has a method to compare floats within a given precision. == Wikipedia-specific features == Overall: Lua can only get input as text strings passed to the <code><nowiki>{{#invoke:}}</nowiki></code> and what can be fetched via mw.title.new(...):getContent() and frame:expandTemplate(). Lua output will not be preprocessed unless frame:preprocess() is explicitly called, meaning that template calls, parser functions, etc. in the output will not work correctly. Also, all Lua in the page is limited to 10 seconds CPU time (you can look in the source code of a rendered page to see how long a template or module took to parse). And relative to standard Lua, Scribunto's Lua lacks all sorts of functions (see [[mw:Extension:Scribunto/Lua reference manual#Differences from standard Lua]]). === Lua input limitations === Lua code in Scribunto is only run when the page is being parsed. Therefore, the only user input that Lua can receive is by ''page editing'' - it cannot create a box that calculates the square root of a number you type in, or recalculate a piece of the Mandelbrot set depending on which part of the parent set you click on. The input Lua can receive includes any transcludeable text page on Wikipedia. This does ''not'' include graphics files (not even [[Wikipedia:SVG help|.SVG]] files, although they are actually text, unless you cut and paste it onto a Wiki text page), the list of pages listed in a [[Help:Category|category]], nor the contents of [[Wikipedia:Transclusion#Special pages|non-transcludeable]] [[Help:Special|special pages]]. === Wikitext === Transcluded Wikipedia headers frequently contain a hidden code such as <syntaxhighlight lang="lua" inline>"UNIQ5ae8f2aa414ff233-h-3--QINU"</syntaxhighlight> which may need to be stripped out in order for them to be parsed effectively. <blockquote><syntaxhighlight lang="lua" line highlight=1 copy> print(string.reverse("UNIQ")) -- Urutan sabalikna tina "UNIQ" nyaéta "QINU" </syntaxhighlight></blockquote> <blockquote><syntaxhighlight lang="lua" line start=2> QINU </syntaxhighlight></blockquote> Wikilinks of the type <code><nowiki>[[Wikipedia:Pitulung</nowiki></code>'''<code><nowiki>|</nowiki></code>'''<code><nowiki>]]</nowiki></code> won't work if returned as output - they need to be written explicitly as <syntaxhighlight lang="lua" inline>[[Wikipedia:Pitulung|</syntaxhighlight>'''<code><nowiki>Pitulung</nowiki></code>'''<syntaxhighlight lang="lua" inline>]]</syntaxhighlight>. Other pre-save transforms, such as replacing <code>~~<nowiki/>~~</code> with signatures, will also fail to be processed. Template transclusions, parser function calls, and variable substitutions (i.e. anything with a <code><nowiki>{{...}}</nowiki></code>) will not be processed, nor will tags such as {{tag|ref|o}} or {{tag|nowiki|o}}. == Labeling converted templates == {{lua|Module:Bananas}} Please place the {{tl|lua}} template on the documentation subpage of all templates that use Lua. It will help to better communicate Lua usage and template conversions. {{clear}} == See also == * [[Husus:IndeksAwalan/Modul:]] daptar modul Lua * [[:Kategori:Lua-based templates]] &ndash; l-groups ta templates based kan Lua ; English Wikipedia-specific resources * [[:mw:Manual:Coding conventions/Lua]] &ndash; standards to improve the readability of code through consistency * [[:en:Help:Lua debugging]] &ndash; a how-to guide about debugging Lua modules * [[:en:Module:Sandbox]] provides a pseudo-namespace for experimenting with Lua modules * [[:en:Wikipedia talk:Lua]] &ndash; requests for Lua-based templates or tasks == Notes == {{reflist}} {{WikiProject Lua/header}} [[Category:Wikipedia modules]] m4som70vipe9fkels1chmjyye021emx 712153 712152 2026-08-19T21:31:12Z Nimmzo 37272 /* Request a script */ +[[:en:Wikipedia talk:Lua]] -bold 712153 wikitext text/x-wiki {{tarjamahkeun|Inggris}} {{WikiProject Lua/header}} {{Information page|WP:Lua}} {{Namespaces}} [[Lua (programming language)|Lua]] is a programming language that is now available, via the [[mw:Extension:Scribunto|Scribunto]] MediaWiki extension, on the English Wikipedia. Lua code can now be embedded into wiki templates by employing the "<nowiki>{{#invoke:}}</nowiki>" functionality of the Scribunto MediaWiki extension. The Lua [[source code]] is stored in pages called modules (e.g., [[Module:Bananas]]). These individual modules are then invoked (by code <code><nowiki>{{#invoke:}}</nowiki></code>) on template pages (e.g., [[Module:Bananas/doc]] uses the code <code><nowiki>{{#invoke:Bananas|hello}}</nowiki></code> to print the text "Hello, world!"). == Running a module == Modules are run on normal wiki pages using the #invoke parser function. The syntax of #invoke is similar to template syntax, but with some differences. The most important difference is that you need to specify a ''function name''. A function is a set of instructions that takes input values, processes them, and returns an output value.<ref>You can also have multiple output values, but functions that do this are not normally meant to be accessed from wiki pages.</ref> This is much like what a template does: you give it arguments, it processes them, and you get a result. However, you can define many functions in one Lua module, whereas you can only define one template on one page. Furthermore, you can't just run a Lua module directly - you can only run one of the module's functions. The module is just a container for the functions, and doesn't do anything by itself. So there are two reasons that we need to input a function name: we can't run a module by itself, and without specifying a function name, Lua will not know which function it is we want to run. The simplest way to run a module from a wiki page is like this: &#123;{#invoke:''module name''|''function name''}} For example, we can run [[Module:Bananas]] in this way, which has one function named "hello". * <code><nowiki>{{#invoke:Bananas|hello}}</nowiki></code> &rarr; {{#invoke:Bananas|hello}} === Using arguments === Arguments are passed to modules in the same way that they are passed to templates. Note, however, that the text after the first pipe character is always the function name; the first positional argument is the text after the ''second'' pipe. &#123;{#invoke:''module name''|''function name''|''first positional argument''|''second positional argument''|''named argument'' = ''value''}} For example, in [[Module:BananasArgs]], the "hello" function greets different people depending on the first positional argument. It works like this: * <code><nowiki>{{#invoke:BananasArgs|hello|Mariam}}</nowiki></code> &rarr; {{#invoke:BananasArgs|hello|Mariam}} * <code><nowiki>{{#invoke:BananasArgs|hello|Mohamed}}</nowiki></code> &rarr; {{#invoke:BananasArgs|hello|Mohamed}} BananasArgs also has a function named "count_fruit" which uses the named arguments <code>bananas</code> and <code>apples</code> to count the number of bananas and apples we have. It can be run like this: * <code><nowiki>{{#invoke:BananasArgs|count_fruit|apples=3|bananas=4}}</nowiki></code> &rarr; {{#invoke:BananasArgs|count_fruit|apples=3|bananas=4}} * <code><nowiki>{{#invoke:BananasArgs|count_fruit|bananas=5|apples=2}}</nowiki></code> &rarr; {{#invoke:BananasArgs|count_fruit|bananas=5|apples=2}} Most modules will have a documentation page explaining what arguments can be used and what their effects will be. == Example modules == * [[Module:Bananas]]: The simplest possible script, providing a single function with no arguments. * [[Module:BananasArgs]]: Demonstrates how to access and use parameters. == Request a script == Visit [[:en:Wikipedia talk:Lua]] to request help in writing a Lua script to perform a specific task on Wikipedia or another Wikimedia Foundation project. == History == [[mw:Manual:MediaWiki architecture#Magic words and templates|Sordid history]]. {{tl|qif}}, [[mw:Help:Extension:ParserFunctions|ParserFunctions]], [[mw:Extension:Lua|Lua extension]], wiki scripting language debated (JavaScript v. Lua), [[mw:Extension:WikiScripts]], Tim writes [[mw:Extension:Scribunto|Scribunto]] with initial support for Lua. Discussed for years, Lua was installed in 2012 for testing on [[test2wiki:|test2.wikipedia.org]], with open invitation to all editors to experiment with developing Lua modules. Lua was installed on the English Wikipedia in February 2013, after testing on mediawiki.org and Wikimedia test wikis. == About Lua == :''See also [[:File:WMF Tech Talk 2013-02-28 slides - Scribunto presentation.pdf|Brad Jorsch's short presentation for a basic example of how to convert a wikitext template into a Lua module.]]'' Lua is a [[scripting language]] which can be used to analyze data, calculate expressions, and format results using functions or [[object-oriented programming]]. Although some Lua scripts can be kept simple, for easy understanding, Lua allows complex structures including tables, dynamic functions, and [[associative array]]s where index [[subscript]]s can be words as well as index numbers. Lua also supports [[recursion]] of re-nested functions, so care should be taken to avoid excessive complexity where other users would not understand how to maintain a Lua module. The following is an example of Lua [[source code]] for a [[hello world]] function contained in [[Module:HelloWorld]]: <syntaxhighlight lang="lua"> -- All Lua modules on Wikipedia must begin by defining a variable that will hold their -- externally accessible functions. They can have any name and may also hold data. my_object = {} -- Add a function to the variable. These are callable in Wikipedia via the #invoke command. -- "frame" will contain the data that Wikipedia sends this function when it is called. my_object.hello = function( frame ) -- Declare a local variable and assign data to it. local str = "Hello World!" -- Quit this function and send the information in "str" back to Wikipedia. -- The "print" function is not allowed, so all output is accomplished via -- returning strings in this fashion. return str -- End the function. end -- All modules end by returning the variable containing its functions to Wikipedia. return my_object -- We can now use this module by calling {{#invoke: HelloWorld | hello }}. -- The #invoke command begins with the module's name, in this case "HelloWorld", -- then takes the name of one of its functions as an argument, in this case "hello". </syntaxhighlight> A sample of Lua is highlighted by tag "&lt;source lang="lua">...&lt;/source>" placed around the Lua source code. To view some more complex examples of Lua, see article: "[[Lua (programming language)]]". For instructions on how to use Lua within MediaWiki (and hence Wikipedia), see [[mw:Extension:Scribunto/Lua reference manual]]. == Unit testing == A unit testing framework for Lua scripts on Wikipedia is available at [[Module:UnitTests]]. It allows you to execute your script on a given set of inputs and verify that the expected outputs are produced. Unit tests are especially useful for rapidly detecting regressions, where modifications to a script introduce new problems. By convention, unit tests for a module like [[Module:Bananas]] are placed in [[Module:Bananas/testcases]], and are executed on [[Module talk:Bananas/testcases]] with e.g. <code><nowiki>{{#invoke: Bananas/testcases | run_tests}}</nowiki></code>. Test methods must begin with "test". A simple example from [[Module:Bananas/testcases]] is below. <syntaxhighlight lang="lua"> -- Unit tests for [[Module:Bananas]]. Click talk page to run tests. local p = require('Module:UnitTests') function p:test_hello() self:preprocess_equals('{{#invoke:Bananas | hello}}', 'Hello, world!') end return p </syntaxhighlight> For a list of all modules using unit tests, see [[Special:Whatlinkshere/Module:UnitTests]]. There's also an alternative unit testing framework [[Special:Whatlinkshere/Module:ScribuntoUnit|in use]] called [[Module:ScribuntoUnit]], that originates from Hungarian Wikipedia. Feature-wise it's very similar to [[Module:UnitTests]], but it has a different coding style, and throws real errors that are trapped using protected calls. It also has a method to compare floats within a given precision. == Wikipedia-specific features == Overall: Lua can only get input as text strings passed to the <code><nowiki>{{#invoke:}}</nowiki></code> and what can be fetched via mw.title.new(...):getContent() and frame:expandTemplate(). Lua output will not be preprocessed unless frame:preprocess() is explicitly called, meaning that template calls, parser functions, etc. in the output will not work correctly. Also, all Lua in the page is limited to 10 seconds CPU time (you can look in the source code of a rendered page to see how long a template or module took to parse). And relative to standard Lua, Scribunto's Lua lacks all sorts of functions (see [[mw:Extension:Scribunto/Lua reference manual#Differences from standard Lua]]). === Lua input limitations === Lua code in Scribunto is only run when the page is being parsed. Therefore, the only user input that Lua can receive is by ''page editing'' - it cannot create a box that calculates the square root of a number you type in, or recalculate a piece of the Mandelbrot set depending on which part of the parent set you click on. The input Lua can receive includes any transcludeable text page on Wikipedia. This does ''not'' include graphics files (not even [[Wikipedia:SVG help|.SVG]] files, although they are actually text, unless you cut and paste it onto a Wiki text page), the list of pages listed in a [[Help:Category|category]], nor the contents of [[Wikipedia:Transclusion#Special pages|non-transcludeable]] [[Help:Special|special pages]]. === Wikitext === Transcluded Wikipedia headers frequently contain a hidden code such as <syntaxhighlight lang="lua" inline>"UNIQ5ae8f2aa414ff233-h-3--QINU"</syntaxhighlight> which may need to be stripped out in order for them to be parsed effectively. <blockquote><syntaxhighlight lang="lua" line highlight=1 copy> print(string.reverse("UNIQ")) -- Urutan sabalikna tina "UNIQ" nyaéta "QINU" </syntaxhighlight></blockquote> <blockquote><syntaxhighlight lang="lua" line start=2> QINU </syntaxhighlight></blockquote> Wikilinks of the type <code><nowiki>[[Wikipedia:Pitulung</nowiki></code>'''<code><nowiki>|</nowiki></code>'''<code><nowiki>]]</nowiki></code> won't work if returned as output - they need to be written explicitly as <syntaxhighlight lang="lua" inline>[[Wikipedia:Pitulung|</syntaxhighlight>'''<code><nowiki>Pitulung</nowiki></code>'''<syntaxhighlight lang="lua" inline>]]</syntaxhighlight>. Other pre-save transforms, such as replacing <code>~~<nowiki/>~~</code> with signatures, will also fail to be processed. Template transclusions, parser function calls, and variable substitutions (i.e. anything with a <code><nowiki>{{...}}</nowiki></code>) will not be processed, nor will tags such as {{tag|ref|o}} or {{tag|nowiki|o}}. == Labeling converted templates == {{lua|Module:Bananas}} Please place the {{tl|lua}} template on the documentation subpage of all templates that use Lua. It will help to better communicate Lua usage and template conversions. {{clear}} == See also == * [[Husus:IndeksAwalan/Modul:]] daptar modul Lua * [[:Kategori:Lua-based templates]] &ndash; l-groups ta templates based kan Lua ; English Wikipedia-specific resources * [[:mw:Manual:Coding conventions/Lua]] &ndash; standards to improve the readability of code through consistency * [[:en:Help:Lua debugging]] &ndash; a how-to guide about debugging Lua modules * [[:en:Module:Sandbox]] provides a pseudo-namespace for experimenting with Lua modules * [[:en:Wikipedia talk:Lua]] &ndash; requests for Lua-based templates or tasks == Notes == {{reflist}} {{WikiProject Lua/header}} [[Category:Wikipedia modules]] sdg79lpshr71taeq8yy8o96nzya3g43 712154 712153 2026-08-19T21:40:17Z Nimmzo 37272 /* Running a module */ -italic -space: the separator is the pipe "|". +blockquote +syntaxhighlight lang="lua" line 712154 wikitext text/x-wiki {{tarjamahkeun|Inggris}} {{WikiProject Lua/header}} {{Information page|WP:Lua}} {{Namespaces}} [[Lua (programming language)|Lua]] is a programming language that is now available, via the [[mw:Extension:Scribunto|Scribunto]] MediaWiki extension, on the English Wikipedia. Lua code can now be embedded into wiki templates by employing the "<nowiki>{{#invoke:}}</nowiki>" functionality of the Scribunto MediaWiki extension. The Lua [[source code]] is stored in pages called modules (e.g., [[Module:Bananas]]). These individual modules are then invoked (by code <code><nowiki>{{#invoke:}}</nowiki></code>) on template pages (e.g., [[Module:Bananas/doc]] uses the code <code><nowiki>{{#invoke:Bananas|hello}}</nowiki></code> to print the text "Hello, world!"). == Running a module == Modules are run on normal wiki pages using the #invoke parser function. The syntax of #invoke is similar to template syntax, but with some differences. The most important difference is that you need to specify a ''function name''. A function is a set of instructions that takes input values, processes them, and returns an output value.<ref>You can also have multiple output values, but functions that do this are not normally meant to be accessed from wiki pages.</ref> This is much like what a template does: you give it arguments, it processes them, and you get a result. However, you can define many functions in one Lua module, whereas you can only define one template on one page. Furthermore, you can't just run a Lua module directly - you can only run one of the module's functions. The module is just a container for the functions, and doesn't do anything by itself. So there are two reasons that we need to input a function name: we can't run a module by itself, and without specifying a function name, Lua will not know which function it is we want to run. The simplest way to run a module from a wiki page is like this: <blockquote><syntaxhighlight lang="lua" line> {{#invoke:ngaranModul|ngaranFungsi}} </syntaxhighlight></blockquote> For example, we can run [[Module:Bananas]] in this way, which has one function named "hello". * <code><nowiki>{{#invoke:Bananas|hello}}</nowiki></code> &rarr; {{#invoke:Bananas|hello}} === Using arguments === Arguments are passed to modules in the same way that they are passed to templates. Note, however, that the text after the first pipe character is always the function name; the first positional argument is the text after the ''second'' pipe. &#123;{#invoke:''module name''|''function name''|''first positional argument''|''second positional argument''|''named argument'' = ''value''}} For example, in [[Module:BananasArgs]], the "hello" function greets different people depending on the first positional argument. It works like this: * <code><nowiki>{{#invoke:BananasArgs|hello|Mariam}}</nowiki></code> &rarr; {{#invoke:BananasArgs|hello|Mariam}} * <code><nowiki>{{#invoke:BananasArgs|hello|Mohamed}}</nowiki></code> &rarr; {{#invoke:BananasArgs|hello|Mohamed}} BananasArgs also has a function named "count_fruit" which uses the named arguments <code>bananas</code> and <code>apples</code> to count the number of bananas and apples we have. It can be run like this: * <code><nowiki>{{#invoke:BananasArgs|count_fruit|apples=3|bananas=4}}</nowiki></code> &rarr; {{#invoke:BananasArgs|count_fruit|apples=3|bananas=4}} * <code><nowiki>{{#invoke:BananasArgs|count_fruit|bananas=5|apples=2}}</nowiki></code> &rarr; {{#invoke:BananasArgs|count_fruit|bananas=5|apples=2}} Most modules will have a documentation page explaining what arguments can be used and what their effects will be. == Example modules == * [[Module:Bananas]]: The simplest possible script, providing a single function with no arguments. * [[Module:BananasArgs]]: Demonstrates how to access and use parameters. == Request a script == Visit [[:en:Wikipedia talk:Lua]] to request help in writing a Lua script to perform a specific task on Wikipedia or another Wikimedia Foundation project. == History == [[mw:Manual:MediaWiki architecture#Magic words and templates|Sordid history]]. {{tl|qif}}, [[mw:Help:Extension:ParserFunctions|ParserFunctions]], [[mw:Extension:Lua|Lua extension]], wiki scripting language debated (JavaScript v. Lua), [[mw:Extension:WikiScripts]], Tim writes [[mw:Extension:Scribunto|Scribunto]] with initial support for Lua. Discussed for years, Lua was installed in 2012 for testing on [[test2wiki:|test2.wikipedia.org]], with open invitation to all editors to experiment with developing Lua modules. Lua was installed on the English Wikipedia in February 2013, after testing on mediawiki.org and Wikimedia test wikis. == About Lua == :''See also [[:File:WMF Tech Talk 2013-02-28 slides - Scribunto presentation.pdf|Brad Jorsch's short presentation for a basic example of how to convert a wikitext template into a Lua module.]]'' Lua is a [[scripting language]] which can be used to analyze data, calculate expressions, and format results using functions or [[object-oriented programming]]. Although some Lua scripts can be kept simple, for easy understanding, Lua allows complex structures including tables, dynamic functions, and [[associative array]]s where index [[subscript]]s can be words as well as index numbers. Lua also supports [[recursion]] of re-nested functions, so care should be taken to avoid excessive complexity where other users would not understand how to maintain a Lua module. The following is an example of Lua [[source code]] for a [[hello world]] function contained in [[Module:HelloWorld]]: <syntaxhighlight lang="lua"> -- All Lua modules on Wikipedia must begin by defining a variable that will hold their -- externally accessible functions. They can have any name and may also hold data. my_object = {} -- Add a function to the variable. These are callable in Wikipedia via the #invoke command. -- "frame" will contain the data that Wikipedia sends this function when it is called. my_object.hello = function( frame ) -- Declare a local variable and assign data to it. local str = "Hello World!" -- Quit this function and send the information in "str" back to Wikipedia. -- The "print" function is not allowed, so all output is accomplished via -- returning strings in this fashion. return str -- End the function. end -- All modules end by returning the variable containing its functions to Wikipedia. return my_object -- We can now use this module by calling {{#invoke: HelloWorld | hello }}. -- The #invoke command begins with the module's name, in this case "HelloWorld", -- then takes the name of one of its functions as an argument, in this case "hello". </syntaxhighlight> A sample of Lua is highlighted by tag "&lt;source lang="lua">...&lt;/source>" placed around the Lua source code. To view some more complex examples of Lua, see article: "[[Lua (programming language)]]". For instructions on how to use Lua within MediaWiki (and hence Wikipedia), see [[mw:Extension:Scribunto/Lua reference manual]]. == Unit testing == A unit testing framework for Lua scripts on Wikipedia is available at [[Module:UnitTests]]. It allows you to execute your script on a given set of inputs and verify that the expected outputs are produced. Unit tests are especially useful for rapidly detecting regressions, where modifications to a script introduce new problems. By convention, unit tests for a module like [[Module:Bananas]] are placed in [[Module:Bananas/testcases]], and are executed on [[Module talk:Bananas/testcases]] with e.g. <code><nowiki>{{#invoke: Bananas/testcases | run_tests}}</nowiki></code>. Test methods must begin with "test". A simple example from [[Module:Bananas/testcases]] is below. <syntaxhighlight lang="lua"> -- Unit tests for [[Module:Bananas]]. Click talk page to run tests. local p = require('Module:UnitTests') function p:test_hello() self:preprocess_equals('{{#invoke:Bananas | hello}}', 'Hello, world!') end return p </syntaxhighlight> For a list of all modules using unit tests, see [[Special:Whatlinkshere/Module:UnitTests]]. There's also an alternative unit testing framework [[Special:Whatlinkshere/Module:ScribuntoUnit|in use]] called [[Module:ScribuntoUnit]], that originates from Hungarian Wikipedia. Feature-wise it's very similar to [[Module:UnitTests]], but it has a different coding style, and throws real errors that are trapped using protected calls. It also has a method to compare floats within a given precision. == Wikipedia-specific features == Overall: Lua can only get input as text strings passed to the <code><nowiki>{{#invoke:}}</nowiki></code> and what can be fetched via mw.title.new(...):getContent() and frame:expandTemplate(). Lua output will not be preprocessed unless frame:preprocess() is explicitly called, meaning that template calls, parser functions, etc. in the output will not work correctly. Also, all Lua in the page is limited to 10 seconds CPU time (you can look in the source code of a rendered page to see how long a template or module took to parse). And relative to standard Lua, Scribunto's Lua lacks all sorts of functions (see [[mw:Extension:Scribunto/Lua reference manual#Differences from standard Lua]]). === Lua input limitations === Lua code in Scribunto is only run when the page is being parsed. Therefore, the only user input that Lua can receive is by ''page editing'' - it cannot create a box that calculates the square root of a number you type in, or recalculate a piece of the Mandelbrot set depending on which part of the parent set you click on. The input Lua can receive includes any transcludeable text page on Wikipedia. This does ''not'' include graphics files (not even [[Wikipedia:SVG help|.SVG]] files, although they are actually text, unless you cut and paste it onto a Wiki text page), the list of pages listed in a [[Help:Category|category]], nor the contents of [[Wikipedia:Transclusion#Special pages|non-transcludeable]] [[Help:Special|special pages]]. === Wikitext === Transcluded Wikipedia headers frequently contain a hidden code such as <syntaxhighlight lang="lua" inline>"UNIQ5ae8f2aa414ff233-h-3--QINU"</syntaxhighlight> which may need to be stripped out in order for them to be parsed effectively. <blockquote><syntaxhighlight lang="lua" line highlight=1 copy> print(string.reverse("UNIQ")) -- Urutan sabalikna tina "UNIQ" nyaéta "QINU" </syntaxhighlight></blockquote> <blockquote><syntaxhighlight lang="lua" line start=2> QINU </syntaxhighlight></blockquote> Wikilinks of the type <code><nowiki>[[Wikipedia:Pitulung</nowiki></code>'''<code><nowiki>|</nowiki></code>'''<code><nowiki>]]</nowiki></code> won't work if returned as output - they need to be written explicitly as <syntaxhighlight lang="lua" inline>[[Wikipedia:Pitulung|</syntaxhighlight>'''<code><nowiki>Pitulung</nowiki></code>'''<syntaxhighlight lang="lua" inline>]]</syntaxhighlight>. Other pre-save transforms, such as replacing <code>~~<nowiki/>~~</code> with signatures, will also fail to be processed. Template transclusions, parser function calls, and variable substitutions (i.e. anything with a <code><nowiki>{{...}}</nowiki></code>) will not be processed, nor will tags such as {{tag|ref|o}} or {{tag|nowiki|o}}. == Labeling converted templates == {{lua|Module:Bananas}} Please place the {{tl|lua}} template on the documentation subpage of all templates that use Lua. It will help to better communicate Lua usage and template conversions. {{clear}} == See also == * [[Husus:IndeksAwalan/Modul:]] daptar modul Lua * [[:Kategori:Lua-based templates]] &ndash; l-groups ta templates based kan Lua ; English Wikipedia-specific resources * [[:mw:Manual:Coding conventions/Lua]] &ndash; standards to improve the readability of code through consistency * [[:en:Help:Lua debugging]] &ndash; a how-to guide about debugging Lua modules * [[:en:Module:Sandbox]] provides a pseudo-namespace for experimenting with Lua modules * [[:en:Wikipedia talk:Lua]] &ndash; requests for Lua-based templates or tasks == Notes == {{reflist}} {{WikiProject Lua/header}} [[Category:Wikipedia modules]] jewk9obijcu4wo3imvqrwwkznjnlh6v 712155 712154 2026-08-19T22:00:10Z Nimmzo 37272 /* Using arguments */ first positional argument = parameter1 in first position = prm1 = arguménPosisionalKahiji. If prm2 is needed, arguménPosisionalKadua but not here. If the function supports named argument: key=StringValue. arguménNgaran=nilai. Removed space separator. Shortened the syntax on one line 712155 wikitext text/x-wiki {{tarjamahkeun|Inggris}} {{WikiProject Lua/header}} {{Information page|WP:Lua}} {{Namespaces}} [[Lua (programming language)|Lua]] is a programming language that is now available, via the [[mw:Extension:Scribunto|Scribunto]] MediaWiki extension, on the English Wikipedia. Lua code can now be embedded into wiki templates by employing the "<nowiki>{{#invoke:}}</nowiki>" functionality of the Scribunto MediaWiki extension. The Lua [[source code]] is stored in pages called modules (e.g., [[Module:Bananas]]). These individual modules are then invoked (by code <code><nowiki>{{#invoke:}}</nowiki></code>) on template pages (e.g., [[Module:Bananas/doc]] uses the code <code><nowiki>{{#invoke:Bananas|hello}}</nowiki></code> to print the text "Hello, world!"). == Running a module == Modules are run on normal wiki pages using the #invoke parser function. The syntax of #invoke is similar to template syntax, but with some differences. The most important difference is that you need to specify a ''function name''. A function is a set of instructions that takes input values, processes them, and returns an output value.<ref>You can also have multiple output values, but functions that do this are not normally meant to be accessed from wiki pages.</ref> This is much like what a template does: you give it arguments, it processes them, and you get a result. However, you can define many functions in one Lua module, whereas you can only define one template on one page. Furthermore, you can't just run a Lua module directly - you can only run one of the module's functions. The module is just a container for the functions, and doesn't do anything by itself. So there are two reasons that we need to input a function name: we can't run a module by itself, and without specifying a function name, Lua will not know which function it is we want to run. The simplest way to run a module from a wiki page is like this: <blockquote><syntaxhighlight lang="lua" line> {{#invoke:ngaranModul|ngaranFungsi}} </syntaxhighlight></blockquote> For example, we can run [[Module:Bananas]] in this way, which has one function named "hello". * <code><nowiki>{{#invoke:Bananas|hello}}</nowiki></code> &rarr; {{#invoke:Bananas|hello}} === Using arguments === Arguments are passed to modules in the same way that they are passed to templates. Note, however, that the text after the first pipe character is always the function name; the first positional argument is the text after the ''second'' pipe. <blockquote><syntaxhighlight lang="lua" line> {{#invoke:NgaranModul|ngaranFungsi|arguménPosisional1}} </syntaxhighlight></blockquote> For example, in [[Module:BananasArgs]], the "hello" function greets different people depending on the first positional argument. It works like this: * <code><nowiki>{{#invoke:BananasArgs|hello|Mariam}}</nowiki></code> &rarr; {{#invoke:BananasArgs|hello|Mariam}} * <code><nowiki>{{#invoke:BananasArgs|hello|Mohamed}}</nowiki></code> &rarr; {{#invoke:BananasArgs|hello|Mohamed}} <blockquote><syntaxhighlight lang="lua" line> {{#invoke:NgaranModul|ngaranFungsi|argNgaran1=nilai1|argNgaran2=nilai2}} </syntaxhighlight></blockquote> BananasArgs also has a function named "count_fruit" which uses the named arguments <code>bananas</code> and <code>apples</code> to count the number of bananas and apples we have. It can be run switching the order of the parameters: * <code><nowiki>{{#invoke:BananasArgs|count_fruit|apples=3|bananas=4}}</nowiki></code> &rarr; {{#invoke:BananasArgs|count_fruit|apples=3|bananas=4}} * <code><nowiki>{{#invoke:BananasArgs|count_fruit|bananas=5|apples=2}}</nowiki></code> &rarr; {{#invoke:BananasArgs|count_fruit|bananas=5|apples=2}} Most modules will have a documentation page explaining what arguments can be used and what their effects will be. == Example modules == * [[Module:Bananas]]: The simplest possible script, providing a single function with no arguments. * [[Module:BananasArgs]]: Demonstrates how to access and use parameters. == Request a script == Visit [[:en:Wikipedia talk:Lua]] to request help in writing a Lua script to perform a specific task on Wikipedia or another Wikimedia Foundation project. == History == [[mw:Manual:MediaWiki architecture#Magic words and templates|Sordid history]]. {{tl|qif}}, [[mw:Help:Extension:ParserFunctions|ParserFunctions]], [[mw:Extension:Lua|Lua extension]], wiki scripting language debated (JavaScript v. Lua), [[mw:Extension:WikiScripts]], Tim writes [[mw:Extension:Scribunto|Scribunto]] with initial support for Lua. Discussed for years, Lua was installed in 2012 for testing on [[test2wiki:|test2.wikipedia.org]], with open invitation to all editors to experiment with developing Lua modules. Lua was installed on the English Wikipedia in February 2013, after testing on mediawiki.org and Wikimedia test wikis. == About Lua == :''See also [[:File:WMF Tech Talk 2013-02-28 slides - Scribunto presentation.pdf|Brad Jorsch's short presentation for a basic example of how to convert a wikitext template into a Lua module.]]'' Lua is a [[scripting language]] which can be used to analyze data, calculate expressions, and format results using functions or [[object-oriented programming]]. Although some Lua scripts can be kept simple, for easy understanding, Lua allows complex structures including tables, dynamic functions, and [[associative array]]s where index [[subscript]]s can be words as well as index numbers. Lua also supports [[recursion]] of re-nested functions, so care should be taken to avoid excessive complexity where other users would not understand how to maintain a Lua module. The following is an example of Lua [[source code]] for a [[hello world]] function contained in [[Module:HelloWorld]]: <syntaxhighlight lang="lua"> -- All Lua modules on Wikipedia must begin by defining a variable that will hold their -- externally accessible functions. They can have any name and may also hold data. my_object = {} -- Add a function to the variable. These are callable in Wikipedia via the #invoke command. -- "frame" will contain the data that Wikipedia sends this function when it is called. my_object.hello = function( frame ) -- Declare a local variable and assign data to it. local str = "Hello World!" -- Quit this function and send the information in "str" back to Wikipedia. -- The "print" function is not allowed, so all output is accomplished via -- returning strings in this fashion. return str -- End the function. end -- All modules end by returning the variable containing its functions to Wikipedia. return my_object -- We can now use this module by calling {{#invoke: HelloWorld | hello }}. -- The #invoke command begins with the module's name, in this case "HelloWorld", -- then takes the name of one of its functions as an argument, in this case "hello". </syntaxhighlight> A sample of Lua is highlighted by tag "&lt;source lang="lua">...&lt;/source>" placed around the Lua source code. To view some more complex examples of Lua, see article: "[[Lua (programming language)]]". For instructions on how to use Lua within MediaWiki (and hence Wikipedia), see [[mw:Extension:Scribunto/Lua reference manual]]. == Unit testing == A unit testing framework for Lua scripts on Wikipedia is available at [[Module:UnitTests]]. It allows you to execute your script on a given set of inputs and verify that the expected outputs are produced. Unit tests are especially useful for rapidly detecting regressions, where modifications to a script introduce new problems. By convention, unit tests for a module like [[Module:Bananas]] are placed in [[Module:Bananas/testcases]], and are executed on [[Module talk:Bananas/testcases]] with e.g. <code><nowiki>{{#invoke: Bananas/testcases | run_tests}}</nowiki></code>. Test methods must begin with "test". A simple example from [[Module:Bananas/testcases]] is below. <syntaxhighlight lang="lua"> -- Unit tests for [[Module:Bananas]]. Click talk page to run tests. local p = require('Module:UnitTests') function p:test_hello() self:preprocess_equals('{{#invoke:Bananas | hello}}', 'Hello, world!') end return p </syntaxhighlight> For a list of all modules using unit tests, see [[Special:Whatlinkshere/Module:UnitTests]]. There's also an alternative unit testing framework [[Special:Whatlinkshere/Module:ScribuntoUnit|in use]] called [[Module:ScribuntoUnit]], that originates from Hungarian Wikipedia. Feature-wise it's very similar to [[Module:UnitTests]], but it has a different coding style, and throws real errors that are trapped using protected calls. It also has a method to compare floats within a given precision. == Wikipedia-specific features == Overall: Lua can only get input as text strings passed to the <code><nowiki>{{#invoke:}}</nowiki></code> and what can be fetched via mw.title.new(...):getContent() and frame:expandTemplate(). Lua output will not be preprocessed unless frame:preprocess() is explicitly called, meaning that template calls, parser functions, etc. in the output will not work correctly. Also, all Lua in the page is limited to 10 seconds CPU time (you can look in the source code of a rendered page to see how long a template or module took to parse). And relative to standard Lua, Scribunto's Lua lacks all sorts of functions (see [[mw:Extension:Scribunto/Lua reference manual#Differences from standard Lua]]). === Lua input limitations === Lua code in Scribunto is only run when the page is being parsed. Therefore, the only user input that Lua can receive is by ''page editing'' - it cannot create a box that calculates the square root of a number you type in, or recalculate a piece of the Mandelbrot set depending on which part of the parent set you click on. The input Lua can receive includes any transcludeable text page on Wikipedia. This does ''not'' include graphics files (not even [[Wikipedia:SVG help|.SVG]] files, although they are actually text, unless you cut and paste it onto a Wiki text page), the list of pages listed in a [[Help:Category|category]], nor the contents of [[Wikipedia:Transclusion#Special pages|non-transcludeable]] [[Help:Special|special pages]]. === Wikitext === Transcluded Wikipedia headers frequently contain a hidden code such as <syntaxhighlight lang="lua" inline>"UNIQ5ae8f2aa414ff233-h-3--QINU"</syntaxhighlight> which may need to be stripped out in order for them to be parsed effectively. <blockquote><syntaxhighlight lang="lua" line highlight=1 copy> print(string.reverse("UNIQ")) -- Urutan sabalikna tina "UNIQ" nyaéta "QINU" </syntaxhighlight></blockquote> <blockquote><syntaxhighlight lang="lua" line start=2> QINU </syntaxhighlight></blockquote> Wikilinks of the type <code><nowiki>[[Wikipedia:Pitulung</nowiki></code>'''<code><nowiki>|</nowiki></code>'''<code><nowiki>]]</nowiki></code> won't work if returned as output - they need to be written explicitly as <syntaxhighlight lang="lua" inline>[[Wikipedia:Pitulung|</syntaxhighlight>'''<code><nowiki>Pitulung</nowiki></code>'''<syntaxhighlight lang="lua" inline>]]</syntaxhighlight>. Other pre-save transforms, such as replacing <code>~~<nowiki/>~~</code> with signatures, will also fail to be processed. Template transclusions, parser function calls, and variable substitutions (i.e. anything with a <code><nowiki>{{...}}</nowiki></code>) will not be processed, nor will tags such as {{tag|ref|o}} or {{tag|nowiki|o}}. == Labeling converted templates == {{lua|Module:Bananas}} Please place the {{tl|lua}} template on the documentation subpage of all templates that use Lua. It will help to better communicate Lua usage and template conversions. {{clear}} == See also == * [[Husus:IndeksAwalan/Modul:]] daptar modul Lua * [[:Kategori:Lua-based templates]] &ndash; l-groups ta templates based kan Lua ; English Wikipedia-specific resources * [[:mw:Manual:Coding conventions/Lua]] &ndash; standards to improve the readability of code through consistency * [[:en:Help:Lua debugging]] &ndash; a how-to guide about debugging Lua modules * [[:en:Module:Sandbox]] provides a pseudo-namespace for experimenting with Lua modules * [[:en:Wikipedia talk:Lua]] &ndash; requests for Lua-based templates or tasks == Notes == {{reflist}} {{WikiProject Lua/header}} [[Category:Wikipedia modules]] m4hlngrlz7v1cdoo62z201kxqug8gey Évie Tamala 0 43580 712146 704627 2026-08-19T14:08:18Z ~2026-38892-59 37068 /* */ 712146 wikitext text/x-wiki {{Orphan|date=April 2017}} {{Infobox penyanyi indonesia |name = Évie Tamala |image = Evie Tamala.jpg |imagesize = |caption = |Background = solo_singer |birth_date = {{birth date and age|1969|6|23}} |birth_place = {{negara|Indonesia}} [[Tasikmalaya]], [[Jawa Barat]], [[Indonesia]] |birth_name = Cucu Suryaningsih |other_name = Evie Tamala |death_date = |death_place = |genre = [[Dangdut]] |occupation = [[Aktris]]<br />[[Penyanyi]] |instrument = |yearsactive = [[1987]]—ayeuna |label =[[Blackboard]] <br> MSC Plus <br> [[GP Records]] <br> [[Musica Studio's]] |associated_acts= [[Cici Paramida]], [[Ikke Nurjanah]], [[Ine Sinthya]], [[Iis Dahlia]], [[Rita Sugiarto]], [[Rhoma Irama]], [[Camelia Malik]], [[Iyéth Bustami]] |spouse = Heru<br />Malik |religion = [[Islam]] |partner = |children = |parents = |influences = |influenced = |website = |currentmembers = |pastmembers = }} '''Cucu Suryaningsih''' leuwih dipikawanohna mah '''Évie Tamala''' ({{lahirmati|[[Cigalontang]], [[Singaparna]], [[Kabupatén Tasikmalaya]]|23|6|1969||||}}) nyaéta saurang panyanyi [[dangdut]] [[Indonésia]] anu geus mimiti ngahaleuang ti keur kelas 2 SD. Évie téh anak bungsu ti genep sadudulur.<ref name="wow">[http://www.wowkeren.com/seleb/evie_tamala/profil.html Profil Evie Tamala]. Diaksés 12 Juli 2015.</ref><ref name="kapanlagi">[http://www.kapanlagi.com/indonesia/e/evie_tamala/ Profil Evie Tamala]. Diaksés 12 Juli 2015.</ref> ==Karir== Évie naratasan karirna ku ngagabung jeung grup Orkés Melayu (OM) Sinar Rumaja taun [[1980]].<ref name="kapanlagi"/> Harita, Evie masih ngagunakeun ngaran panggung Uceu Arfina, disibukkeun ku kagiatan manggung dina acara-acara hajatan saperti raraméan [[jatukrami]], sukuran khitanan, nepi ka raraméan poé Kamerdékaan RI.<ref name="kapanlagi"/> Bareng jeung Sinar Rumaja Évie meunang kasempetan pikeun ngeusi acara di wewengkon [[Bandung]], anu satuluyna matak pikaresepen saurang panyipta jeung produser lagu dangdut [[Muchtar B]].<ref name="kapanlagi"/> Muchtar langsung ngajak Évie pikeun rekaman. Hanjakal, album Évie téh hasilna pikucéwaeun, malah mah kasétna gé teu sumebar.<ref name="kapanlagi"/> Évie ngareuah-reuah deui dunya [[musik]] [[dangdut]] taun [[1988]], bareng jeung dipedalna album nu kadua ku lagu andalanna Tang Ting Tong Der karya Muchtar B.<ref name="kapanlagi"/> Préstasi nu paling fenomenal anu dimeunangkeun ku Évie dina taun [[2007]] dina tarékah pangajén [[AMI Awards]].<ref name="kapanlagi"/> Évie suksés meunangkeun tropi pikeun kategori ''Lagu Terbaik Dangdut Konvénsional'', ''Artis Solo Wanita Terbaik Dangdut Konvénsional'', ''Artis Solo/Duo/Group Terbaik Album Dangdut Konvénsional'', ''Produser Rekaman Terbaik Penunjang Produksi'', ''Artis Terbaik Widang Umum'', jeung ''Album Terbaik Widang Umum''.<ref name="kapanlagi"/> ==Rujukan== {{reflist}} {{biografi-pondok}} [[Kategori:Panyanyi dangdut]] [[Kategori:Inohong Sunda]] gxo8id937vxwdq8r3ytcadj5hc3crpa Siti Nurhaliza 0 99289 712149 709822 2026-08-19T15:00:50Z ~2026-38892-59 37068 /* Album duet */ 712149 wikitext text/x-wiki {{Infobox person | name = Dato' Sri<br/>Siti Nurhaliza<br/>SSAP DIMP JSM SAP PMP AAP | image = Siti Nurhaliza - Khairul Fahmi's Wedding 2013.jpg | image_size = | caption = | birth_name = Siti Nurhaliza binti Tarudin | birth_date = {{birth date and age|1979|01|11}} | birth_place = {{flagicon|Malaysia}} Kampung Awah, Temerloh, Pahang, [[Malaysia]] | other_names = Siti Nurhaliza | death_date = | death_place = | ethnicity = [[Urang Malayu|Malayu]] | years_active = [[1995]]-ayeuna | occupation = [[penyanyi|panyanyi]], [[aktor|aktris]], selebriti | religion = [[Islam]] | spouse = {{marriage|Khalid Mohamad Jiwa|21 August 2006}} | partner = | children = Siti Aafiyah binti Khalid<br/>Muhammad Afwa bin Khalid | parents = Tarudin Ismail<br/>Siti Salmah Bachik | module = {{Infobox musical artist | embed = yes | genre = [[Musik pop|Pop]], [[Musik rock|Rock]], Pop Melayu, Pop Rock, Soft Rock, Pop Tradisional, Nasyid, R&B | label = Suria Records ([[1995]]-[[2005]])<br/>Siti Nurhaliza Productions ([[2006]]-ayeuna)<br/>Universal Music Malaysia ([[2011]]-ayeuna)<br/>GP Records ([[Indonésia]]) | instrument = [[vokal]] | associated_acts = {{hlist|[[Krisdayanti]]|[[Syura Badron]]}} }} | influences = | influenced = | website = }} Dato' Sri '''Siti Nurhaliza binti Tarudin''' langkung dikenal salaku '''Siti Nurhaliza''' SSAP DIMP JSM SAP PMP AAP ([[Abjad Jawi|Jawi]]: سيتي نورهاليزا بنت تارودين; {{lahirmati|Kampung Awah, Temerloh, Pahang, [[Malaysia]]|11|01|1979}}) nyaéta saurang [[panyanyi]], [[aktris]], panulis lagu, produser catetan sareng pangusaha anu asalna tina getih Melayu [[Malaysia]]. ==Diskografi== ===Album studio=== * ''[[Siti Nurhaliza 1]]'' (1996) * ''[[Siti Nurhaliza 2]]'' (1997) * ''[[Cindai]]'' (1997) * ''[[Adiwarna]]'' (1998) * ''[[Pancawarna]]'' (1999) * ''[[Sahmura]]'' (2000) * ''[[Safa]]'' (2001) * ''[[Sanggar Mustika]]'' (2002) * ''[[E.M.A.S]]'' (2003) * ''[[Anugerah Aidilfitri]]'' (2003) * ''[[Prasasti Seni]]'' (2004) * ''Transkripsi'' (2006) * ''Hadiah Daripada Hati'' (2007) * ''Lentera Timur'' (2008) * ''Tahajjud Cinta'' (2009) * ''All Your Love'' (2011) * ''Fragmen'' (2014) * ''SimetriSiti'' (2017) * ''ManifestaSITI2020'' (2020) * ''Legasi'' (2021) * ''Sitism'' (2023) * ''Gema Bumantara'' (2025) === Album duet === * ''[[Seri Balas]]'' (duet Noraniza Idris) (1999) * ''CTKD'' (duet [[Krisdayanti]]) (2009) === Album-album séjénna === * ''Molek'' (1998) * ''The Best of Siti Nurhaliza'' (2000) * ''Cerita Cinta Siti Nurhaliza'' (2006) * ''Klasik'' (2007) * ''[[Permata Irama]]'' (2008) * ''Siti & Friends'' (2010) * ''Pewaris Lagu-lagu Tradisional'' (2012) * ''Legasi'' (2021) ==Tumbu éksternal== * {{IMDb name|6021573}} * {{Instagram|ctdk}} {{authority control}} {{DEFAULTSORT:Nurhaliza, Siti}} [[Kategori:Panyanyi]] [[Kategori:Panyanyi Malaysia]] [[Kategori:Aktris Malaysia]] [[Kategori:Inohong Malayu]] [[Kategori:Siti Nurhaliza| ]] qmuxvmur596jdozev0e3j7flubikzrr Inka Christie 0 99941 712145 672466 2026-08-19T14:07:26Z ~2026-38892-59 37068 /* */ 712145 wikitext text/x-wiki {{Infobox person |name = Inka Christie |birthname = Rinni Chries Hartono |othername = Inka Christie |birthdate = {{birth date and age|1973|01|20}} |birthplace = {{flagicon|Indonésia}} [[Bandung]], [[Jawa Kulon]], [[Indonésia]] |deathdate = |deathplace = |module = {{Infobox musical artist |embed = yes |genre = [[Musik rock|Rock]] |instrument = Vokal |label = Musica Studio's }} |ethnicity = [[Urang Sunda|Sunda]] |yearsactive = [[1991]]-ayeuna |occupation = panyanyi, aktris |religion = [[Islam]] }} '''Inka Christie''' ({{lahirmati|[[Bandung]], [[Jawa Kulon]]|20|01|1973}}) nyaéta saurang panyanyi [[Indonésia]] di [[Sunda]]. == Diskografi == * ''Gambaran Cinta'' (1991) * ''Nafas Cinta'' (1993) * ''Yang Kunanti'' (1995) * ''Yang Kedua Kali'' (1996) * ''Tiada Cinta Yang Lain'' (1997) * ''Nyanyian Suara Hati'' (1998) * ''Teratai'' (1999) * ''Puisi Cinta'' (2000) * ''Semua untuk Kita'' (2012) === Single === * ''Menggapai Harapan'' (1996) === Himpunan terbaik === * ''Sanggupkah'' (2003) == Rujukan == {{biografi-stub}} [[Kategori:Panyanyi Indonésia]] [[Kategori:Panyanyi]] [[Kategori:Inohong Sunda]] 4q0sf611vff8l8gfb3rnqeawp2e3p1u Permata Irama 0 108819 712148 2026-08-19T14:53:43Z ~2026-38892-59 37068 Nyieun kaca anyar {{Infobox Album | Name = Permata Irama | Type = kompilasi | Artist = [[Siti Nurhaliza]] | Cover = | Released = [[10 Désémber]] [[2007]]<ref>{{cite web|title=Anugerah Aidilfitri...|url=http://sitizone.com/main/index.php?option=com_content&task=view&id=42&Itemid=31|work=SitiZone.com - Siti Nurhaliza Official Website|accessdate=19 Agustus 2026}}</ref> | Genre = [[Musik pop|Pop]], [[Musik Malayu|Malayu]] | Length = N/A | Label = Siti Nurhaliza Productions, Suria Records | P... 712148 wikitext text/x-wiki {{Infobox Album | Name = Permata Irama | Type = kompilasi | Artist = [[Siti Nurhaliza]] | Cover = | Released = [[10 Désémber]] [[2007]]<ref>{{cite web|title=Anugerah Aidilfitri...|url=http://sitizone.com/main/index.php?option=com_content&task=view&id=42&Itemid=31|work=SitiZone.com - Siti Nurhaliza Official Website|accessdate=19 Agustus 2026}}</ref> | Genre = [[Musik pop|Pop]], [[Musik Malayu|Malayu]] | Length = N/A | Label = Siti Nurhaliza Productions, Suria Records | Producer = Dato' Siti Nurhaliza, [[Pak Ngah]], S. Atan, Yassin & Suflan Faidzal }} '''''Permata Irama''''' nyaéta album kompilasi ku [[penyanyi]] sareng [[aktris]] [[Malaysia]], [[Siti Nurhaliza]] anu dirilis sakitar taun [[2008]], sateuacan dirilisna album '''''Lentera Timur'''''. == Daptar lagu == # ''Lagu Rindu''<br>Senilagu & Senikata: Yasin # ''Pandang-Pandang, Jeling-Jeling'' (duet kalawan Tan Sri Dato' SM Salim)<br>Senilagu: S. Atan<br>Senikata: Tan Sri Dato' SM. Salim # ''Cindai''<br>Senilagu: [[Pak Ngah]]<br>Senikata: Hairul Anuar Harun # ''Balqis''<br>Senilagu: [[Pak Ngah]]<br>Senikata: Hairul Anuar Harun # ''Badarsila''<br>Senilagu: Suflan Faidzal<br>Senikata: Lokgha # ''Hati Kama'' (duet kalawan Noraniza Idris)<br>Senilagu: [[Pak Ngah]]<br>Senikata: Hairul Anuar Harun # ''Bergending Dang Gong'' (duet kalawan Tan Sri Dato' SM Salim)<br>Senilagu: [[Pak Ngah]]<br>Senikata: Siso Kopratasa # ''Ya Maulai''<br>Senilagu: [[Pak Ngah]]<br>Senikata: Hairul Anuar Harun # ''Nirmala''<br>Senilagu: [[Pak Ngah]]<br>Senikata: Ce'Kem # ''Joget Berhibur''<br>Senilagu: Rahim Jantan<br>Senikata: Siso Kopratasa # ''Kurik Kundi''<br>Senilagu: [[Pak Ngah]]<br>Senikata: Nurul Asyiqin # ''Sakti''<br>Senilagu: Mohar<br>Senikata: Loloq == Réferénsi == {{reflist}} [[Kategori:Album]] [[Kategori:Siti Nurhaliza]] fqs60ljxaisjcj9gmm1begrujz8e761