Editing Module:Main/doc

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
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">
+
<source lang="lua">
 
local mMain = require('Module:Main')
 
local mMain = require('Module:Main')
</syntaxhighlight>
+
</source>
  
 
You can then use the _main function like this:
 
You can then use the _main function like this:
  
<syntaxhighlight lang="lua">
+
<source lang="lua">
mMain._main(args, options)
+
mMain._main(options, ...)
</syntaxhighlight>
+
</source>
  
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 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 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.)
+
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 ===
 
<syntaxhighlight lang="lua">
 
mMain._main({'A'})
 
</syntaxhighlight>
 
  
 +
; Example 1
 +
<source lang="lua">
 +
mMain._main(nil, {'A'})
 +
</source>
 
Produces:
 
Produces:
 
+
:<code><nowiki><div class="hatnote relarticle mainarticle">Main article: [[A]]</div></nowiki></code>
<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 ===
+
; Example 2
<syntaxhighlight lang="lua">
+
<source lang="lua">
mMain._main({'Wikipedia:Categorization', 'Help:Category', 'Category:Wikipedia categories'})
+
mMain._main(nil, {'Wikipedia:Categorization'}, {'Help:Category'}, {'Category:Wikipedia categories'})
</syntaxhighlight>
+
</source>
 
 
 
Produces:
 
Produces:
 
+
:<code><nowiki><div class="hatnote relarticle mainarticle">Main pages: [[Wikipedia:Categorization]], [[Help:Category]] and [[:Category:Wikipedia categories]]</div></nowiki></code>
<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 ===
+
; Example 3
<syntaxhighlight 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"'})
</syntaxhighlight>
+
</source>
 
 
 
Produces:
 
Produces:
 
+
:<code><nowiki><div class="hatnote relarticle mainarticle">Main articles: [[A|the letter "A"]], [[B|the letter "B"]] and [[C|the letter "C"]]</div></nowiki></code>
<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 ===
+
; Example 4
<syntaxhighlight lang="lua">
+
<source lang="lua">
mMain._main({'Wikipedia:Verifiability#Burden'}, {selfref = true})
+
mMain._main({selfref = true}, {'Wikipedia:Verifiability#Burden'})
</syntaxhighlight>
+
</source>
 
 
 
Produces:
 
Produces:
 
+
:<code><nowiki><div class="hatnote relarticle mainarticle selfref">Main article: [[Wikipedia:Verifiability#Burden|Wikipedia:Verifiability § Burden]]</div></nowiki></code>
<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) ===
+
; Example 5 (if used in the category namespace)
<syntaxhighlight lang="lua">
+
<source lang="lua">
mMain._main({'A'})
+
mMain._main(nil, {'A'})
</syntaxhighlight>
+
</source>
 
 
 
Produces:
 
Produces:
 
+
:<code><nowiki><div class="hatnote relarticle mainarticle">The main article for this [[Wikipedia:Categorization|category]] is [[A]]</div></nowiki></code>
<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 relarticle mainarticle">The main article for this [[Wikipedia:Categorization|category]] is [[A]]</div>
  
<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:TableTools]] 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:Hatnote list]] to process the list of links, and [[Module:Arguments]] to fetch the arguments from wikitext.
 
  
 
<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>

Please note that all contributions to All About Ayrshire may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see All About Ayrshire:Copyrights for details). Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)

Templates used on this page: