Template:Doc: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 2: Line 2:
{{todo|Exclude Sandbox subpage and other from this template. Also do some code cleanup.}}
{{todo|Exclude Sandbox subpage and other from this template. Also do some code cleanup.}}
{{todo|Make this code less shitty.}}
{{todo|Make this code less shitty.}}
{{todo|Decide what to do with the View button on the right side of the "hat".}}
{{doc}}
{{doc}}
<includeonly>
<includeonly>


<onlyinclude>{{Doc/templateusecategory}}{{#if:{{{content|}}}|[[Category:Documentation using content parameter]]}}{{ulf|all-lang=1}}{{#switch:{{{1|}}}
<onlyinclude>{{Doc/templateusecategory}}{{#if:{{{content|}}}|[[Category:Documentation using content parameter]]}}{{ulf|all-lang=1}}{{#switch:{{{1|}}}
| #default = <div style="clear:both; margin-top:1em; border:1px solid #505050; background-color:#323232; border-radius:2px; scrollbar-color: #686868 #424242 !important;"><!--
| #default = <div style="clear:both; margin-top:1em; border:1px solid #4F4F4F; background-color:#323232; border-radius:.3em; scrollbar-color: #686868 #424242 !important;"><!--
--><div style="width:100%"><!--
--><div style="width:100%"><!--
--><div style="display:flex; gap:8px; background:#505050; padding:6px 6px 6px 10px; flex-direction:{{#switch:{{intlang}}|he=row-reverse| align=right|#default=row}}"><!--
--><div style="display:flex; gap:8px; background:#4F4F4F; padding:.5em .55em .55em .8em; flex-direction:{{#switch:{{intlang}}|he=row-reverse| align=right|#default=row}}"><!--
--><div style="display:flex; flex-direction:{{#switch:{{intlang}}|he=row-reverse|#default=row}}; align-items:center; font-size:1.2em; color:#D8D8D8;"><!--
--><div style="display:flex; flex-direction:{{#switch:{{intlang}}|he=row-reverse|#default=row}}; align-items:center; font-size:1.2em; color:#D8D8D8;"><!--
-->{{#switch:{{{pagespace|{{SUBJECTSPACE}}}}}
-->{{#switch:{{{pagespace|{{SUBJECTSPACE}}}}}
Line 33: Line 32:
     ------------------------------ Language button ------------------------------
     ------------------------------ Language button ------------------------------


--><div class="mw-customtoggle-language" style="display:inline-flex; justify-content:center; align-items:center; height:100%; box-sizing:border-box; background:#323232; border:1px solid rgba(255,255,255,.3); border-radius:2px; user-select:none; padding:0 4px">[[File:Icon-translate.png|link=|14px]]&nbsp;Available doc translations </div><!--
--><div class="mw-customtoggle-language" style="display:inline-flex; justify-content:center; align-items:center; height:100%; box-sizing:border-box; background:#323232; border:1px solid rgba(255,255,255,.3); border-radius:.3em; user-select:none; padding:0 4px">[[File:Icon-translate.png|link=|14px]]&nbsp;Available doc translations </div><!--


-->{{#switch:{{{tools|}}}
-->{{#switch:{{{tools|}}}
Line 43: Line 42:
-->{{#if:{{{content{{intlang|pref=/|default-none={{#if:{{PROTECTIONEXPIRY:edit|{{DOCPAGENAME|{{{docpage|}}}}}}}|1|0}} }}| }}}
-->{{#if:{{{content{{intlang|pref=/|default-none={{#if:{{PROTECTIONEXPIRY:edit|{{DOCPAGENAME|{{{docpage|}}}}}}}|1|0}} }}| }}}
|
|
|<div style="display:inline-flex; justify-content:center; align-items:center; height:100%; box-sizing:border-box; background:#323232; border:1px solid rgba(255,255,255,.3); border-radius:2px; user-select:none; padding:0 4px"><!--
|<!--  
--><div style="position: relative; top: -1.5px; "><!--
-->[[File:Icon-visibility.png|14px|link={{{docpage|{{FULLPAGENAME}}/doc}}}{{intlang|pref=/|default-none={{#if:{{PROTECTIONEXPIRY:edit|{{DOCPAGENAME|{{{docpage|}}}}}}}|1|0}} }}|{{int:view}}]]<!--
--></div><!--
--></div><!--  


------------------------------ history button ------------------------------
------------------------------ history button ------------------------------


--><div style="display:inline-flex; justify-content:center; align-items:center; height:100%; box-sizing:border-box; background:#323232; border:1px solid rgba(255,255,255,.3); border-radius:2px; user-select:none; padding:0 4px"><!--
--><div style="display:inline-flex; justify-content:center; align-items:center; height:100%; box-sizing:border-box; background:#323232; border:1px solid rgba(255,255,255,.3); border-radius:.3em; user-select:none; padding:0 4px"><!--
--><div style="position: relative; top: -1.5px; "><!--
--><div style="position: relative; top:-1.5px; "><!--
-->[[File:Icon-history.png|14px|link={{fullurl:{{{docpage|{{FULLPAGENAME}}/doc}}}{{intlang|pref=/|default-none={{#if:{{PROTECTIONEXPIRY:edit|{{DOCPAGENAME|{{{docpage|}}}}}}}|1|0}} }}|action=history}}|{{int:history}}]]<!--
-->[[File:Icon-history.png|14px|link={{fullurl:{{{docpage|{{FULLPAGENAME}}/doc}}}{{intlang|pref=/|default-none={{#if:{{PROTECTIONEXPIRY:edit|{{DOCPAGENAME|{{{docpage|}}}}}}}|1|0}} }}|action=history}}|{{int:history}}]]<!--
--></div><!--
--></div><!--
Line 62: Line 57:


-->{{#switch:{{{tools|}}}
-->{{#switch:{{{tools|}}}
| #default = <div class="mw-customtoggle-doctools" style="display:inline-flex; justify-content:center; align-items:center; height:100%; box-sizing:border-box; background:#323232; border:1px solid rgba(255,255,255,.3); border-radius:2px; user-select:none; padding:0 4px">'''…'''</div>
| #default = <div class="mw-customtoggle-doctools" style="display:inline-flex; justify-content:center; align-items:center; height:100%; box-sizing:border-box; background:#323232; border:1px solid rgba(255,255,255,.3); border-radius:.3em; user-select:none; padding:0 4px">'''…'''</div>
|1=
|1=
}}<!-- ##### switch:TOOLS (2) ##### --></span>
}}<!-- ##### switch:TOOLS (2) ##### -->
|0=
|0=
}}<!-- ##### switch:TOOLS (1) #####  
}}<!-- ##### switch:TOOLS (1) #####  
Line 136: Line 131:
--------------- Doc transclusion ---------------
--------------- Doc transclusion ---------------
The "if" should be on a new line, or some tags, like == header == wont appear as a header
The "if" should be on a new line, or some tags, like == header == wont appear as a header
-->{{#if: {{{content{{intlang|pref=/|default-none={{#if:{{PROTECTIONEXPIRY:edit|{{DOCPAGENAME|{{{docpage|}}}}}}}|1|0}}}}|}}}
-->
{{#if: {{{content{{intlang|pref=/|default-none={{#if:{{PROTECTIONEXPIRY:edit|{{DOCPAGENAME|{{{docpage|}}}}}}}|1|0}}}}|}}}
| {{{content{{intlang|pref=/|default-none={{#if:{{PROTECTIONEXPIRY:edit|{{DOCPAGENAME|{{{docpage|}}}}}}}|1|0}}}}}}}
| {{{content{{intlang|pref=/|default-none={{#if:{{PROTECTIONEXPIRY:edit|{{DOCPAGENAME|{{{docpage|}}}}}}}|1|0}}}}}}}
| {{#if: {{PROTECTIONEXPIRY:edit|{{{docpage|{{FULLPAGENAME}}/doc}}}{{intlang|pref=/|default-none={{#if:{{PROTECTIONEXPIRY:edit|{{DOCPAGENAME|{{{docpage|}}}}}}}|1|0}}}}}}
| {{#if: {{PROTECTIONEXPIRY:edit|{{{docpage|{{FULLPAGENAME}}/doc}}}{{intlang|pref=/|default-none={{#if:{{PROTECTIONEXPIRY:edit|{{DOCPAGENAME|{{{docpage|}}}}}}}|1|0}}}}}}
Line 168: Line 164:
}}<!-- ##### INTLANG ##### -->
}}<!-- ##### INTLANG ##### -->
}}<!-- ##### if:PROTECTIONEXPIRY ##### -->
}}<!-- ##### if:PROTECTIONEXPIRY ##### -->
|<div class="plainlinks" style="background:#323232; border:1px solid #505050; border-radius:2px; padding:0.4em 1em; margin-top:1em;"><!--
|<div class="plainlinks" style="background:#323232; border:1px solid #505050; border-radius:.3em; padding:0.4em 1em; margin-top:1em;"><!--
-->''{{Doc/strings|transcluded|docpage={{{docpage|{{FULLPAGENAME}}/doc}}}}}''<!--
-->''{{Doc/strings|transcluded|docpage={{{docpage|{{FULLPAGENAME}}/doc}}}}}''<!--
-->&nbsp;<small>([{{fullurl:{{{docpage|{{FULLPAGENAME}}/doc}}}{{intlang|pref=/|default-none={{#if:{{PROTECTIONEXPIRY:edit|{{DOCPAGENAME|{{{docpage|}}}}}}}
-->&nbsp;<small>([{{fullurl:{{{docpage|{{FULLPAGENAME}}/doc}}}{{intlang|pref=/|default-none={{#if:{{PROTECTIONEXPIRY:edit|{{DOCPAGENAME|{{{docpage|}}}}}}}

Latest revision as of 06:50, 14 October 2025

Warning icon.png
This template is used on approximately 1,800 pages and changes may be widely noticed.
Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage.
Consider discussing changes on the talk page before implementing them.
Todo: Exclude Sandbox subpage and other from this template. Also do some code cleanup.
Todo: Make this code less shitty.
English (en)Deutsch (de)Esperanto (eo)Español (es)Français (fr)Suomi (fi)Hrvatski (hr)Magyar (hu)Italiano (it)日本語 (ja)한국어 (ko)Nederlands (nl)Polski (pl)Português (pt)Português do Brasil (pt-br)Русский (ru)Slovenčina (sk)Svenska (sv)Türkçe (tr)Українська (uk)Tiếng Việt (vi)中文 (zh)中文(臺灣) (zh-tw)
Curly brackets white.pngTemplate Documentation [view] [edit]
Icon-translate.png Available doc translations
Page history
Icon-translate.png
This template uses a strings subpage
Please follow the format on this subpage(s) to add translations.
Number of strings:17
Approximate status of translation:English (en) 100% Deutsch (de) 41.18% Español (es) 47.06% Esperanto (eo) 47.06% Hrvatski (hr) 94.12% 日本語 (ja) 5.88% 한국어 (ko) 5.88% Ქართული (ka) 11.76% Nederlands (nl) 5.88% Polski (pl) 5.88% Português (pt) 5.88% Português do Brasil (pt-br) 5.88% Русский (ru) 100% Українська (uk) 5.88% Tiếng Việt (vi) 23.53% 中文 (zh) 88.24% 
Gnome app science.png
This template uses a Testcases subpage
You can test how this page looks with its different skins and parsers.

The template {{doc}} is designed to add a block of documentation to various pages (mainly template pages). The subpages of a certain language will be loaded into the documentation block depending on the language of the user interface. In the case of English, the documentation will be taken from the /doc subpage. But in all other cases, the documentation will be taken from the subpage /doc/<lang code>

Tools

The main tools are located on the top right, above the documentation block:

  • Create – opens the creation of the documentation page. Appears only if the documentation page does not exist.
Note.pngNote:If there are none of any documentations, the button will load a preload documentation, Template:Doc/preload or Template:Doc/preload/<lang code> (if the UI language isn't in English and the translations of the preload page exist), as the content of the new page and open the editing page. If there is a English documentation, the button will preload the English documentation as the content.
  • View – opens the documentation page.
  • Edit – opens the editing of the documentation page.
  • History – opens the history of changes to the documentation page.
Note.pngNote:If there are none of the above tools, then the text of the documentation was written using the {{{content}}} parameter, or parameter {{{tools}}} was set to 0.

Also, in the upper right corner there is a button marked with an ellipsis [ ]. It expands/collapses additional tools:

  • Sandbox – opens the creation of a subpage /sandbox and copies the code of the original page, or, if this page exists, simply opens it.
  • Testcases – opens the /testcases subpage. Useful for testing a template in different situations.
  • Subpages – opens Special:PrefixIndex and inserts the page name to search for all subpages.
  • Purge – opens a window with a message about purging the page.

Language bar

On the top right, under the tools, there are flags that switch documentation to another language. Switching is implemented by inserting &uselang=<lang code> into the page link, so if you click on another language, then along with the documentation, the interface language will change.

If there is no documentation in a certain language, the message “The <page> documentation page does not exist” will be displayed. if {{{pagespace}}} or actual page space is User, then the message “The <user> did not provide information about himself on this language (<page>).” will be displayed instead. Also, after this message, documentation in English will be displayed, if it exists.

Parameters

  • {{{1}}}: parameter for switching the template assignment:
    • If you need a standard documentation block, do not enter anything in this parameter.
    • 0 – will display the message “This is a documentation subpage for <page>”.
    • 1 – will display the message “This is the sandbox subpage for <page>”.
    • 2 – will display the message “This page is not a sandbox”.
    • 3 – will display the message “This is the <page> info subpage”. Useful for user subpages.
    • 4 – will display the message “This is a documentation subpage for use on multiple pages”. If the {{{list}}} parameter is used, then the text will be: “This is a documentation subpage for use on multiple pages listed in <list page>”.
  • {{{list}}}: specifies a page or category that lists pages using a particular documentation page. Used only if parameter {{{1}}} is set to 4.
  • {{{docpage}}}: the page that will be used as documentation.
  • {{{DocParam1}}} to {{{DocParam5}}}: Optional parameters passed to the documentation page (the /doc subpage and supported by {{{docpage}}}).
    • If the documentation uses {{{DocParam1}}}, then passing {{{DocParam1}}} in the template transclusion (e.g. {{Doc|DocParam1=Hello World!}}) will affect how the doc is rendered, good for documentation pages only needing a different value.
  • {{{content</lang code>}}}: content that will be used as documentation, instead of a separate page. When used, the main tools are hidden.
  • {{{pagespace}}}: the page space is determined automatically, but you can enter your own. The text in the header depends on this parameter:
    • Template → “Template Documentation”
    • File → “Summary”
    • User → “About”
    • In all other cases it will be “Documentation”
Note.pngNote:if {{{pagespace}}} or actual page space is “User”, then the text will be taken from the /about subpage, not /doc.
  • {{{tools}}}: controls which tool buttons should be displayed:
    • 0 – no buttons.
    • 1 – only buttons “Create”, “View”, “Edit” and “History”.
    • In all other cases there will be all buttons

Creating documentation

Warning.pngWarning:If you want to add the symbol “|” somewhere in the text (templates and other MediaWiki elements are not affected), use &#124;.

To start creating documentation, click on the “Create” button on the top right. The button loads the preloaded document (or as a preloaded document if there is an English document). Then the text of the documentation itself is written. First there is a brief description, and then – depending on what the documentation is written for. If you want to add categories, just add them where the preload documentation indicated.

Subpages

There are some subpages and sub-templates on {{Doc}}. They are created to make the things easier.

{{Doc/subpage}}

This template is the replacement of <noinclude>{{doc|0}}</noinclude>. It can be instead of <noinclude>{{doc|0}}</noinclude>.

Its purpose is the same as {{Documentation subpage}}.

It can avoid the problem that preload page won't load <noinclude>{{doc|0}}</noinclude>.

{{Doc/Sandbox other}}

This template adds content separately to the main template and its subpages (documents). It is useful for adding categories.

Its purpose is the same as {{Sandbox other}}.

Template:Doc/preload

This is the preload page when you click the create button. You can add translations for it.

{{Doc/PreviewBlock}}

Deprecated. Use {{Capsule}} instead.

Template:Doc
Logo-template.png
Summary
Transcludes a documentation subpage
Type
Wrapper template
Contributors
N/A
Creation date
22/08/2022
(22 August 2022)
Notes
N/A
Subpages
Documentation
Preload
Sandbox
Strings
Testcases
N/A
Revision information
Latest editor
THE OWL
Last edited
14/10/2025
20251014065018
Revision size
14125 bytes
14.125 kilobytes
0.014125 megabytes
Technical information
Page identifier
47769
Contains translations
Yes
Uses parser functions?
Yes
Uses variables?
Yes