Template:Data: Difference between revisions

From Kolmafia
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
<includeonly>{{{1|{{{error|Missing parameter '1' for Template:Data}}}{{#ifexist:{{{1|}}}|{{{{{1|}}}|format=#switch:{{{2|}}}|{{{3|}}}}}|{{error|Page '{{{1|}}}' does not exist}}}}</includeonly><noinclude>
<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>
<templatedata>
Line 34: Line 34:


Suppose a page named "XYZ" contains the following wikitext:
Suppose a page named "XYZ" contains the following wikitext:
<syntaxhighlight lang="html"><onlyinclude>{{{{{format|DefaultTemplate}}}
<pre>{{{{{format|DefaultTemplate}}}
|param1=abc
|param1=abc
|foo=bar
|foo=bar
Line 40: Line 40:
|empty_value=
|empty_value=
|{{{1|}}}
|{{{1|}}}
}}</onlyinclude></syntaxhighlight>
}}</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.
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>&lt;onlyinclude&gt;&lt;/onlyinclude&gt;</code> tag.)


The [[Template:Data]] template can extract individual fields from a data page, like this:
The [[Template:Data]] template can extract individual fields from a data page, like this:

Revision as of 21:55, 18 December 2020


Utility template that extracts a field from a data page.

Template parameters[Edit template data]

ParameterDescriptionTypeStatus
Page name1

Name of the data page to extract the data from.

Example
visit_url
Page namerequired
Field name2

Name of the field to extract from the source page

Example
function1.parameter1
Linerequired
Default value3

Default value if the page does not contain the given field, or the field is empty

Example
no_name
Stringoptional

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