FANDOM


m
(some fixes)
 
(24 intermediate revisions by 14 users not shown)
Line 1: Line 1:
This article covers the '''general layout for a standard template page'''.
+
{{tocright}}
  +
  +
This article covers the '''general layout for a standard template page on FANDOM wikis'''.
   
 
==Procedure==
 
==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 huge amounts of template updates, and the template itself can be protected if necessary.
+
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).
   
 
==Sample pages==
 
==Sample pages==
 
;Template page
 
;Template page
  +
:If you want to use a documentation page (<tt>/doc</tt>)
 
<pre>
 
<pre>
Template code<includeonly>Any categories to be inserted into articles by the template</includeonly><noinclude>
+
<onlyinclude><!-- Template code
{{documentation}}</noinclude>
+
--><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|{{PAGENAME}}]]
 
</pre>
 
</pre>
   
Note that, depending on the template, you may need to add a clear or complete a table/div just before <code><nowiki>{{documentation}}</nowiki></code> is inserted (within the noinclude tags).
+
:If you don't want to require a documentation page (no <tt>/doc</tt>)
  +
<pre>
  +
;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><nowiki>{{templatename|foo}}</nowiki></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|{{PAGENAME}}]]
  +
</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).
   
The line break is also useful as it helps prevent the documentation template "running into" previous code.
+
The line break is also useful as it helps visually separate the documentation template code from previous code.
   
   
Line 20: Line 21:
 
;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
 
;Syntax
 
:Type <code>{{t|templatename}}</code> somewhere.
 
: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
 
;Sample output
:<code>&lt;nowiki>{{templatename|foo}}&lt;/nowiki></code> gives...
+
:<code><nowiki>{{templatename|foo}}</nowiki></code> gives...
 
:{{templatename|foo}}
 
:{{templatename|foo}}
   
<includeonly>Any categories for the template itself</includeonly><noinclude>[[Category:Template documentation|{{PAGENAME}}]]</noinclude>
+
<includeonly><!-- Any categories to organize the template itself
  +
-->[[Category:Templates|{{PAGENAME}}]]</includeonly><noinclude>[[Category:Template documentation|{{PAGENAME}}]]</noinclude>
 
</pre>
 
</pre>
  +
  +
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 {{t|Documentation}} if no documentation has been written yet), which will give you a [[Template:Documentation/preload|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.
 
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]] and [[Template:T/piece]] templates.
+
Note that the above example also uses the [[Template:T]] template.
  +
  +
=== 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.
   
 
==Templates used by this layout==
 
==Templates used by this layout==
  +
'''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
*[[Template:T/piece]] - used by Template:T
+
[[ja:ヘルプ:テンプレート/レイアウト]]
 
 
[[Category:Content]]
 
[[Category:Content]]
  +
[[Category:Templates| Template layout]]

Latest revision as of 23:19, February 20, 2019

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

ProcedureEdit

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 pagesEdit

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|{{PAGENAME}}]]
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|{{PAGENAME}}]]


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|{{PAGENAME}}]]</includeonly><noinclude>[[Category:Template documentation|{{PAGENAME}}]]</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? Edit

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 layoutEdit

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

Community content is available under CC-BY-SA unless otherwise noted.