Difference between revisions of "Template:Documentation"

From PortlandWiki
Jump to: navigation, search
(Added a div with style="clear: both;" to the bottom of the green box, so (right) floating boxes in the /doc doesn't flow outside the green box.)
m (3 revisions: unblock templates)
Line 1: Line 1:
<div class="template-documentation"><!--
+
<div class="template-documentation" style="margin-top:1em;">{{#if:{{{heading|defaultnotblank}}}|<div style="padding-bottom:3px; border-bottom:1px solid #aaa; margin-bottom:1ex;">
 
+
<span class="editsection plainlinks" id="doc_editlinks">[[{{fullurl:{{{1|{{SUBJECTPAGENAME}}/doc}}}|action=edit{{#ifexist: {{{1|{{SUBJECTSPACE}}:{{SUBJECTPAGENAME}}/doc}}} ||&preload=Template:Documentation/preload}}}} edit]]</span>
These are the literal class definitions in common.css:
+
<span style="font-size:150%">{{{heading|Documentation}}}</span></div>}}
+
<div id="template_doc_page_transcluded" class="dablink plainlinks">This [[w:Wikipedia:Template documentation|documentation]] is [[w:Wikipedia:Transclusion|transcluded]] from [[{{{1|{{FULLPAGENAME}}/doc}}}]]. <small>''([[{{{1|{{SUBJECTPAGENAME}}/doc}}}|view]] | [{{fullurl:{{{1|{{SUBJECTPAGENAME}}/doc}}}|action=edit{{#ifexist: {{{1|{{SUBJECTSPACE}}:{{SUBJECTPAGENAME}}/doc}}} ||&preload=Template:Documentation/preload}}}} edit] | [{{fullurl:{{{1|{{SUBJECTPAGENAME}}/doc}}}|action=history}} history])''</small></div>{{{{{1|{{SUBJECTPAGENAME}}/doc}}}}}<div style="clear:both;" /></div></div>
/* For template documentation */
+
.template-documentation {
+
    clear: both;
+
    margin: 1em 0 0 0;
+
    border: 1px solid #aaa;
+
    background-color: #ecfcf4;
+
    padding: 5px;
+
}
+
 
+
 
+
-->{{#ifeq:{{{heading|μ}}}|<!--**DEFINED BUT EMPTY**-->
+
  |<!--**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>
+
}}<!--
+
 
+
--><div id="template_doc_page_transcluded" class="dablink plainlinks"><!--
+
  -->{{#ifexist: {{{1|{{Documentation/docname}}}}}
+
  |<!--**/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 />
+
}}<!--
+
 
+
-->{{#switch: {{SUBPAGENAME}}
+
  |sandbox|testcases=<!--**DO NOT SHOW THESE LINKS ON THE SANDBOX/TESTCASES PAGES**-->
+
  |#default=
+
    {{#switch: {{SUBJECTSPACE}}
+
    |{{ns:template}}
+
    |{{ns:user}}=
+
      {{#ifexist: {{FULLPAGENAME}}/sandbox
+
      |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.
+
      |{{#ifexist: {{FULLPAGENAME}}/testcases
+
        |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! -->
+
</noinclude>
+

Revision as of 13:54, 16 December 2008

[edit]

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.
Cite error: Invalid <ref> tag;

refs with no name must have content </gallery>

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.

Advantages

Transclusion of a documentation page makes it possible to protect the page of the template itself while allowing anyone to edit the template's documentation, categories, and interwiki links.

Use of msgnw to show the content of a template is less cluttered with wikitext from the noinclude-part.

Disadvantages, substitution as alternative

Transclusion of a documentation page increases its expansion depth, for which a limit applies. In particular a demo showing an example within the limits and one exceeding them should itself not be transcluded.

Another disadvantage is that when applying WhatLinksHere to a page the documentation links to, both the template page and the documentation page is listed, which clutters the list somewhat.

To avoid the disadvantages, yet get the same lay-out for the resulting template page, substitute Template:Docsubst by putting {{subst:docsubst}} inside <noinclude> tags. If the documentation page already exists, subsititute it and remove the text and links which are no longer applicable, or do like above, and copy the relevant content from the existing documentation page to the noinclude part of the template page.

See also

<div style="clear:both;" />
</div>