Templat:Rail icon
This template is used on many pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
Pages related to |
Module:Adjacent stations |
---|
(talk | sandbox | sub-pages) |
{{Infobox station}} |
(talk | sandbox | testcases) |
{{Station link}} |
(talk | sandbox | testcases) |
{{Station icon link}} |
(talk | sandbox | testcases) |
{{Rail color}} |
(talk | sandbox | testcases) |
{{Line link}} |
(talk | sandbox | testcases) |
{{Short line link}} |
(talk | sandbox | testcases) |
{{Rail icon}} |
(talk | sandbox | testcases) |
{{Rail color box}} |
(talk | sandbox | testcases) |
{{Adjacent stations}} |
(talk | sandbox | testcases) |
{{Line terminus link}} |
(talk | sandbox | testcases) |
This template uses Lua: |
Template:Rail icon returns an icon, an image or another preset value, from a subpage of {{Adjacent stations}}.
Usage
[simbanai toud]Module:Adjacent stations/system
must exist for this template to work.
Variables
[simbanai toud]- system is the name of the system or an abbreviation.
- line is the line name, if any.
- branch is the name of the branch or service, if any.
Parameters
[simbanai toud]Optional parameters:
|size=
– image size, expressed as width (15px
), height (x15px
) or both if necessary (15x15px
).|link=
– image link (full page name)|alt=
– alt text|bold=
– setting for some types of text-based icon; default is "yes" for all of those types|name=y
– setting to any value will add the system or line name.
Examples
[simbanai toud]Using Module:Adjacent stations/MTR:
{{Rail icon|MTR}}
→ MTR{{Rail icon|MTR|name=y}}
→ MTR MTR{{Rail icon|MTR|Island}}
→{{Rail icon|MTR|Island|name=y}}
→ Island line{{Rail icon|MTR|ISL}}
→ (using the "isl" alias)
If there are two or more images by default, then the image-applicable values will be set for all of them.
Addition of values in module subpages
[simbanai toud](For simplicity, {{Rail color box}} is used here to refer to the p._box function in Module:Adjacent stations.)
Each module subpage sends a Lua table to Module:Adjacent stations. The outermost table (often the table called p
, or otherwise the table after return
. Lua tables ({ ... }
) contain keys and values, which can be in the format ["key"] = value
. Values can be strings/characters ("value"
, tables, or other values. Key–value pairs are separated by commas.
In the main (outermost) table, either or both of the keys "icon format" and "icon" can be used to specify an icon (i.e. as an entry in the table like ["icon"] = "value"
).
The value for "icon" is the standard file syntax for an inline image; there should be alt text, a page link and a size value; see Wikipedia:Extended image syntax.
If there is a value for the "icon format" key and it is not "image", then {{Rail color box}} is used, with the display style being the value of "icon format"; all inputs except "alt" and "size" are passed through appropriately. (Note that {{Rail color box}} does not currently work without a line name.)
Lines are added as tables with named keys inside the "lines" table, which is inside the main table (i.e. ... ["lines"] = {["line name"] = { ... line table ... } } ...
). Entries for "icon format" and "icon" work similarly inside these tables. If many lines have the same icon format, then a "line icon format" value can be added to the main table.
Types are added as tables inside their line tables (each type is a variation of a line). Entries for "icon format" and "icon" work similarly inside these tables. If many types have the same icon format, then a "type icon format" value can be added to the main table.
Lines and types can have aliases; these are all listed in the table with the key "aliases" inside the main table. The keys in that table should be lowercase, and the values should refer to the key of a branch or line table (e.g. ... ["aliases"] = {["r"] = "Red", ["b"] = "Blue"} ...
, where both "Red" and "Blue" are valid line or type names).
If {{Rail color box}} is used, then the key "color" and any of the keys "line title", "branch title", "short name" and "text color" should be present in the applicable table.
See also
[simbanai toud]- {{Rail-interchange}} (abbreviated {{rint}}) for a similar template that has icons for many more systems.