Templates Wiki
m (Undo revision 10136 by 200.54.81.162 (talk) umm what?)
m (SuperDragonXD1 moved page Template layout to Templates Wiki:Template layout: This page is more or less intended to be a project page)
 
(17 intermediate revisions by 11 users not shown)
Line 1: Line 1:
 
{{tocright}}
 
{{tocright}}
 
This article covers the '''general layout for a standard template page on Fandom wikis'''.
   
 
== Procedure ==
This article covers the '''general layout for a standard template page on Wikia'''.
 
 
Put the template code on the main page, and put all documentation and categories on a <code>/doc</code> subpage.
 
==Procedure==
 
Put the template code on the main page, and put all documentation and categories on a <tt>/doc</tt> 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).
 
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==
+
== Sample pages ==
;Template page
+
; Template page
:If you want to use a documentation page (<tt>/doc</tt>)
+
: If you want to use a documentation page (<code>/doc</code>)
 
<pre>
 
<pre>
  +
<onlyinclude><!-- Template code
Template code<includeonly>Any categories to be inserted into articles by the template</includeonly><noinclude>
 
  +
--><includeonly><!-- Any categories to be inserted into articles by the template
{{documentation}}</noinclude>
 
  +
-->[[Category:Added by template]]</includeonly></onlyinclude>
 
{{documentation}}
 
<!-- After documentation, optionally add any categories to organize the template itself
 
-->[[Category:Templates]]
 
</pre>
 
</pre>
   
:If you don't want to require a documentation page (no <tt>/doc</tt>)
+
: If you don't want to require a documentation page (no <code>/doc</code>)
 
<pre>
 
<pre>
;Description
+
; Description
:This template is used to do something.
+
: This template is used to do something.
;Syntax
 
:Type <code>{{t|templatename}}</code> somewhere.
 
;Sample output
 
:<code><nowiki>{{templatename|foo}}</nowiki></code> gives...
 
:{{templatename|foo}}
 
   
 
; 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><nowiki>{{templatename|foo}}</nowiki></code> gives...
 
: {{templatename|foo}}
   
 
----
 
----
;Template
+
; Template
<onlyinclude>Template code<includeonly>Any categories to be inserted into articles by the template</includeonly></onlyinclude>
+
<onlyinclude>Template code<includeonly>
 
Any categories to be inserted into articles by the template</includeonly></onlyinclude>
-Optionally-{{documentation}}
+
<!-- Optionally -->{{documentation}}
Any categories to organize the template itself
 
  +
<!-- Any categories to organize the template itself -->[[Category:Templates]]
 
</pre>
 
</pre>
 
   
 
Note that, depending on the template, you may need to close a table or div tag just before {{t|documentation}} is inserted (within the noinclude tags).
 
Note that, depending on the template, you may need to close a table or div tag just before {{t|documentation}} is inserted (within the noinclude tags).
Line 39: Line 50:
 
The line break is also useful as it helps visually separate the documentation template code from previous code.
 
The line break is also useful as it helps visually separate the documentation template code from previous code.
   
 
; Template/doc page
 
;Template/doc page
 
 
<pre>
 
<pre>
;Description
+
; Description
:This template is used to do something.
+
: This template is used to do something.
;Dependencies
 
* CSS, JS, image or other template dependencies.
 
;Syntax
 
:Type <code>{{t|templatename}}</code> somewhere.
 
;Sample output
 
:<code><nowiki>{{templatename|foo}}</nowiki></code> gives...
 
:{{templatename|foo}}
 
   
  +
; Dependencies
<includeonly>Any categories for the template itself</includeonly><noinclude>[[Category:Template documentation|{{PAGENAME}}]]</noinclude>
 
  +
: <!-- 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><nowiki>{{templatename|foo}}</nowiki></code> gives...
 
: {{templatename|foo}}
  +
  +
<includeonly><!-- Any categories to organize the template itself
 
-->[[Category:Templates]]</includeonly><noinclude>[[Category:Template documentation]]</noinclude>
 
</pre>
 
</pre>
   
Line 62: Line 80:
   
 
=== Why not use a separate documentation subpage? ===
 
=== Why not use a separate documentation subpage? ===
While using a documentation subpage (<tt>Template:''templatename''/doc</tt>) 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 <tt>/doc</tt> subpage for documentation usually implies the need to use the {{t|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 <tt>/doc</tt> subpage in a template page.
+
While using a documentation subpage (<code>Template:''templatename''/doc</code>) 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 <code>/doc</code> subpage for documentation usually implies the need to use the {{t|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 <code>/doc</code> subpage in a template page.
   
==Templates used by this layout==
+
== Templates used by this layout ==
 
'''Be sure to add these so the template coding will work properly.'''
 
'''Be sure to add these so the template coding will work properly.'''
*[[Template:Documentation]] - for the documentation box
+
* [[Template:Documentation]] - for the documentation box
*[[Template:T]] - to link to the various templates
+
* [[Template:T]] - to link to the various templates
  +
  +
[[tr:Şablon düzeni]]
 
[[Category:Content]]
 
[[Category:Content]]
[[Category:Templates| Template layout]]
 

Latest revision as of 07:33, 18 October 2022

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.