Difference between revisions of "Template:Documentation"

From Kumu Wiki - TRU
Jump to navigation Jump to search
m (Changed protection level of Template:Documentation: Allowing Protected Template editors ([Edit=Protected template] (indefinite) [Move=Protected template] (indefinite)))
m (1 revision)
Line 1: Line 1:
<!--
+
<div class="template-documentation"><!--
  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
+
These are the literal class definitions in common.css:
     in talk space-->
+
| docspace = {{documentation/docspace}}
+
/* For template documentation */
 +
.template-documentation {
 +
    clear: both;
 +
    margin: 1em 0 0 0;
 +
    border: 1px solid #aaa;
 +
     background-color: #ecfcf4;
 +
    padding: 5px;
 +
}
  
| 1 = {{{1|}}}  <!--Other docname, if fed-->
 
  
<!--The namespace is added in /start box2-->
+
-->{{#ifeq:{{{heading|μ}}}|<!--**DEFINED BUT EMPTY**-->
| template page = {{documentation/template page}}
+
  |<!--**NOTHING**-->
 +
  |<div style="padding-bottom:3px; border-bottom: 1px solid #aaa; margin-bottom:1ex">{{#ifeq:{{{content|μ}}}|μ
 +
  |<span class="editsection plainlinks" id="doc_editlinks">{{#ifexist: {{{1|{{Documentation/docname}}}}}
 +
    |<!--**    /doc EXISTS**  -->[[{{fullurl:{{{1|{{Documentation/docname}}}}}|action=edit}} edit]]
 +
    |<!--**/doc DOESN'T EXIST**-->[[{{fullurl:{{{1|{{Documentation/docname }}}}}|action=edit&preload=Template:Documentation/preload}} create]]
 +
  }}</span>
 +
  }} <span style="{{#if:{{{heading-style|}}}|{{{heading-style}}}|{{#ifeq:{{NAMESPACE}}|{{ns:template}}|font-weight: bold; font-size: 125%|font-size: 150%}}}}">{{#if:{{{heading|}}}|{{{heading}}}|{{#ifeq:{{NAMESPACE}}|{{ns:template}}|[[Image:Template-info.svg|50px]] Template documentation|Documentation}}}}</span></div>
 +
}}<!--
  
}}<!-- Start content --><!--
+
--><div id="template_doc_page_transcluded" class="dablink plainlinks"><!--
   Start load the /doc content:
+
   -->{{#ifexist: {{{1|{{Documentation/docname}}}}}
  Note: The line breaks between this comment and the next line are necessary
+
  |<!--**/doc EXISTS**-->This [[Wikipedia:Template documentation|documentation]] is [[Wikipedia:Transclusion|transcluded]] from [[{{{1|{{Documentation/docname}}}}}]]. <small style="font-style: normal">([{{fullurl:{{{1|{{Documentation/docname}}}}}|action=edit}} edit] &#124; [{{fullurl:{{{1|{{Documentation/docname}}}}}|action=history}} history])</small><br />
  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
+
-->{{#switch: {{SUBPAGENAME}}
    in talk space-->
+
  |sandbox|testcases=<!--**DO NOT SHOW THESE LINKS ON THE SANDBOX/TESTCASES PAGES**-->
| docspace = {{documentation/docspace}}
+
  |#default=
 
+
    {{#switch: {{SUBJECTSPACE}}
| 1 = {{{1|}}}   <!--Other docname, if fed-->
+
    |{{ns:template}}
 
+
    |{{ns:user}}=
<!--The namespace is added in /end box2-->
+
      {{#ifexist: {{FULLPAGENAME}}/sandbox
| template page = {{documentation/template page}}
+
      |This template has a [[/sandbox|sandbox]] <small style="font-style: normal">([{{fullurl:{{ #rel2abs: /sandbox }}|action=edit}} edit])</small> <!--
 
+
        -->{{#ifexist: {{FULLPAGENAME}}/testcases
}}<!--
+
        |and [[/testcases|testcases]] <small style="font-style: normal">([{{fullurl:{{ #rel2abs: /testcases }}|action=edit}} edit])</small>}} for editors to experiment.
  End of green doc box
+
      |{{#ifexist: {{FULLPAGENAME}}/testcases
--><noinclude>
+
        |This template has [[/testcases|testcases]] <small style="font-style: normal">([{{fullurl:{{ #rel2abs: /testcases }}|action=edit}} edit])</small> for editors to experiment.}}
 +
}}}}}}
 +
</div>
 +
{{#if:{{{content|}}}|{{{content}}}|{{#ifexist:{{{1|{{Documentation/docname}}}}} | {{ {{{1|{{Documentation/docname}}}}} }} }}}}
 +
<div style="clear: both;"></div>
 +
</div><noinclude>
  
 +
{{pp-template|small=yes}}
 
<!-- Add categories and interwikis to the /doc subpage, not here! -->
 
<!-- Add categories and interwikis to the /doc subpage, not here! -->
 
</noinclude>
 
</noinclude>

Revision as of 11:51, 23 October 2013

[edit] Template-info.svg 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 /doc

<noinclude>{{Documentation}}</noinclude>

Any /doc page

<noinclude>{{Documentation|Template:any page/doc}}</noinclude>

In-line content

<noinclude>{{Documentation|content=This is documentation.}}</noinclude>

In-line content with [view][edit] links

<noinclude>{{Documentation
|1 = Template:any page/doc
|content ={{Template:any page/doc|parameters}}
}}</noinclude>

Best practice

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.

Categories and interwiki links that apply to the template itself should be added to the documentation page, inside <includeonly> </includeonly> tags. For more complex cases, see Wikipedia:Template documentation‎#Categories and interwiki links.

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

Use of this template allows templates to be protected where necessary, while allowing anyone to edit the documentation, categories, and interwiki links.

See also

General information about documentation for templates

{{ Documentation }} family

Template:Documentation/doc (backlinks, edit)
Template:Documentation/doc/see also (backlinks, edit)
Template:Documentation/docname (backlinks, edit)
Template:Documentation/preload (backlinks, edit)
Template:Documentation/preload/testcases (backlinks, edit)
Template:Documentation/preload/infobox testcases (backlinks, edit)
Template:Documentation/sandbox (backlinks, edit)
Template:Documentation/testcases (backlinks, edit)
Template:Documentation/testcases/test1 (backlinks, edit)
Template:Documentation/testcases/test2 (backlinks, edit)

Meta Wiki {{ Documentation }} ancestor

ar:قالب:توثيق bg:Шаблон:Документация ca:Plantilla:Ús de la plantilla cs:Šablona:Dokumentace da:Skabelon:Dokumentation de:Vorlage:Dokumentation dsb:Pśedłoga:Dokumentacija et:Mall:Usage of template es:Plantilla:Documentación de plantilla eo:Ŝablono:Dok fa:الگو:توضیحات fr:Modèle:Documentation modèle gl:Template:Uso de plantilla hsb:Předłoha:Doc hu:Sablon:Sablondokumentáció ia:Patrono:Docpatrono id:Templat:Dokumentasi it:Template:Man ja:Template:Documentation ko:틀:틀 설명문서 no:mal:Dokumentasjon nl:Sjabloon:Sjabdoc pl:Szablon:Dokumentacja pt:Predefinição:Instruções da predefinição ro:Format:Documentaţie ru:Шаблон:Doc sl:Predloga:Dokumentacija sr:Шаблон:Документација sq:Stampa:Dokumentacion sv:Mall:Dokumentation tl:Template:Documantation tpi:Template:Template doc uk:Шаблон:Документація zh:Template:Documentation