Template:Data: Difference between revisions
m Philmasterplus moved page User:Philmasterplus/Data to Template:Data: Testing complete, ready for use |
No edit summary |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<includeonly>{{#ifexist:{{{1|}}}|{{ | <includeonly>{{#if:{{{1|}}}||{{error|Missing parameter '1' for Template:Data}}}}{{#ifexist:{{{1|}}}|{{:{{{1|}}}|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 in the KoL wiki. | ||
<pre> | |||
==What is a Data Page?== | |||
Suppose a page named "XYZ" contains the following wikitext: | |||
</pre> | <pre>{{{{{format|DefaultTemplate}}} | ||
|param1=abc | |||
|foo=bar | |||
|some.property=some value | |||
|empty_value= | |||
|{{{1|}}} | |||
}}</pre> | |||
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. | |||
(Note: The markup above must be wrapped in a <code><onlyinclude></onlyinclude></code> tag.) | |||
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> |
Latest revision as of 12:02, 20 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 in the KoL wiki.
What is a Data Page?
Suppose a page named "XYZ" contains the following wikitext:
{{{{{format|DefaultTemplate}}} |param1=abc |foo=bar |some.property=some value |empty_value= |{{{1|}}} }}
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.
(Note: The markup above must be wrapped in a <onlyinclude></onlyinclude>
tag.)
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 |