Difference between revisions of "Template:Documentation"

From Terminals
Jump to: navigation, search
(always pass _content (to save double expansion cost))
m
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}<noinclude>
+
<!--
<!-- Categories go on the /doc subpage, and interwikis go on Wikidata. -->
+
  Automatically add {{template sandbox notice}} when on a /sandbox page.
 +
-->{{#ifeq: {{SUBPAGENAME}} | sandbox
 +
| <div style="clear: both;"></div>{{template sandbox notice|{{{livepage|}}}}}
 +
}}<!--
 +
  Automatically add {{pp-template}} to protected templates.
 +
-->{{template other
 +
| {{#ifeq: {{PROTECTIONLEVEL:move}} | sysop
 +
  | {{pp-template|docusage=yes}}
 +
  | {{#if: {{PROTECTIONLEVEL:edit}}
 +
    | {{pp-template|docusage=yes}}
 +
    | <!--Not protected, or only semi-move-protected-->
 +
    }}
 +
  }}
 +
}}<!--
 +
  Start of green doc box.
 +
-->{{documentation/start box2
 +
| preload = {{{preload|}}}  <!--Allow custom preloads-->
 +
| heading = {{{heading|¬}}}  <!--Empty but defined means no header-->
 +
| heading-style = {{{heading-style|}}}
 +
| content = {{{content|}}}
 +
 
 +
<!--Some namespaces must have the /doc, /sandbox and /testcases
 +
    in talk space-->
 +
| docspace = {{documentation/docspace}}
 +
 
 +
| 1 = {{{1|}}}  <!--Other docname, if fed-->
 +
 
 +
<!--The namespace is added in /start box2-->
 +
| template page = {{documentation/template page}}
 +
 
 +
}}<!-- Start content --><!--
 +
  Start load the /doc content:
 +
  Note: The line breaks between this comment and the next line are necessary
 +
  so  "=== Headings ===" at the start and end of docs are interpreted.
 +
-->
 +
{{#switch: {{#if:{{{content|}}}|1|0}}{{#if:{{{1|}}}|1|0}}{{#ifexist:{{{1|}}}|1|0}}{{#ifexist:{{documentation/docspace}}:{{documentation/template page}}/doc|1|0}}
 +
| 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110
 +
| 1111 = {{{content|}}}
 +
| 0110 | 0111 = {{ {{{1}}} }}
 +
| 0001 | 0011 = {{ {{documentation/docspace}}:{{documentation/template page}}/doc }}
 +
| 0000 | 0100 | 0010 | 0101 =
 +
}}
 +
<!--
 +
  End load the /doc content:
 +
  Note: The line breaks between this comment and the previous line are necessary
 +
  so  "=== Headings ===" at the start and end of docs are interpreted.
 +
-->{{documentation/end box2
 +
| preload = {{{preload|}}}   <!--Allow custom preloads-->
 +
| content = {{{content|}}}
 +
| link box = {{{link box|}}}   <!--So "link box=off" works-->
 +
 
 +
<!--Some namespaces must have the /doc, /sandbox and /testcases
 +
    in talk space-->
 +
| docspace = {{documentation/docspace}}
 +
 
 +
| 1 = {{{1|}}}  <!--Other docname, if fed-->
 +
 
 +
<!--The namespace is added in /end box2-->
 +
| template page = {{documentation/template page}}
 +
 
 +
}}<!--
 +
  End of green doc box
 +
--><noinclude>
 +
 
 +
<!-- Add categories and interwikis to the /doc subpage, not here! -->
 
</noinclude>
 
</noinclude>

Latest revision as of 00:29, 23 June 2014

[edit] [history] [purge] Documentation icon Template documentation

This template automatically displays a documentation box like you are seeing now, of which the content is transcluded from another page. It is intended for pages which are transcluded in other pages, i.e. templates, whether in the template namespace or not.

Usage

Normal

<noinclude>{{documentation}}<noinclude>
or <noinclude>{{documentation|template:any page/doc}}<noinclude>

This code should be added at the bottom of the template code, with no extra space before "<noinclude>" (which would cause extra space on pages where the template is used). The parameter can be used as shown above to transclude an arbitrary documentation page.

Add categories and interwiki links to the documentation page inside includeonly tags.

If the documentation page contains includeonly or noinclude tags as part of the documentation, replace the "<" with "&lt;".

Customizing display

Overrides exist to customize the output in special cases:

  • {{documentation|heading=}}: change the text of the "documentation" heading. If this is set to blank, the entire heading line (including the first [edit] link) will also disappear.

Functions

If the documentation page doesn't exist, the "edit" link includes a preload parameter so that clicking it will pre-fill the edit form with the basic documentation page format.

Rationale

This template allows any page to use any documentation page, and makes it possible to protect templates while allowing anyone to edit the template's documentation, categories, and interwiki links. It also reduces server resources by circumventing a technical limitation of templates (see a developer's explanation).

See also

Template:Languages