Module:Hatnote/doc: Difference between revisions

Content deleted Content added
m change source to syntaxhighlight
No edit summary
 
(9 intermediate revisions by 8 users not shown)
Line 1:
{{high-risk|1316323+}}
{{used in system|in [[MediaWiki:Wantedpages-summary]]}}
{{module rating|protected}}
{{Lua|Module:Yesno|Module:Arguments|Module:Format link}}
 
{{Uses TemplateStyles|Module:Hatnote/styles.css}}
This is a meta-module that provides various functions for making [[Wikipedia:Hatnote|hatnotes]]. It implements the {{tl|hatnote}} template, for use in hatnotes at the top of pages, and the {{tl|format link}} template, which is used to format a wikilink for use in hatnotes. It also contains a number of helper functions for use in other Lua hatnote modules.
 
== Use from wikitext ==
Line 28:
* <var>options.extraclasses</var> - a string of extra classes to provide
* <var>options.selfref</var> - if this is not nil or false, adds the class "selfref", used to denote self-references to Wikipedia (see [[Template:Selfref]]))
The CSS of the hatnote class is defined in [[MediaWikiModule:CommonHatnote/styles.css]].
 
; Example 1
Line 53:
Displayed as:
{{hatnote|This is a hatnote.|extraclasses=boilerplate seealso|selfref=true}}
 
=== Format link ===
 
<syntaxhighlight lang="lua">
mHatnote._formatLink{link = link, display = display, italicizePage = true, italicizeSection = true}
</syntaxhighlight>
 
Formats <var>link</var> as a wikilink for display in hatnote templates, with optional display value <var>display</var>. Categories and files are automatically escaped with the [[Help:Colon trick|colon trick]], and links to sections are automatically formatted as ''page § section'', rather than the MediaWiki default of ''page#section''.
 
If <var>italicizePage</var> is true then the page portion of the link is italicized, and if <var>italicizePage</var> is true then the section portion of the link is italicized.
 
;Examples:
: <syntaxhighlight lang="lua" inline>mHatnote._formatLink{link = 'Lion'}</syntaxhighlight> &rarr; <nowiki>[[Lion]]</nowiki> &rarr; {{format hatnote link|Lion}}
: <syntaxhighlight lang="lua" inline>mHatnote._formatLink{link = 'Lion#Etymology'}</syntaxhighlight> &rarr; <nowiki>[[Lion#Etymology|Lion §&amp;nbsp;Etymology]]</nowiki> &rarr; {{format hatnote link|Lion#Etymology}}
: <syntaxhighlight lang="lua" inline>mHatnote._formatLink{link = 'Category:Lions'}</syntaxhighlight> &rarr; <nowiki>[[:Category:Lions]]</nowiki> &rarr; {{format hatnote link|Category:Lions}}
: <syntaxhighlight lang="lua" inline>mHatnote._formatLink{link = 'Lion#Etymology', display = 'Etymology of lion'}</syntaxhighlight> &rarr; <nowiki>[[Lion#Etymology|Etymology of lion]]</nowiki> &rarr; {{format hatnote link|Lion#Etymology|Etymology of lion}}
: <syntaxhighlight lang="lua" inline>mHatnote._formatLink{link = 'Quo warranto#Philippines', italicizePage = true}</syntaxhighlight> &rarr; <nowiki>[[Quo warranto#Philippines|<i>Quo warranto</i> §&amp;nbsp;Philippines]]</nowiki> &rarr; {{format hatnote link|Quo warranto#Philippines|italicizepage=true}}
: <syntaxhighlight lang="lua" inline>mHatnote._formatLink{link = 'Cybercrime Prevention Act of 2012#Disini v. Secretary of Justice', italicizeSection = true}</syntaxhighlight> &rarr; <nowiki>[[Cybercrime Prevention Act of 2012#Disini v. Secretary of Justice|Cybercrime Prevention Act of 2012 §&amp;nbsp;<i>Disini v. Secretary of Justice</i>]]</nowiki> &rarr; {{format hatnote link|Cybercrime Prevention Act of 2012#Disini v. Secretary of Justice|italicizesection=true}}
 
=== Format pages ===
 
<syntaxhighlight lang="lua">
mHatnote.formatPages(...)
</syntaxhighlight>
 
Formats a list of pages using the [[#Format link|_formatLink]] function, and returns the result as an array. For example, the code {{code|mHatnote.formatPages('Lion', 'Category:Lions', 'Lion#Etymology')|lua}} would produce an array like {{code|{'[[Lion]]', '[[:Category:Lions]]', '[[Lion#Etymology|Lion § Etymology]]'}|lua}}.
 
=== Format page tables ===
 
<syntaxhighlight lang="lua">
mHatnote.formatPageTables(...)
</syntaxhighlight>
 
Takes a list of page/display tables, formats them with the [[#Format link|_formatLink]] function, and returns the result as an array. Each item in the list must be a table. The first value in the table is the link, and is required. The second value in the table is the display value, and is optional. For example, the code {{code|mHatnote.formatPages({'Lion', 'the Lion article'}, {'Category:Lions'}, {'Lion#Etymology', 'the etymology of lion'})|lua}} would produce an array like {{code|{'[[Lion|the Lion article]]', '[[:Category:Lions]]', '[[Lion#Etymology|the etymology of lion]]'}|lua}}.
 
=== Find namespace id ===
Line 116 ⟶ 82:
== Examples ==
 
For an example of how this module is used in other Lua modules, see [[Module:MainLabelled list hatnote]]
<includeonly>{{Sandbox other||
<!-- Categories go here and interwikis go in Wikidata. -->
Line 122 ⟶ 88:
[[Category:Modules that add a tracking category]]
 
}}</includeonly><noinclude>
[[Category:Module documentation pages]]
</noinclude>