Template:Documentation/doc
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
<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 "<".
An optional {{documentation|heading=}} parameter allows to 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.
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.
Purpose
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. Sometimes this also allows the use of msgnw
to show the raw content of a template.
Caveats
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. Instead the content of the /doc page include links to one or more demo subpages of the /doc page or to other template pages using it.
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.
See also
- {{docsubst}} to substitute (instead of transclude) a /doc subpage
- c:template:documentation (with not yet imported subpages as of 2014)