Template:Rail icon returns an icon, an image or another preset value, from a subpage of {{Adjacent stations}}.

Module:Adjacent stations/system must exist for this template to work.

  • 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

ਸੋਧੋ

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.

Using Module:Adjacent stations/MTR:

  • {{Rail icon|MTR}}Lua error in package.lua at line 80: module 'Module:Adjacent stations/MTR' not found.
  • {{Rail icon|MTR|name=y}}Lua error in package.lua at line 80: module 'Module:Adjacent stations/MTR' not found.
  • {{Rail icon|MTR|Island}}Lua error in package.lua at line 80: module 'Module:Adjacent stations/MTR' not found.
  • {{Rail icon|MTR|Island|name=y}}Lua error in package.lua at line 80: module 'Module:Adjacent stations/MTR' not found.
  • {{Rail icon|MTR|ISL}}Lua error in package.lua at line 80: module 'Module:Adjacent stations/MTR' not found. (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

ਸੋਧੋ

(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.

  • {{Rail-interchange}} (abbreviated {{rint}}) for a similar template that has icons for many more systems.