Difference between revisions of "Module:Main/doc"
m (1 revision) |
en>WOSlinker m (change source to syntaxhighlight) |
||
Line 1: | Line 1: | ||
+ | {{high-risk|228000+}} | ||
+ | {{Module rating|protected}} | ||
+ | |||
This module produces a link to a main article or articles. It implements the {{tl|main}} template. Normally, it produces a link like "Main article: A". If used in the [[Help:Category|category]] namespace, it produces a link like "The main article for this category is A". It is possible to specify multiple articles, and in this case plural wording is used automatically. If the first link is not an article, the module uses the wording "Main page" instead of "Main article". | This module produces a link to a main article or articles. It implements the {{tl|main}} template. Normally, it produces a link like "Main article: A". If used in the [[Help:Category|category]] namespace, it produces a link like "The main article for this category is A". It is possible to specify multiple articles, and in this case plural wording is used automatically. If the first link is not an article, the module uses the wording "Main page" instead of "Main article". | ||
== Usage from wikitext == | == Usage from wikitext == | ||
− | |||
This module cannot be accessed directly from #invoke. Instead, it can only be used through the {{tl|main}} template. Please see the template page for documentation. | This module cannot be accessed directly from #invoke. Instead, it can only be used through the {{tl|main}} template. Please see the template page for documentation. | ||
== Usage from other Lua modules == | == Usage from other Lua modules == | ||
− | |||
Load the module: | Load the module: | ||
− | < | + | <syntaxhighlight lang="lua"> |
local mMain = require('Module:Main') | local mMain = require('Module:Main') | ||
− | </ | + | </syntaxhighlight> |
You can then use the _main function like this: | You can then use the _main function like this: | ||
− | < | + | <syntaxhighlight lang="lua"> |
− | mMain._main(options | + | mMain._main(args, options) |
− | </ | + | </syntaxhighlight> |
− | The | + | The <var>args</var> parameter following <var>options</var> are a list of page link strings; if they use custom display values, each string should be preprocessed into a single piped string (e.g. <code><nowiki>page|display value</nowiki></code>). Category or file links are automatically escaped using the [[Help:Colon trick|colon trick]]. If a link includes a section name, and no display value is set, links are automatically formatted as ''page § section'', rather than the MediaWiki default of ''page#section''. |
− | The <var>options</var> table can be used to configure the function's output. At | + | The optional <var>options</var> table can be used to configure the function's output. At present, the only option available is "selfref", which is used when the output is a self-reference to Wikipedia. to set this option, use {{code|1={selfref = true}|2=lua}}. (See the {{tl|selfref}} template for more details on self-references.) |
+ | |||
+ | === Example 1 === | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | mMain._main({'A'}) | ||
+ | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
Produces: | Produces: | ||
− | + | ||
+ | <code><nowiki><div role="note" class="hatnote navigation-not-searchable">Main article: [[A]]</div></nowiki></code> | ||
+ | |||
Displays as: | Displays as: | ||
+ | |||
{{main|A}} | {{main|A}} | ||
− | + | === Example 2 === | |
− | < | + | <syntaxhighlight lang="lua"> |
− | mMain._main( | + | mMain._main({'Wikipedia:Categorization', 'Help:Category', 'Category:Wikipedia categories'}) |
− | </ | + | </syntaxhighlight> |
+ | |||
Produces: | Produces: | ||
− | + | ||
+ | <code><nowiki><div role="note" class="hatnote navigation-not-searchable">Main pages: [[Wikipedia:Categorization]], [[Help:Category]] and [[:Category:Wikipedia categories]]</div></nowiki></code> | ||
+ | |||
Displays as: | Displays as: | ||
+ | |||
{{main|Wikipedia:Categorization|Help:Category|Category:Wikipedia categories}} | {{main|Wikipedia:Categorization|Help:Category|Category:Wikipedia categories}} | ||
− | + | === Example 3 === | |
− | < | + | <syntaxhighlight lang="lua"> |
− | mMain._main( | + | mMain._main({'A|the letter "A"', 'B|the letter "B"', 'C|the letter "C"'}) |
− | </ | + | </syntaxhighlight> |
+ | |||
Produces: | Produces: | ||
− | + | ||
+ | <code><nowiki><div role="note" class="hatnote navigation-not-searchable">Main articles: [[A|the letter "A"]], [[B|the letter "B"]] and [[C|the letter "C"]]</div></nowiki></code> | ||
+ | |||
Displays as: | Displays as: | ||
+ | |||
{{main|A|B|C|l1=the letter "A"|l2=the letter "B"|l3=the letter "C"}} | {{main|A|B|C|l1=the letter "A"|l2=the letter "B"|l3=the letter "C"}} | ||
− | + | === Example 4 === | |
− | < | + | <syntaxhighlight lang="lua"> |
− | mMain._main( | + | mMain._main({'Wikipedia:Verifiability#Burden'}, {selfref = true}) |
− | </ | + | </syntaxhighlight> |
+ | |||
Produces: | Produces: | ||
− | + | ||
+ | <code><nowiki><div role="note" class="hatnote navigation-not-searchable selfref">Main article: [[Wikipedia:Verifiability#Burden|Wikipedia:Verifiability § Burden]]</div></nowiki></code> | ||
+ | |||
Displays as: | Displays as: | ||
+ | |||
{{main|Wikipedia:Verifiability#Burden|selfref=true}} | {{main|Wikipedia:Verifiability#Burden|selfref=true}} | ||
− | + | === Example 5 (if used in the category namespace) === | |
− | < | + | <syntaxhighlight lang="lua"> |
− | mMain._main( | + | mMain._main({'A'}) |
− | </ | + | </syntaxhighlight> |
+ | |||
Produces: | Produces: | ||
− | + | ||
+ | <code><nowiki><div role="note" class="hatnote navigation-not-searchable">The main article for this [[Wikipedia:Categorization|category]] is [[A]]</div></nowiki></code> | ||
+ | |||
Displays as: | Displays as: | ||
− | <div class="hatnote | + | |
+ | <div role="note" class="hatnote navigation-not-searchable">The main article for this [[Wikipedia:Categorization|category]] is [[A]]</div> | ||
== Technical details == | == Technical details == | ||
− | + | This module uses [[Module:Hatnote]] to format the hatnote text, [[Module:Hatnote list]] to process the list of links, and [[Module:Arguments]] to fetch the arguments from wikitext. | |
− | This module uses [[Module:Hatnote]] to format the hatnote text, [[Module: | ||
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox|| | <includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox|| | ||
<!-- Categories go here and interwikis go in Wikidata. --> | <!-- Categories go here and interwikis go in Wikidata. --> | ||
− | + | [[Category:Hatnote modules]] | |
}}</includeonly> | }}</includeonly> |
Revision as of 15:21, 7 July 2020
![]() | This Lua module is used on 290,000+ pages. To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them. Transclusion count updated automatically (see documentation). |
![]() | This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
This module produces a link to a main article or articles. It implements the {{main}} template. Normally, it produces a link like "Main article: A". If used in the category namespace, it produces a link like "The main article for this category is A". It is possible to specify multiple articles, and in this case plural wording is used automatically. If the first link is not an article, the module uses the wording "Main page" instead of "Main article".
Contents
Usage from wikitext
This module cannot be accessed directly from #invoke. Instead, it can only be used through the {{main}} template. Please see the template page for documentation.
Usage from other Lua modules
Load the module:
<syntaxhighlight lang="lua"> local mMain = require('Module:Main') </syntaxhighlight>
You can then use the _main function like this:
<syntaxhighlight lang="lua"> mMain._main(args, options) </syntaxhighlight>
The args parameter following options are a list of page link strings; if they use custom display values, each string should be preprocessed into a single piped string (e.g. page|display value
). Category or file links are automatically escaped using the colon trick. If a link includes a section name, and no display value is set, links are automatically formatted as page § section, rather than the MediaWiki default of page#section.
The optional options table can be used to configure the function's output. At present, the only option available is "selfref", which is used when the output is a self-reference to Wikipedia. to set this option, use <syntaxhighlight lang="lua" class="" id="" style="" inline="1">{selfref = true}</syntaxhighlight>. (See the {{selfref}} template for more details on self-references.)
Example 1
<syntaxhighlight lang="lua"> mMain._main({'A'}) </syntaxhighlight>
Produces:
<div role="note" class="hatnote navigation-not-searchable">Main article: [[A]]</div>
Displays as:
Example 2
<syntaxhighlight lang="lua"> mMain._main({'Wikipedia:Categorization', 'Help:Category', 'Category:Wikipedia categories'}) </syntaxhighlight>
Produces:
<div role="note" class="hatnote navigation-not-searchable">Main pages: [[Wikipedia:Categorization]], [[Help:Category]] and [[:Category:Wikipedia categories]]</div>
Displays as:
Example 3
<syntaxhighlight lang="lua"> mMain._main({'A|the letter "A"', 'B|the letter "B"', 'C|the letter "C"'}) </syntaxhighlight>
Produces:
<div role="note" class="hatnote navigation-not-searchable">Main articles: [[A|the letter "A"]], [[B|the letter "B"]] and [[C|the letter "C"]]</div>
Displays as:
Example 4
<syntaxhighlight lang="lua"> mMain._main({'Wikipedia:Verifiability#Burden'}, {selfref = true}) </syntaxhighlight>
Produces:
<div role="note" class="hatnote navigation-not-searchable selfref">Main article: [[Wikipedia:Verifiability#Burden|Wikipedia:Verifiability § Burden]]</div>
Displays as:
Example 5 (if used in the category namespace)
<syntaxhighlight lang="lua"> mMain._main({'A'}) </syntaxhighlight>
Produces:
<div role="note" class="hatnote navigation-not-searchable">The main article for this [[Wikipedia:Categorization|category]] is [[A]]</div>
Displays as:
Technical details
This module uses Module:Hatnote to format the hatnote text, Module:Hatnote list to process the list of links, and Module:Arguments to fetch the arguments from wikitext.