Template:Dochead/doc: Difference between revisions

Ganaram inukshuk (talk | contribs)
todo
Ganaram inukshuk (talk | contribs)
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{ {{ROOTPAGENAME}} }}
{{dochead}}
This template automatically categorizes documentation by namespace, which eliminates the need to do this manually. Currently, it is configured to place modules and their documentation inside their respective categories ([[:Category: Lua modules]] and [[:Category: Module documentation]]).
{{template rating|rating=ready|details=Recently rewritten. When used on a template's doc page, it automatically finds and links to the Lua modules it uses.; If used on a module's /doc page, it links to its corresponding template, if applicable.
 
This template replaces [[Template:Lua]]'s use on template documentation.}}
This template automatically categorizes documentation by namespace, which eliminates the need to do this manually. Currently, it is configured to place templates, modules, and their documentation inside their respective categories:
 
* [[:Category:Templates]]
* [[:Category:Lua modules]]
* [[:Category:Template documentation]]
* [[:Category:Module documentation]]


=== Usage ===
=== Usage ===
This template is invoked by placing <code><nowiki>{{dochead}}</nowiki></code> at the top of a module or template's <code>/doc</code> subpage.
This template is invoked by placing <code><nowiki>{{dochead}}</nowiki></code> at the top of a module or template's <code>/doc</code> subpage. Default messages can be displayed, depending on that module or template's use:
 
On modules, unless <code>header=none</code> is passed, a header will appear to inform users that modules should be called via templates instead of being invoked directly:


<blockquote>'''Note:''' Do not invoke this module directly; use the corresponding template instead: [[mw:Help:Magic words #Page names|Template: <nowiki>{{ROOTPAGENAME}}</nowiki>]].</blockquote>
<code>metatemplate</code> (templates only)
: <span style{{=}}"margin-bottom: 0.5em;">'''Note:''' This template is used to build other templates and should not be used standalone except for testing and simple usage.</span>
<code>metamodule</code> (modules only)
: <span style{{=}}"margin-bottom: 0.5em;">'''Note:''' This module primarily provides functionality for other Lua modules and cannot be invoked by templates.</span>
<code>dualuse</code> (modules only)
: <span style{{=}}"margin-bottom: 0.5em;">'''Note:''' This module may be invoked by templates by using its corresponding template, or used directly from other modules.</span>
<code>noinvoke</code> (default for modules only)
: <span style{{=}}"margin-bottom: 0.5em;">'''Note:''' This module should not be invoked directly; use its corresponding template instead.</span>


where <code>ROOTPAGENAME</code> is a [[mw:Help:Magic words|"magic word"]] that returns the name of the page without the namespace or subpages. This way, the link in the header will attempt to point to a template with the same name as the module, since this is mostly the case. If the template which calls the module has a different name, pass in <code>temp=</code> followed by the name of the template.  
When used on modules, this template will attempt to link to its corresponding template of the same name. If the template and module names differ, it can be passed in using <code>temp=Template name goes here</code>.


You can also directly specify the header using the <code>header</code> parameter.  
In either case, passing in <code>header=none</code> results in no message being displayed. A custom message may also be passed in.


=== See also ===
=== See also ===
* [[Template: Documentation]] – inserts a documentation section onto a template or module.
* [[Template: Documentation]] – inserts a documentation section onto a template or module.
* [[Template: Doc head Wikipedia]] – similar template, used mainly for templates borrowed from Wikipedia.
* [[Template: Doc head Wikipedia]] – similar template, used mainly for templates borrowed from Wikipedia.
{{todo|update documentation|inline=1|text=Dochead should now be able support categories on both templates and modules. Now contains new default messages that came up a lot that the single "use this module's corresponding template" message cannot capture.}}