Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:Type: Difference between revisions

Template page
m add vector/matrix support
PenguinEncounter (talk | contribs)
m →‎Examples: Add another example
Tag: 2017 source edit
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<includeonly><templatestyles src="Template:Type/style.css"/>{{#if:{{{3|{{{link|}}}}}}
<includeonly><templatestyles src="Template:Type/style.css"/>{{#invoke:Type|run}}</includeonly><noinclude> <!-- Documentation starts here. -->
|{{type/link|{{{1}}}|mod={{{2|{{{mod|}}}}}}|link={{{3|{{{link}}}}}}}}
|{{#switch:{{{1}}}
| nil
| number
| numbers
| double
| doubles
| integer
| integers
| string
| strings
| boolean
| bool
| booleans
| true
| false
| function
| functions
| table
| any
| tables = {{type/builtin|{{{1}}}|mod={{{2|{{{mod|}}}}}}}}
| Vectors
| vectors
| Vector2
| Vector3
| Vector4 = {{type/vector|{{{1}}}|mod={{{2|{{{mod|}}}}}}}}
| Matrices
| matrices
| Matrix2
| Matrix3
| Matrix4 = {{type/vector|{{{1}}}|mod={{{2|{{{mod|}}}}}}}}
| {{type/custom|{{{1}}}|mod={{{2|{{{mod|}}}}}}}}
  }}
}}</includeonly><noinclude> <!-- Documentation starts here. -->
'''Displays a ''type widget''.'''
'''Displays a ''type widget''.'''


* If a link is provided: [[Template:Type/link]]
* All options are routed through [[Module:Type]]. (Edit to add aliases or custom links for matching types.)
* Built-in types: [[Template:Type/builtin]]
* Stylesheet: [[Template:Type/style.css]]. (Edit to add colors and decorations for custom types.)
* Custom types (fallback): [[Template:Type/custom]]. If the page with <code>[argument 1] (type)</code> (i.e. disambiguated) exists, that page will be used instead of the plain name for the link.
 
Stylesheet: [[Template:Type/style.css]] (edit to add colors and decorations for custom types)


== Examples ==
== Examples ==
* {{type|nil}} <code><nowiki>{{type|nil}}</nowiki></code>
* {{type|nil}} <code><nowiki>{{type|nil}}</nowiki></code>
* {{type|number}}
* {{type|number}}
* {{type|number|?}} (optional number)
* {{type|integer}}, {{type|double}}, {{type|float}}
* {{type|numbers|?}} (optional number)
* {{type|numbers|[]}} (array of numbers)
* {{type|string}}
* {{type|string}}
* {{type|boolean}}
* {{type|boolean}}
* {{type|function}}
* {{type|function}}
* {{type|table}}
* {{type|table}}
* {{type|Vectors}} ({{type|Vector2}}, {{type|Vector3}}, {{type|Vector4}})
* {{type|Vector}} ({{type|Vector2}}, {{type|Vector3}}, {{type|Vector4}})
* {{type|Matrices}} ({{type|Matrix2}}, {{type|Matrix3}}, {{type|Matrix4}})
* {{type|Matrix}} ({{type|Matrix2}}, {{type|Matrix3}}, {{type|Matrix4}})
* {{type|Event}} (custom type that exists)
* {{type|Event}} (custom type that exists)
* {{type|CrashAPI}} (custom type that doesn't exist)
* {{type|CrashAPI}} (custom type that doesn't exist)
* {{type|Main Page|link=Main Page}} (links to the [[Main Page]]) <code><nowiki>{{type|Main Page|link=Main Page}}</nowiki></code>
* {{type|Main Page|link=Event}} (links to [[Event]]) <code><nowiki>{{type|Main Page|link=Event}}</nowiki></code>
[[Template:Type/testcases|Testcases page.]]
[[Template:Type/testcases|Testcases page.]]
<templatedata>
<templatedata>
Line 68: Line 33:
"string",
"string",
"function",
"function",
"table"
"table",
"Vector",
"Matrix"
],
],
"required": true
"required": true,
"aliases": [
"name"
],
"description": "Type name ('table' etc.) Supports modifiers, like ? and [].",
"type": "string"
},
"2": {
"description": "Type modifiers (compatibility)",
"deprecated": "Attach modifiers directly to the type name."
},
},
"link": {
"link": {
"aliases": [
"3"
],
"label": "Custom link target",
"label": "Custom link target",
"type": "wiki-page-name"
"type": "wiki-page-name"
},
},
"mod": {
"text": {
"aliases": [
"label": "Custom text",
"2"
"description": "If provided, this text will be displayed instead of the type name. The link and styling will still be determined by the type name.",
],
"type": "content"
"label": "Type modifiers",
"description": "Modifiers to the type, like array / optional",
"type": "content",
"suggestedvalues": [
"[]",
"?",
"[]?"
]
}
}
},
},
Line 96: Line 61:
"paramOrder": [
"paramOrder": [
"1",
"1",
"mod",
"link",
"link"
"text",
"2"
],
],
"format": "inline"
"format": "inline"
}
}
</templatedata></noinclude>
</templatedata></noinclude>

Latest revision as of 23:56, 29 October 2024

Displays a type widget.

  • All options are routed through Module:Type. (Edit to add aliases or custom links for matching types.)
  • Stylesheet: Template:Type/style.css. (Edit to add colors and decorations for custom types.)

Examples

  • nil {{type|nil}}
  • number
  • integer, double, float
  • numbers | nil (optional number)
  • numbers[] (array of numbers)
  • string
  • boolean
  • function
  • table
  • Vector (Vector2, Vector3, Vector4)
  • Matrix (Matrix2, Matrix3, Matrix4)
  • Event (custom type that exists)
  • CrashAPI (custom type that doesn't exist)
  • Main Page (links to Event) {{type|Main Page|link=Event}}

Testcases page.

Displays and links to types.

Template parameters[Edit template data]

This template prefers inline formatting of parameters.

ParameterDescriptionTypeStatus
Type name1 name

Type name ('table' etc.) Supports modifiers, like ? and [].

Suggested values
nil boolean integer number string function table Vector Matrix
Stringrequired
Custom link targetlink

no description

Page nameoptional
Custom texttext

If provided, this text will be displayed instead of the type name. The link and styling will still be determined by the type name.

Contentoptional
22

Type modifiers (compatibility)

Unknowndeprecated
Contents