Templates Wiki
Register
Advertisement

This article covers the general layout for a standard template page on Fandom wikis.

Procedure[]

Put the template code on the main page, and put all documentation and categories on a /doc subpage.

This means that updates to the documentation do not result in large numbers of pointless template updates across the wiki, and the template itself can be protected if necessary (without protecting the documentation).

Sample pages[]

Template page
If you want to use a documentation page (/doc)
<onlyinclude><!-- Template code 
--><includeonly><!-- Any categories to be inserted into articles by the template 
-->[[Category:Added by template]]</includeonly></onlyinclude>
{{documentation}}
<!-- After documentation, optionally add any categories to organize the template itself 
-->[[Category:Templates]]
If you don't want to require a documentation page (no /doc)
; Description
: This template is used to do something.

; Dependencies
: <!-- CSS, JS, image or other template dependencies. -->

; Syntax
: Type <code>{{t|templatename}}</code> somewhere.

; Parameters
* <code>Param1 =</code> what param 1 needs (default: <code>default value</code>)
* <code>Param2optional =</code> ''optional'' what param 2 needs

; Sample output
: <code>{{templatename|foo}}</code> gives...
: {{templatename|foo}}

----
; Template
<onlyinclude>Template code<includeonly>
Any categories to be inserted into articles by the template</includeonly></onlyinclude>
<!-- Optionally -->{{documentation}}
<!-- Any categories to organize the template itself -->[[Category:Templates]]

Note that, depending on the template, you may need to close a table or div tag just before {{documentation}} is inserted (within the noinclude tags).

The line break is also useful as it helps visually separate the documentation template code from previous code.

Template/doc page
; Description
: This template is used to do something.

; Dependencies
: <!-- CSS, JS, image or other template dependencies. -->

; Syntax
: Type <code>{{t|templatename}}</code> somewhere.

; Parameters
* <code>Param1 =</code> what param 1 needs (default: <code>default value</code>)
* <code>Param2optional =</code> ''optional'' what param 2 needs

; Sample output
: <code>{{templatename|foo}}</code> gives...
: {{templatename|foo}}

<includeonly><!-- Any categories to organize the template itself 
-->[[Category:Templates]]</includeonly><noinclude>[[Category:Template documentation]]</noinclude>

You can also click on the "writing some" link in the message "This template currently doesn't have any documentation! Help out by writing some." (displayed by {{Documentation}} if no documentation has been written yet), which will give you a preload that you can then fill out.

Use any or all of the above description/syntax/sample output sections. You may also want to add "see also" or further usage information sections.

Note that the above example also uses the Template:T template.

Why not use a separate documentation subpage?[]

While using a documentation subpage (Template:templatename/doc) has become standard practice, it is really only better when the documentation is large or has many examples. For smaller, simpler templates with light documentation needs, including the documentation on the template page itself can be faster and more self-contained. Remember, using a /doc subpage for documentation usually implies the need to use the {{Documentation}} template which automatically adds a dependency on another template (which ironically, is usually undocumented). Also, the use of categories can be far more confusing when using a transcluded /doc subpage in a template page.

Templates used by this layout[]

Be sure to add these so the template coding will work properly.

Advertisement