Difference between revisions of "Module:Main/doc"

From blackwiki
Jump to navigation Jump to search
test>Mr. Stradivarius
(create)
 
test>Mr. Stradivarius
(update)
Line 16: Line 16:
  
 
<source lang="lua">
 
<source lang="lua">
mMain._main(...)
+
mMain._main(options, ...)
 
</source>
 
</source>
  
The parameters are a list of link/display tables, used to generate the links. The first value in each table is the link, and is required. The second value in each table is the display value, and is optional. 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 parameters following <var>options</var> are a list of link/display tables, used to generate the links. The first value in each table is the link, and is required. The second value in each table is the display value, and is optional. 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 current, 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
 
; Example 1
 
<source lang="lua">
 
<source lang="lua">
mMain._main({'A'})
+
mMain._main(nil, {'A'})
 
</source>
 
</source>
 
Produces:
 
Produces:
Line 32: Line 34:
 
; Example 2
 
; Example 2
 
<source lang="lua">
 
<source lang="lua">
mMain._main({'Wikipedia:Categorization'}, {'Help:Category'}, {'Category:Wikipedia categories'})
+
mMain._main(nil, {'Wikipedia:Categorization'}, {'Help:Category'}, {'Category:Wikipedia categories'})
 
</source>
 
</source>
 
Produces:
 
Produces:
Line 43: Line 45:
 
; Example 3
 
; Example 3
 
<source lang="lua">
 
<source lang="lua">
mMain._main({'A', 'the letter "A"'}, {'B', 'the letter "B"'}, {'C', 'the letter "C"'})
+
mMain._main(nil, {'A', 'the letter "A"'}, {'B', 'the letter "B"'}, {'C', 'the letter "C"'})
 
</source>
 
</source>
 
Produces:
 
Produces:
Line 52: Line 54:
 
; Example 4
 
; Example 4
 
<source lang="lua">
 
<source lang="lua">
mMain._main({'A#Use in English'})
+
mMain._main({selfref = true}, {'Wikipedia:Verifiability#Burden'})
 
</source>
 
</source>
 
Produces:
 
Produces:
:<code><nowiki><div class="rellink relarticle mainarticle">Main article: [[A#Use in English|A § Use in English]]</div></nowiki></code>
+
:<code><nowiki><div class="rellink relarticle mainarticle selfref">Main article: [[Wikipedia:Verifiability#Burden|Wikipedia:Verifiability § Burden]]</div></nowiki></code>
 
Displays as:
 
Displays as:
{{main|A#Use in English}}
+
{{main|Wikipedia:Verifiability#Burden|selfref=true}}
  
 
; Example 5 (if used in the category namespace)
 
; Example 5 (if used in the category namespace)
 
<source lang="lua">
 
<source lang="lua">
mMain._main({'A'})
+
mMain._main(nil, {'A'})
 
</source>
 
</source>
 
Produces:
 
Produces:

Revision as of 17:01, 2 May 2014

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".

Usage from wikitext

This module cannot be used 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:

local mMain = require('Module:Main')

You can then use the _main function like this:

mMain._main(options, ...)

The parameters following options are a list of link/display tables, used to generate the links. The first value in each table is the link, and is required. The second value in each table is the display value, and is optional. 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 options table can be used to configure the function's output. At current, the only option available is "selfref", which is used when the output is a self-reference to Wikipedia. to set this option, use {selfref = true}. (See the {{selfref}} template for more details on self-references.)

Example 1
mMain._main(nil, {'A'})

Produces:

<div class="rellink relarticle mainarticle">Main article: [[A]]</div>

Displays as:

Example 2
mMain._main(nil, {'Wikipedia:Categorization'}, {'Help:Category'}, {'Category:Wikipedia categories'})

Produces:

<div class="rellink relarticle mainarticle">Main pages: [[Wikipedia:Categorization]], [[Help:Category]] and [[:Category:Wikipedia categories]]</div>

Displays as:

Example 3
mMain._main(nil, {'A', 'the letter "A"'}, {'B', 'the letter "B"'}, {'C', 'the letter "C"'})

Produces:

<div class="rellink relarticle mainarticle">Main articles: [[A|the letter "A"]], [[B|the letter "B"]] and [[C|the letter "C"]]</div>

Displays as:

Example 4
mMain._main({selfref = true}, {'Wikipedia:Verifiability#Burden'})

Produces:

<div class="rellink relarticle mainarticle selfref">Main article: [[Wikipedia:Verifiability#Burden|Wikipedia:Verifiability § Burden]]</div>

Displays as:

Example 5 (if used in the category namespace)
mMain._main(nil, {'A'})

Produces:

<div class="rellink relarticle mainarticle">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:TableTools to process the list of links, and Module:Arguments to fetch the arguments from wikitext.