Template:Data: Difference between revisions
Jump to navigation
Jump to search
m Philmasterplus moved page User:Philmasterplus/Data to Template:Data: Testing complete, ready for use |
No edit summary |
||
Line 1: | Line 1: | ||
<includeonly>{{#ifexist:{{{1|}}}|{{User:Philmasterplus/Sandbox|format=#switch:{{{2|}}}|{{{3|}}}}}|{{error| | <includeonly>{{{1|{{{error|Missing parameter '1' for Template:Data}}}{{#ifexist:{{{1|}}}|{{User:Philmasterplus/Sandbox|format=#switch:{{{2|}}}|{{{3|}}}}}|{{error|Page '{{{1|}}}' does not exist}}}}</includeonly><noinclude> | ||
<templatedata> | |||
{ | |||
"description": "Utility template that extracts a field from a data page.", | |||
"params": { | |||
"1": { | |||
"label": "Page name", | |||
"description": "Name of the data page to extract the data from.", | |||
"type": "wiki-page-name", | |||
"required": true, | |||
"example": "visit_url" | |||
}, | |||
"2": { | |||
"label": "Field name", | |||
"description": "Name of the field to extract from the source page", | |||
"type": "line", | |||
"required": true, | |||
"example": "function1.parameter1" | |||
}, | |||
"3": { | |||
"label": "Default value", | |||
"description": "Default value if the page does not contain the given field, or the field is empty", | |||
"type": "string", | |||
"example": "no_name" | |||
} | |||
} | |||
} | |||
</templatedata> | |||
== | This template is based on the [http://kol.coldfront.net/thekolwiki/index.php/Template:Data Template:Data] page. | ||
< | |||
==What is a Data Page?== | |||
Suppose a page named "XYZ" contains the following wikitext: | |||
</pre> | <syntaxhighlight lang="html"><onlyinclude>{{{{{format|DefaultTemplate}}} | ||
|param1=abc | |||
|foo=bar | |||
|some.property=some value | |||
|empty_value= | |||
|{{{1|}}} | |||
}}</onlyinclude></syntaxhighlight> | |||
Any page that contains code like this is a _data page_. A data page cannot render itself, but instead feeds its parameters to a rendering template ("DefaultTemplate" in this example) which is responsible for rendering the page. | |||
The [[Template:Data]] template can extract individual fields from a data page, like this: | |||
{| class="wikitable" | |||
! Wiki markup !! Result | |||
|- | |||
| <pre>{{data|XYZ|param1}}</pre> | |||
| abc | |||
|- | |||
| <pre>{{data|XYZ|foo}}</pre> | |||
| bar | |||
|- | |||
| <pre>{{data|XYZ|some.property}}</pre> | |||
| some value | |||
|- | |||
| <pre>{{data|XYZ|empty_value}}</pre> | |||
| | |||
|- | |||
| <pre>{{data|XYZ|empty_value|default value}}</pre> | |||
| default value | |||
|- | |||
| <pre>{{data|XYZ|value that does not exist|default value}}</pre> | |||
| default value | |||
|} | |||
</noinclude> | </noinclude> |
Revision as of 21:01, 18 December 2020
Utility template that extracts a field from a data page.
Parameter | Description | Type | Status | |
---|---|---|---|---|
Page name | 1 | Name of the data page to extract the data from.
| Page name | required |
Field name | 2 | Name of the field to extract from the source page
| Line | required |
Default value | 3 | Default value if the page does not contain the given field, or the field is empty
| String | optional |
This template is based on the Template:Data page.
What is a Data Page?
Suppose a page named "XYZ" contains the following wikitext:
<onlyinclude>{{{{{format|DefaultTemplate}}}
|param1=abc
|foo=bar
|some.property=some value
|empty_value=
|{{{1|}}}
}}</onlyinclude>
Any page that contains code like this is a _data page_. A data page cannot render itself, but instead feeds its parameters to a rendering template ("DefaultTemplate" in this example) which is responsible for rendering the page.
The Template:Data template can extract individual fields from a data page, like this:
Wiki markup | Result |
---|---|
{{data|XYZ|param1}} |
abc |
{{data|XYZ|foo}} |
bar |
{{data|XYZ|some.property}} |
some value |
{{data|XYZ|empty_value}} |
|
{{data|XYZ|empty_value|default value}} |
default value |
{{data|XYZ|value that does not exist|default value}} |
default value |