Template:TemplateData: Difference between revisions

From CrossCode Wiki
Jump to navigation Jump to search
(Support generating MediaWiki TemplateData)
(Improve display of custom format)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Doc}}
{{Doc}}
<onlyinclude><includeonly><!--
<onlyinclude><includeonly><!--
--><p>Do not use named parameter for <code>1</code> ... <code>x</code>. The first Parameter will be automatically marked as <code>1</code>, the second as <code>2</code> and so on.</p>
-->{{#vardefine:templateData-convert|{{#expr:not{{WsBool|{{{noConvert|}}}}}}}}}<!--
{| class="wikitable sortable" style="width: 100%;"
-->{{#ifexpr:{{#if:{{{1|}}}|1|not{{WsBool|{{#var:templateData-continue}}}}or{{WsBool|{{{noConvert|}}}}}}}|<!--
|-
--><p>Do not use named parameter for <code>1</code> ... <code>x</code>. The first Parameter will be automatically marked as <code>1</code>, the second as <code>2</code> and so on.</p><!--
! style="width: 25%;" scope="col" colspan="2" | Parameter
-->
! style="width: 40%;" scope="col" | Description
{{(!}} class="wikitable sortable" style="width: 100%;"
! style="width: 25%;" scope="col" | Type
{{!}}-
! style="width: 10%;" scope="col" | Status
! style="width: 25%;" scope="col" colspan="2" {{!}} Parameter
|-
! style="width: 40%;" scope="col" {{!}} Description
{{#vardefine:templateData-convert|<!--
! style="width: 25%;" scope="col" {{!}} Type
-->{{#expr:<!--
! style="width: 10%;" scope="col" {{!}} Status
-->{{#ifeq:{{SUBPAGENAME}}|doc<!--
{{!}}-
-->|{{WsBool|{{{debug|}}}}}<!--
{{#if:{{{params|}}}|{{{params}}}|{{{1}}}}}
-->|not{{WsBool|{{{noConvert|}}}}}<!--
{{!)}}
-->}}<!--
<!--
-->}}<!--
-->{{#if:{{{format|}}}|<!--
--><dl><!--
--><dt style="float: left; margin-right: 0.5em;">Format:</dt><!--
--><dd><!--
-->{{#switch:{{{format}}}<!--
-->| block | inline =<!--
--><span class="oo-ui-iconWidget oo-ui-iconElement-icon oo-ui-icon-template-format-{{{format}}}" style="margin-right: 0.25em; background-color: transparent;"></span><!--
-->''{{ucfirst:{{{format}}}}}''<!--
-->| #default      =<!--
--><span class="oo-ui-iconWidget oo-ui-iconElement-icon oo-ui-icon-settings" style="margin-right: 0.5em;"></span><!--
-->''Custom<nowiki>:</nowiki>'' <!--
-->{{#if:{{#pos:{{{format}}}|<nowiki/>
<nowiki/>}}|{{#tag:pre|{{{format}}}}}<!--
-->|<code>{{#tag:nowiki|{{{format}}}}}</code><!--
-->}}<!--
-->}}<!--
--></dd><!--
--></dl><!--
-->}}<!--
--><p>See [[Template:TemplateData]] and [[Template:TemplateData/entry]] for more information about the parameter list and [[Template:TemplateData/entry#Data Dictionary Notation (DDN) for types|DDNCode]] for more information about types and the DDN Notation</p><!--
-->}}<!--
-->}}<!--
-->{{#vardefine:templateData-params}}
-->{{#ifeq:{{#var:templateData-convert}}|1<!--
{{{1}}}
-->|{{#ifeq:{{WsBool|{{{partial|}}}}}|0<!--
|}
-->|{{#vardefine:templateData-continue}}<!--
<p>See [[Template:TemplateData]] and [[Template:TemplateData/entry]] for more information about the parameter list and [[Template:TemplateData/entry#Data Dictionary Notation (DDN) for types|DDNCode]] for more information about types and the DDN Notation</p><!--
-->{{#if:{{#var:templateData-params}}<!--
-->{{#ifexpr:{{#var:templateData-convert}}and{{#if:{{#var:templateData-params}}|1|0}}|<nowiki/>
-->|<nowiki/>
<div class="{{#ifeq:{{WsBool|{{{debug|1}}}}}|0|wds-is-hidden|mw-collapsible collapse" style="display: flow-root;}}"><!--
<div class="{{#ifeq:{{WsBool|{{{debug|}}}}}|0|wds-is-hidden|mw-collapsible mw-collapsed" style="display: flow-root;}}"><!--
-->{{#tag:templatedata|
-->'''Test of raw TemplateData output''':<!--
--><div class="mw-collapsible-content"><!--
-->{{#vardefine:templateData-JSON|
{{(}}
{{(}}
"params": {{(}}{{#var:templateData-params}}
{{#if:{{{desc|}}}|"description": {{#invoke:Json|encode|{{{desc}}}}}}}<!--
{{)}}
-->{{#if:{{{format|}}}|{{#if:{{{desc|}}}|,
"|"}}format": {{#invoke:Json|encode|{{{format}}}}}}}<!--
-->{{#if:{{{desc|}}}{{{format|}}}|,
"|"}}params": {{#if:{{#var:templateData-params}}|{{(}}
{{#var:templateData-params}}
{{)}}|{{(}}{{)}}}}
{{)}}
{{)}}
}}</div>
}}<!--
}}<!--
-->{{#vardefine:templateData-params}}<!--
-->{{#tag:templatedata|<!--
-->{{#var:templateData-JSON}}<!--
-->}}<!--
--></div><!--
--></div><!--
-->{{#ifeq:{{WsBool|{{{debug|}}}}}|1|<!--
--><div class="mw-collapsible mw-collapsed" style="display: flow-root;"><!--
-->'''Test of raw TemplateData JSON''':<!--
--><div class="mw-collapsible-content"><!--
-->{{#tag:syntaxhighlight|<!--
-->{{#var:templateData-JSON}}<!--
-->| lang = "json"<!--
-->}}<!--
--></div><!--
--></div><!--
-->}}<!--
-->{{#vardefine:templateData-params}}<!--
-->}}<!--
-->|{{#vardefine:templateData-continue|1}}<!--
-->}}<!--
-->}}<!--
-->{{#vardefine:templateData-JSON}}<!--
-->{{#vardefine:templateData-convert}}<!--
-->{{#vardefine:templateData-convert}}<!--
--></includeonly></onlyinclude>
--></includeonly></onlyinclude>

Latest revision as of 19:23, 24 May 2021

File:Template-info.svg Template Documentation

Template for creating a unified parameter format for templates

About

Creates a list that displays Template parameter in a unified format.

Parameter

Do not use named parameter for 1 ... x. The first Parameter will be automatically marked as 1, the second as 2 and so on.

Parameter Description Type Status
Description desc

The MediaWiki TemplateData description property, ignored if noConvert or partial is 1.

Example:
no example
Plaintext Recommended
Format format

The MediaWiki TemplateData format string, ignored if noConvert or partial is 1.

Example:
no example
FormatString Recommended
Entries 1
params

Parameter list

Example:
no example
1 {Template:TemplateData/entry} Required
Partial? partial

Whether this TemplateData block is not the last, ignored if noConvert is 1.

Default:
0
Example:
no example
Boolean Optional
No Conversion noConvert

If set, other than to 0, prevents MediaWiki TemplateData from being produced.

Potentially useful if there are multiple instances of this template on a page but only one should be active. To clarify, this means that this template will not be understood by the VisualEditor.

Default:
0
Example:
no example
Boolean Optional
Format:
Custom:
{{_
| ______ = _
}}

See Template:TemplateData and Template:TemplateData/entry for more information about the parameter list and DDNCode for more information about types and the DDN Notation

Test of raw TemplateData output:

Creates a table that displays Template parameters in a unified format and emits the equivalent MediaWiki TemplateData.

Template parameters

This template has custom formatting.

ParameterDescriptionTypeStatus
Descriptiondesc

The [[mw:Help:TemplateData#Description|MediaWiki TemplateData description property]], ignored if <code>noConvert</code> or <code>partial</code> is <code>1</code>.

Contentsuggested
Formatformat

The [[mw:Help:TemplateData#Format|MediaWiki TemplateData format string]], ignored if <code>noConvert</code> or <code>partial</code> is <code>1</code>.

Contentsuggested
Entries1 params

Parameter list

Contentrequired
Partial?partial

Whether this TemplateData block is not the last, ignored if <code>noConvert</code> is <code>1</code>.

Default
0
Booleanoptional
No ConversionnoConvert

If set, other than to 0, prevents [[mw:Help:TemplateData|MediaWiki TemplateData]] from being produced. Potentially useful if there are multiple instances of this template on a page but only one should be active. To clarify, this means that this template will ''not'' be understood by the VisualEditor.

Default
0
Booleanoptional

Examples

{{#lsth:Template:TemplateData/entry/doc|Examples}}