Difference between revisions of "Module:Main/doc"

From blackwiki
Jump to navigation Jump to search
test>Pppery
(Undid revision 876242274 by Pppery (talk) How ironic that I tried to withdraw a nomination because I made it too quickly -- to quickly. In any case, tfd was withdrawn)
test>WOSlinker
m (change source to syntaxhighlight)
Line 10: Line 10:
 
Load the module:
 
Load the module:
  
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
local mMain = require('Module:Main')
 
local mMain = require('Module:Main')
</source>
+
</syntaxhighlight>
  
 
You can then use the _main function like this:
 
You can then use the _main function like this:
  
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
mMain._main(args, options)
 
mMain._main(args, options)
</source>
+
</syntaxhighlight>
  
 
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>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''.
Line 25: Line 25:
  
 
=== Example 1 ===
 
=== Example 1 ===
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
mMain._main({'A'})
 
mMain._main({'A'})
</source>
+
</syntaxhighlight>
  
 
Produces:
 
Produces:
Line 38: Line 38:
  
 
=== Example 2 ===
 
=== Example 2 ===
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
mMain._main({'Wikipedia:Categorization', 'Help:Category', 'Category:Wikipedia categories'})
 
mMain._main({'Wikipedia:Categorization', 'Help:Category', 'Category:Wikipedia categories'})
</source>
+
</syntaxhighlight>
  
 
Produces:
 
Produces:
Line 51: Line 51:
  
 
=== Example 3 ===
 
=== Example 3 ===
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
mMain._main({'A|the letter "A"', 'B|the letter "B"', 'C|the letter "C"'})
 
mMain._main({'A|the letter "A"', 'B|the letter "B"', 'C|the letter "C"'})
</source>
+
</syntaxhighlight>
  
 
Produces:
 
Produces:
Line 64: Line 64:
  
 
=== Example 4 ===
 
=== Example 4 ===
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
mMain._main({'Wikipedia:Verifiability#Burden'}, {selfref = true})
 
mMain._main({'Wikipedia:Verifiability#Burden'}, {selfref = true})
</source>
+
</syntaxhighlight>
  
 
Produces:
 
Produces:
Line 77: Line 77:
  
 
=== Example 5 (if used in the category namespace) ===
 
=== Example 5 (if used in the category namespace) ===
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
mMain._main({'A'})
 
mMain._main({'A'})
</source>
+
</syntaxhighlight>
  
 
Produces:
 
Produces:

Revision as of 13:21, 7 July 2020

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 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:

local mMain = require('Module:Main')

You can then use the _main function like this:

mMain._main(args, options)

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 {selfref = true}. (See the {{selfref}} template for more details on self-references.)

Example 1

mMain._main({'A'})

Produces:

<div role="note" class="hatnote navigation-not-searchable">Main article: [[A]]</div>

Displays as:

Example 2

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

Produces:

<div role="note" class="hatnote navigation-not-searchable">Main pages: [[Wikipedia:Categorization]], [[Help:Category]] and [[:Category:Wikipedia categories]]</div>

Displays as:

Example 3

mMain._main({'A|the letter "A"', 'B|the letter "B"', 'C|the letter "C"'})

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

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

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)

mMain._main({'A'})

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.