Template:Routemap/doc/sandbox

This template is used for constructing route diagram templates. It is the Lua-based successor of the {{BS-map}} templates, which have been superseded by {{Routemap/sandbox/1}} on the English Wikipedia but are still used on other wikis.

Usage

This template is used for constructing route diagram templates. It is the Lua-based successor of the {{BS-map}} templates, which have been superseded by {{Routemap/sandbox/1}} on the English Wikipedia but are still used on other wikis.

Usage

检测到模板循环:Template:Parameter names example

{{Routemap/sandbox/1
|navbar		= 
|navbar pos	= 
|navbar mini	= 
|title		= 
|title color	= 
|title bg	= 
|bg		= 
|inline		= 
|collapsible	= 
|collapse	= 
|legend		= 
|legend alt	= 
|float		= 
|style		= 
|top		= 
|footnote	= 
|text-width	= 
|map		=
}}

Markup for map parameter

The markup for composing the diagram in the |map= parameter is different to the {{BSrow}}-based templates. The major differences are the separators in each row. Subtemplates are not necessary, since a new row in the table is simply created by a carriage return (newline).

{{Routemap/sandbox/1
Add other parameters like |title= here.
|map=
Map markup goes here!
}}

Basic

Example 1.1
exCONTg
ENDExa
CONTgq\KRZu\CONTfq
BHF
\ABZgl\CONTfq
CONTf
icon ID\icon ID\icon ID
  • Icons are separated by the backslash \.
  • Each group of icons is centered in its row. The nameless icon (at the start of row 5 in the diagram) can be used as a spacer.
  • The ID of each icon can be seen in its tooltip. Move your cursor over the icons to see them.
icon ID\icon ID\icon ID~~dist./time~~main text~~remark~~right remark

or

icon ID\icon ID\icon ID~~main text
{{Routemap/sandbox/1
|title=Example 1.2
|map=
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • The third and fourth pairs of tildes can be omitted if there is no content following either of them.
  • After the last icon ID, if there is only one set of "tilde-tilde" (~~), the following text will be displayed in the main text cell instead of dist./time.
  • Separating text cells requires at least one empty space; otherwise the tildes will be treated as a signature.

Text cells in icon rows

*text\d*text\cd*text~~main text
{{Routemap/sandbox/1
|title=Example 1.3
|map=
ENDEa~~ ~~ ~~Reversing siding
SPLa
cPLT\vSTR\cPLT~~Station
d*1\cPLT\vSTR\cPLT\d*2~~ ~~ ~~Platform numbers
cPLT\vSTR\cPLT
vCONTfge~~ ~~ ~~''to City''
}}
检测到模板循环:Template:Routemap/doc/sandbox

The asterisk indicating a text cell can be preceded by one of the BSicons' width prefixes. (Normal BSicons are square.)

Letters o c d cd none b s bs w
Width 18 14 12 34 1 2 4 6 8

Icon overlay, icon link, background color and colspan

{{Routemap/sandbox/1
|title=Example 2.1
|map=
-colspan-1
Icon overlay
uSTRq!~STR2!~BHF!~lHUB\\dSTR!~uSTRq\dSTR!~dNULf
-colspan-2-style=border-bottom:5px solid red;
----
icon link
utBHF!@Superhub
-colspan
----
background color
-colspan-end
utSTR~~ ~~ ~~ ~~ ~~bg=#7af
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Overlay separator "exclamation mark-tilde" (!~) must follow the icon ID which is to be overlaid.
  • Overlay is practically unlimited, but legibility should be taken into account.
  • The width of the underlying icon determines the width of the combination, even if less than the overlay. The icons are aligned with their left edges together, so that they will not be centered on each other if they differ in width. If the overlay extends past the underlying icon, it will overlay the following icon (but not the following icon's overlay).
  • When using icon overlay and icon link for the same icon cell, the icon link separator (!@) must follow the last (top) overlaying icon ID.
  • The background color parameter (bg=) requires 5 sets of preceding text separators to be recognizable even if there is no text on that row whatsoever.

Other formatting options

Rows

{{Routemap/sandbox/1
|title=Example 2.2
|map=
utSTR~~ ~~ ~~{{mono|1=bg=<abbr title="This is the normal BSicon color for watercourses.">#007CC3</abbr>}}~~ ~~bg=#007CC3
*1\*2\*3~~ ~~ ~~{{mono|1=color=red,bold=yes}}~~ ~~color=red,bold=yes
*A\*C\*E~~ ~~ ~~{{mono|1=align=l,b=1,fontsize=cmt}}~~ ~~align=left,b=1,fontsize=cmt
*B\*D\*F~~ ~~ ~~{{mono|1=colour=orange, align=b, i=y}}~~ ~~colour=orange, align=b, i=y
}}
检测到模板循环:Template:Routemap/doc/sandbox

Aside from bg=, there are several other parameters, separated by commas (,), which can be used to customize the display of a row. Only bg= can be used to change the display of icons; all others only affect text cells.

Row parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Row background is colored
color= or colour= Any X11 color name or RGB hex triplet Text cells in a row are colored
b= or bold= 1, yes, y or true Text cells in a row are emboldened
i=, it= or italic= 1, yes, y or true Text cells in a row are italicized
align= No or invalid value Text in cells is centered horizontally and vertically
l or left Text in cells is aligned to the left
r or right Text in cells is aligned to the right
a, t or top Text in cells is aligned to the top
e, b or bottom Text in cells is aligned to the bottom
la, tl, c4, nw, top-left or topleft Text in cells is aligned to the top-left corner
ra, tr, c1, ne, top-right or topright Text in cells is aligned to the top-right corner
le, bl, c3, sw, bottom-left or bottomleft Text in cells is aligned to the bottom-left corner
re, br, c2, se, bottom-right or bottomright Text in cells is aligned to the bottom-right corner
fontsize= No value Text in cells is 10px high and is transformed to be narrower (example)
info or main Text in cells is the same size as the large sidebar text (second column from center)
cmt or comment Text in cells is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text in cells is a different size (percentages are relative to the large sidebar text)

Individual cells/icons

icon!_bg=purple\*text__align=l!~*more text__align=r,b=yes
  • Parameters for a single icon or text cell (e.g. BHF, *Text) are preceded by two underscores (__).
  • Parameters for the contents of a table cell (a stack of overlaid objects, or a single icon or text box with no overlays) are preceded by an exclamation mark and an underscore (!_). This must follow the link (if any).
  • For the last overlaid item in a stack, the individual item parameters (if any) must precede the stack parameters.
  • Most of the parameters are the same as those for rows, but there are a few additional ones. Additionally, the values for align=, bg= and color= will override the row parameter values.
Icon, text box and overlay stack parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Background is colored
This should not be used with overlays above icons.
color= or colour= Any X11 color name or RGB hex triplet All the text of a cell, or the text of an individual text box, is colored
b= or bold= 1, yes, y or true Boldfaced text
i=, it= or italic= 1, yes, y or true Italicized text
align= No or invalid value Text is aligned per parameters of its parent (default: centered vertically and horizontally)
l or left Text is aligned to… (vertical / horizontal)
"Inherit" indicates that the cell will inherit its parent's value for that axis.
inherit left
r or right inherit right
a, t or top top inherit
e, b or bottom bottom inherit
la, tl, c4, nw, top-left or topleft top left
ra, tr, c1, ne, top-right or topright top right
le, bl, c3, sw, bottom-left or bottomleft bottom left
re, br, c2, se, bottom-right or bottomright bottom right
c, center or centre inherit center
m or middle middle inherit
ma, tc, top-center, top-centre, topcenter or topcentre top center
me, bc, bottom-center, bottom-centre, bottomcenter or bottomcentre bottom center
lm, ml, middle-left or middleleft middle left
rm, mr, middle-right or middleright middle right
cm, mc, middle-center, middle-centre, middlecenter or middlecentre middle center
fontsize= No value Text is 10px high and is transformed to be narrower (example)
info or main Text is the same size as the large sidebar text (second column from center)
cmt or comment Text is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text is a different size (percentages are relative to the large sidebar text)
abbr= Pretty much anything that doesn't mess up the MediaWiki markup Text has dotted underline and a tooltip containing the text after abbr=
This will not have any effect if used on an overlay stack.

Collapsible

{{Routemap/sandbox/1
|title=Example 3.1: Basic collapsible
|text-width=80
|map=
-startCollapsible-collapsed
\KBHFa\~~terminus
hSTRa@g
WASSERq\hKRZW\WASSERq~~ ~~ ~~ ~~bridge
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 3.2:<br/>Mixed odd and even rows
|tw=70
|map=
-startCollapsible-collapsed
d\KBHFa\d~~terminus
hKRZWae~~ ~~ ~~bridge
-endCollapsible-
BS2+l\BS2+r~~junction
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Adjust |text-width= (or |tw=) parameter until there is no break.
    • Unit is "px" by default, but other units such as "em" are acceptable.
    • Check the map in different browser and in mobile view, and increase text-width if it breaks.
  • The icon number of the first row of collapsible section must be equal to or greater than the icon number of the widest non-collapsible row.
    • As in example 3.2, use half-width empty icon 未定義路線圖圖標屬性"d"d) as filler when you are mixing both odd and even rows in the same map.
  • Changing "collapsed" to "nil" will change the default state of the collapible section to uncollapsed.

Collapsible replacement

{{Routemap/sandbox/1
|title=Example 4.1
|text-width=150
|map=
KBHFa~~terminus
-startCollapsible-collapsed-replace
\LSTR\~~hidden section
\hSTRa@g\
WASSERq\hKRZW\WASSERq~~ ~~ ~~viaduct
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 4.2: Empty filler
|text-width=150
|map=
-startCollapsible-collapsed-replace
exCONTg~~under construction
leer
exKBHFa~~future terminus
exBHF~~future station
-endCollapsible
KBHFxa~~terminus
KBHFe~~terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Both replacement and replaced rows must be as wide as the widest non-collapsible row in the diagram.
  • If you want to hide the replaced row after expanding the collapsible, use icon leer) as empty filler as in example 4.2.
  • In any case, mind to provide a sufficient text-width. Here, using text-width=120 would break the alignment of the icons.
  • Collapsible elements are intentionally disabled in mobile view, so the replaced row will never be visible. Keep this in mind while creating a diagram.

Dual text sidebar

For larger and more complicated diagrams, it often helps to have a text sidebar on the left as well as the right.

left-left remark~~left remark~~left main text~~left dist./time! !icon ID~~right dist./time~~right main text~~right remark~~right-right remark

or

left main text! !icon ID~~right main text
{{Routemap/sandbox/1
|title=Example 5
|map=
~~km! !~~km~~
commuter terminus~~0! !uKBHFa\\KBHFa~~0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~ ~~ ~~bridge
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2! !uKBHFe\\KBHFe~~2~~regional terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Left text cells require "exclamation mark-space-exclamation mark" (! !) separating them from icon cells.
  • If there is no "tilde-tilde" (~~) separator to the left of "exclamation mark-space-exclamation mark", the text to the left of the separator will be displayed in the left main text cell.

Dual text sidebar collapsible

Code Result
{{Routemap/sandbox/1
|title=Example 6.1: All text cells applied
|text-width=,130,,,110,
|map=
~~km! !\\~~km~~
-startCollapsible
commuter terminus~~0{{0|00}}! !uKBHFa\leer\KBHFa~~{{0|00}}0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~~~ ~~bridge
-endCollapsible
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2{{0|00}}! !uKBHFe\\KBHFe~~{{0|00}}2~~regional terminus
}}
Example 6.1: All text cells applied
km
km
commuter terminus
000
000
regional terminus
River Boris
bridge
transfer for HSR
station
1
commuter terminus
200
002
regional terminus
{{Routemap/sandbox/1
|title=Example 6.2: Only main text cell applied
|style=width:380px
|text-width=,120,,,120,
|map=
-startCollapsible
commuter terminus! !uKBHFa\\KBHFa~~regional terminus
River Boris! !uhKRZWae\WASSERq\hKRZWae~~bridge
-endCollapsible
station! !uINT\LDER\LSTR
commuter terminus! !uKBHFe\\KBHFe~~regional terminus
}}
Example 6.2: Only main text cell applied
commuter terminus
regional terminus
River Boris
bridge
station
commuter terminus
regional terminus
  • Apply |text-width= to eliminate the break:
    • Only 1 value: right main text+right remark
    • 3 values, separated by commas: right dist./time,right main text+right remark,right-right remark
    • 6 values: Left-left remark,left remark+left main text,left dist./time,right dist./time,right main text+right remark,right-right remark
    • If the number of values is not equal to 1, 3 or 6, the entire parameter will be ignored.
  • If the text width of right-right remark is smaller than needed, its width definition can be omitted, as in example 6.1.
  • If a specific text cell is not used anywhere on the map, that width definition can be omitted, as in example 6.2.
  • Define the general table width with the {{{style}}} parameter if {{{text-width}}} alone cannot prevent a break.
  • If the empty icon cell of the collapsible row is being squashed, use empty icon leer) to correct the icon columns.

Filler rows

Code Result
{{Routemap/sandbox/1
|title=Example 7
|map=
uKBHFa!~HUBaq\HUBq\KBHFa orange!~HUBeq
-filler--#003399\\#FF6600
uBHF!~HUBaq\KBHFa!~HUBq\BHF orange!~HUBeq
-filler--u\-\orange
uKBHFe!~HUBaq\KBHFxe!~HUBq\KBHFxe orange!~HUBeq
-filler-80px-\ex\ex_orange~~ ~~ ~~Sample<br>text~~ ~~bg=#007CC3
\exKBHFe!~HUBaq\exKBHFe orange!~HUBeq
}}
Example 7
Sample<br>text

Syntax overview

Syntax Purpose
\ Icon separator
!~ Icon overlay
!@ Icon link
!_ Precedes icon stack formatting parameters
__ Precedes icon formatting parameters
~~ Text separator
! ! Separator between icons and left-column text
key=value,... Formatting parameters
-startCollapsible Start of collapsing section
-endCollapsible End of collapsing section
-colspan Start of non-diagram table cell
-colspan-end End of non-diagram table cell
-colspan-n Start of non-diagram table cell; next n lines of code are in that cell (n can be any positive whole number)
-filler-... Start of filler row

Transition from legacy BS row template to Routemap/sandbox/1 markup

Conversion policies

Many contributors of the English Route Diagram Template project during the implementation of Routemap/sandbox/1 have conflicting opinions about the justification of replacing all maps of legacy BS row templates by the Lua-based Routemap/sandbox/1. Opponents deem the map markups of Routemap/sandbox/1 to be too esoteric for editors unfamiliar with Routemap/sandbox/1 markup to modify. While proponents support a complete conversion for better performance. There is no consensus reached at the moment so any transition without massively updating the map appearance for reflecting service and/or structural change in reality should only be done with the following considerations:

  • The map of the legacy BS row template design has exceeded template size limit in the transcluding page, which means the template does not expand into its intended appearance but only the link to the template page is shown, so there is an imminent need to translate the map into Routemap/sandbox/1 design to reduce post-expand include size.
  • If there is no template size issue, respect the preference of the initial contributor of the first completed version of the diagram. If that contributor contests the change to Routemap/sandbox/1, retain the BS row template design.

Technical options

All BS row templates have had substitutable counterparts created; hence conversion can be easily done by prepending subst: and appending /safesubst to every BS row template name in the map. For example, change {{BS2|STR|BHF|0|1|2|3|O1=uSTRq}} in the map to {{subst:BS2/safesubst|STR|BHF|0|1|2|3|O1=uSTRq}}, then publish changes; it will produce STR!~uSTRq\BHF~~0~~1~~2~~3. The process can be sped up by using the "replace all" function of advanced edit tool or separate text editor such as Notepad or Notepad++, but the search rule for the BS row templates should ideally be a regular expression, like \{\{(BS\d*(\-2)?)\|{{subst:$1/safesubst|, in order to avoid templates with similar names such as BSto and BSsplit in case they are present in the map.

"Column mode editing" can avoid the trouble of find and replace to add safesubst: on all rows efficiently. This function is common in advanced text editors like Geany,[1] Notepad++[2] and Sublime Text[3].

You can also use the "convertbs" function of Module:Routemap/sandbox/1.

Function convertbs

Copy and paste the following code to any edit area of this wiki, maybe the map page you are working on:

{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>

</nowiki>}}

Then copy and paste the original BS-map or BS-table map code between the <nowiki> tags (alternatively paste the invoke convertbs header before the original map code and the </nowiki>}} ending after the map code) and show preview. It will generate the safesubst version and show the original versions (for comparison) of the map code. You copy the safesubst code from the preview area back to the edit area, and you should remove everything of #invoke:Routemap/sandbox/1|convertbs if the preview of the new code works properly.

On the English Wikipedia, the template {{subst:convertbs}} can be used as a shortcut:

{{subst:convertbs|1=

}}

If it doesn't work, it's possible that you haven't copied some of the relevant code, such as table markup for BS-table diagrams, or that you've copied code which actually belongs to something else.

Example
{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>
{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
</nowiki>}}
Result

Safe substitution:

{{Routemap
|title=Demonstration
|map=
{{safesubst:BS/safesubst|KBHFa|0 km|A station|Shuttle bus}}
{{safesubst:BS3/safesubst|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{safesubst:BS/safesubst|KINTe|10 km|B station|City hub}}
-colspan-2
----
Not to scale
}}

Original:

{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
Copy safe substitution markup for actual usage
检测到模板循环:Template:Routemap/doc/sandbox

Embedding into infobox

  • Use {{{inline}}} to remove title bar and table border. If creating a separate template which will be embedded into an infobox, wrap inline=1 in <includeonly>...</includeonly> tags. Also {{{navbar pos}}} is helpful to locate the {{Navbar}} better.
{{Infobox station
| name = {{color box|orange}} Station layout
| image = Placeholder.png
| image_upright = 0.5
| image_caption = Platform level
| opened = {{Start date|1935|05|15|df=y}}
| tracks = 2
| route_map =
{{Routemap/sandbox/1|inline=1|navbar=asd|navbar pos=2|
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
}}
  Station layout
Platform level
Platform level
股道2
历史
启用日期1935年5月15日 (1935-05-15)
站线配置图
检测到模板循环:Template:Routemap/doc/sandbox

Template data

以下是该模板的模板数据,适用于可视化编辑器等工具。

Routemap/doc模板数据

Template for displaying diagram composed of icon images and text labels in uniform style.

模板参数[编辑模板数据]

此模板首选参数换行的代码块格式。

参数描述类型状态
Inline stateinline

Remove title bar and border for transclusion in infobox

字符串可选
Table titletitle

Official title of the system. Value «no» will remove the table title row, but this will also disable the table collapsible switch as well

字符串可选
Title font colortitle color title-color

Color of the title's text; automatically black or white to contrast with the title background color. Only use colors that contrast well with the background color

默认值
#FFF or #252525; depends
字符串可选
Title background colortitle bg color title-bg

Background color of the title

默认值
#27404E
字符串可选
Collapsibilitycollapsible

Whether the whole infobox is collapsible or not

字符串可选
Collapsing statecollapse collapsed

Collapsing state. Shown by default. Any value will make the table collapse by default

字符串可选
Template name for Navbarnavbar

This must exactly match the diagram template page name so the Navbar template will appear and link to the template page

字符串可选
Position of the Navbarnavbar pos

Position of the Navbar template. Float to left in the title bar by default; «1» for top-left corner of the map (just under the title bar); «2» for the middle bottom of the map

字符串可选
Small navbarnavbar mini

If the navbar is not in default position, then this changes whether the navbar displays as "V · T · E" (default for navbar pos 1; values: «1», «y», «yes», «true») or "This diagram: view · talk · edit" (default for navbar pos 2; values: «0», «n», «no», «false»).

字符串可选
Legend appearancelegend

Alias of the legend link. It can be «bus», «canal», «footpath», «road» or «track». «0» or «no» for no legend at all

默认值
Template:Railway line legend
页面名称可选
Legend link textlegend alt

Different link name in place of «Legend» if desirable

默认值
Legend
字符串可选
Floating statefloat

Floating state of the whole box: «right» by default; optionally «left» or «none»

默认值
right
字符串可选
Background colorbg

Background color of the whole map area

默认值
#F9F9F9
字符串可选
CSS style valuesstyle

Additional CSS style definition of the whole infobox

字符串可选
Top notetop on top

Space for optional note or infobox above the map

字符串可选
Bottom notefootnote bottom

Space for optional note or infobox below the map

字符串可选
Width of map text celltext-width tw

Extend the width of the map text cell so the collapsible section within the map does not break

字符串可选
Map markupsmap 1

Map data which uses specific markup/separators to load icon image and arrange the text in the uniform style. Use "map2", "map3" etc. for additional maps

字符串必需
Map titlemap-title

Title of map. Use "map2-title", "map3-title" etc. for titles of addition maps

字符串可选


{{Routemap/sandbox/1
|navbar		= 
|navbar pos	= 
|navbar mini	= 
|title		= 
|title color	= 
|title bg	= 
|bg		= 
|inline		= 
|collapsible	= 
|collapse	= 
|legend		= 
|legend alt	= 
|float		= 
|style		= 
|top		= 
|footnote	= 
|text-width	= 
|map		=
}}

Markup for map parameter

The markup for composing the diagram in the |map= parameter is different to the {{BSrow}}-based templates. The major differences are the separators in each row. Subtemplates are not necessary, since a new row in the table is simply created by a carriage return (newline).

{{Routemap/sandbox/1
Add other parameters like |title= here.
|map=
Map markup goes here!
}}

Basic

Example 1.1
exCONTg
ENDExa
CONTgq\KRZu\CONTfq
BHF
\ABZgl\CONTfq
CONTf
icon ID\icon ID\icon ID
  • Icons are separated by the backslash \.
  • Each group of icons is centered in its row. The nameless icon (at the start of row 5 in the diagram) can be used as a spacer.
  • The ID of each icon can be seen in its tooltip. Move your cursor over the icons to see them.
icon ID\icon ID\icon ID~~dist./time~~main text~~remark~~right remark

or

icon ID\icon ID\icon ID~~main text
{{Routemap/sandbox/1
|title=Example 1.2
|map=
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}

This template is used for constructing route diagram templates. It is the Lua-based successor of the {{BS-map}} templates, which have been superseded by {{Routemap/sandbox/1}} on the English Wikipedia but are still used on other wikis.

Usage

{{Routemap/sandbox/1
|navbar		= 
|navbar pos	= 
|navbar mini	= 
|title		= 
|title color	= 
|title bg	= 
|bg		= 
|inline		= 
|collapsible	= 
|collapse	= 
|legend		= 
|legend alt	= 
|float		= 
|style		= 
|top		= 
|footnote	= 
|text-width	= 
|map		=
}}

Markup for map parameter

The markup for composing the diagram in the |map= parameter is different to the {{BSrow}}-based templates. The major differences are the separators in each row. Subtemplates are not necessary, since a new row in the table is simply created by a carriage return (newline).

{{Routemap/sandbox/1
Add other parameters like |title= here.
|map=
Map markup goes here!
}}

Basic

Example 1.1
exCONTg
ENDExa
CONTgq\KRZu\CONTfq
BHF
\ABZgl\CONTfq
CONTf
icon ID\icon ID\icon ID
  • Icons are separated by the backslash \.
  • Each group of icons is centered in its row. The nameless icon (at the start of row 5 in the diagram) can be used as a spacer.
  • The ID of each icon can be seen in its tooltip. Move your cursor over the icons to see them.
icon ID\icon ID\icon ID~~dist./time~~main text~~remark~~right remark

or

icon ID\icon ID\icon ID~~main text
{{Routemap/sandbox/1
|title=Example 1.2
|map=
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • The third and fourth pairs of tildes can be omitted if there is no content following either of them.
  • After the last icon ID, if there is only one set of "tilde-tilde" (~~), the following text will be displayed in the main text cell instead of dist./time.
  • Separating text cells requires at least one empty space; otherwise the tildes will be treated as a signature.

Text cells in icon rows

*text\d*text\cd*text~~main text
{{Routemap/sandbox/1
|title=Example 1.3
|map=
ENDEa~~ ~~ ~~Reversing siding
SPLa
cPLT\vSTR\cPLT~~Station
d*1\cPLT\vSTR\cPLT\d*2~~ ~~ ~~Platform numbers
cPLT\vSTR\cPLT
vCONTfge~~ ~~ ~~''to City''
}}
检测到模板循环:Template:Routemap/doc/sandbox

The asterisk indicating a text cell can be preceded by one of the BSicons' width prefixes. (Normal BSicons are square.)

Letters o c d cd none b s bs w
Width 18 14 12 34 1 2 4 6 8

Icon overlay, icon link, background color and colspan

{{Routemap/sandbox/1
|title=Example 2.1
|map=
-colspan-1
Icon overlay
uSTRq!~STR2!~BHF!~lHUB\\dSTR!~uSTRq\dSTR!~dNULf
-colspan-2-style=border-bottom:5px solid red;
----
icon link
utBHF!@Superhub
-colspan
----
background color
-colspan-end
utSTR~~ ~~ ~~ ~~ ~~bg=#7af
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Overlay separator "exclamation mark-tilde" (!~) must follow the icon ID which is to be overlaid.
  • Overlay is practically unlimited, but legibility should be taken into account.
  • The width of the underlying icon determines the width of the combination, even if less than the overlay. The icons are aligned with their left edges together, so that they will not be centered on each other if they differ in width. If the overlay extends past the underlying icon, it will overlay the following icon (but not the following icon's overlay).
  • When using icon overlay and icon link for the same icon cell, the icon link separator (!@) must follow the last (top) overlaying icon ID.
  • The background color parameter (bg=) requires 5 sets of preceding text separators to be recognizable even if there is no text on that row whatsoever.

Other formatting options

Rows

{{Routemap/sandbox/1
|title=Example 2.2
|map=
utSTR~~ ~~ ~~{{mono|1=bg=<abbr title="This is the normal BSicon color for watercourses.">#007CC3</abbr>}}~~ ~~bg=#007CC3
*1\*2\*3~~ ~~ ~~{{mono|1=color=red,bold=yes}}~~ ~~color=red,bold=yes
*A\*C\*E~~ ~~ ~~{{mono|1=align=l,b=1,fontsize=cmt}}~~ ~~align=left,b=1,fontsize=cmt
*B\*D\*F~~ ~~ ~~{{mono|1=colour=orange, align=b, i=y}}~~ ~~colour=orange, align=b, i=y
}}
检测到模板循环:Template:Routemap/doc/sandbox

Aside from bg=, there are several other parameters, separated by commas (,), which can be used to customize the display of a row. Only bg= can be used to change the display of icons; all others only affect text cells.

Row parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Row background is colored
color= or colour= Any X11 color name or RGB hex triplet Text cells in a row are colored
b= or bold= 1, yes, y or true Text cells in a row are emboldened
i=, it= or italic= 1, yes, y or true Text cells in a row are italicized
align= No or invalid value Text in cells is centered horizontally and vertically
l or left Text in cells is aligned to the left
r or right Text in cells is aligned to the right
a, t or top Text in cells is aligned to the top
e, b or bottom Text in cells is aligned to the bottom
la, tl, c4, nw, top-left or topleft Text in cells is aligned to the top-left corner
ra, tr, c1, ne, top-right or topright Text in cells is aligned to the top-right corner
le, bl, c3, sw, bottom-left or bottomleft Text in cells is aligned to the bottom-left corner
re, br, c2, se, bottom-right or bottomright Text in cells is aligned to the bottom-right corner
fontsize= No value Text in cells is 10px high and is transformed to be narrower (example)
info or main Text in cells is the same size as the large sidebar text (second column from center)
cmt or comment Text in cells is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text in cells is a different size (percentages are relative to the large sidebar text)

Individual cells/icons

icon!_bg=purple\*text__align=l!~*more text__align=r,b=yes
  • Parameters for a single icon or text cell (e.g. BHF, *Text) are preceded by two underscores (__).
  • Parameters for the contents of a table cell (a stack of overlaid objects, or a single icon or text box with no overlays) are preceded by an exclamation mark and an underscore (!_). This must follow the link (if any).
  • For the last overlaid item in a stack, the individual item parameters (if any) must precede the stack parameters.
  • Most of the parameters are the same as those for rows, but there are a few additional ones. Additionally, the values for align=, bg= and color= will override the row parameter values.
Icon, text box and overlay stack parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Background is colored
This should not be used with overlays above icons.
color= or colour= Any X11 color name or RGB hex triplet All the text of a cell, or the text of an individual text box, is colored
b= or bold= 1, yes, y or true Boldfaced text
i=, it= or italic= 1, yes, y or true Italicized text
align= No or invalid value Text is aligned per parameters of its parent (default: centered vertically and horizontally)
l or left Text is aligned to… (vertical / horizontal)
"Inherit" indicates that the cell will inherit its parent's value for that axis.
inherit left
r or right inherit right
a, t or top top inherit
e, b or bottom bottom inherit
la, tl, c4, nw, top-left or topleft top left
ra, tr, c1, ne, top-right or topright top right
le, bl, c3, sw, bottom-left or bottomleft bottom left
re, br, c2, se, bottom-right or bottomright bottom right
c, center or centre inherit center
m or middle middle inherit
ma, tc, top-center, top-centre, topcenter or topcentre top center
me, bc, bottom-center, bottom-centre, bottomcenter or bottomcentre bottom center
lm, ml, middle-left or middleleft middle left
rm, mr, middle-right or middleright middle right
cm, mc, middle-center, middle-centre, middlecenter or middlecentre middle center
fontsize= No value Text is 10px high and is transformed to be narrower (example)
info or main Text is the same size as the large sidebar text (second column from center)
cmt or comment Text is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text is a different size (percentages are relative to the large sidebar text)
abbr= Pretty much anything that doesn't mess up the MediaWiki markup Text has dotted underline and a tooltip containing the text after abbr=
This will not have any effect if used on an overlay stack.

Collapsible

{{Routemap/sandbox/1
|title=Example 3.1: Basic collapsible
|text-width=80
|map=
-startCollapsible-collapsed
\KBHFa\~~terminus
hSTRa@g
WASSERq\hKRZW\WASSERq~~ ~~ ~~ ~~bridge
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 3.2:<br/>Mixed odd and even rows
|tw=70
|map=
-startCollapsible-collapsed
d\KBHFa\d~~terminus
hKRZWae~~ ~~ ~~bridge
-endCollapsible-
BS2+l\BS2+r~~junction
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Adjust |text-width= (or |tw=) parameter until there is no break.
    • Unit is "px" by default, but other units such as "em" are acceptable.
    • Check the map in different browser and in mobile view, and increase text-width if it breaks.
  • The icon number of the first row of collapsible section must be equal to or greater than the icon number of the widest non-collapsible row.
    • As in example 3.2, use half-width empty icon 未定義路線圖圖標屬性"d"d) as filler when you are mixing both odd and even rows in the same map.
  • Changing "collapsed" to "nil" will change the default state of the collapible section to uncollapsed.

Collapsible replacement

{{Routemap/sandbox/1
|title=Example 4.1
|text-width=150
|map=
KBHFa~~terminus
-startCollapsible-collapsed-replace
\LSTR\~~hidden section
\hSTRa@g\
WASSERq\hKRZW\WASSERq~~ ~~ ~~viaduct
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 4.2: Empty filler
|text-width=150
|map=
-startCollapsible-collapsed-replace
exCONTg~~under construction
leer
exKBHFa~~future terminus
exBHF~~future station
-endCollapsible
KBHFxa~~terminus
KBHFe~~terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Both replacement and replaced rows must be as wide as the widest non-collapsible row in the diagram.
  • If you want to hide the replaced row after expanding the collapsible, use icon leer) as empty filler as in example 4.2.
  • In any case, mind to provide a sufficient text-width. Here, using text-width=120 would break the alignment of the icons.
  • Collapsible elements are intentionally disabled in mobile view, so the replaced row will never be visible. Keep this in mind while creating a diagram.

Dual text sidebar

For larger and more complicated diagrams, it often helps to have a text sidebar on the left as well as the right.

left-left remark~~left remark~~left main text~~left dist./time! !icon ID~~right dist./time~~right main text~~right remark~~right-right remark

or

left main text! !icon ID~~right main text
{{Routemap/sandbox/1
|title=Example 5
|map=
~~km! !~~km~~
commuter terminus~~0! !uKBHFa\\KBHFa~~0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~ ~~ ~~bridge
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2! !uKBHFe\\KBHFe~~2~~regional terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Left text cells require "exclamation mark-space-exclamation mark" (! !) separating them from icon cells.
  • If there is no "tilde-tilde" (~~) separator to the left of "exclamation mark-space-exclamation mark", the text to the left of the separator will be displayed in the left main text cell.

Dual text sidebar collapsible

Code Result
{{Routemap/sandbox/1
|title=Example 6.1: All text cells applied
|text-width=,130,,,110,
|map=
~~km! !\\~~km~~
-startCollapsible
commuter terminus~~0{{0|00}}! !uKBHFa\leer\KBHFa~~{{0|00}}0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~~~ ~~bridge
-endCollapsible
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2{{0|00}}! !uKBHFe\\KBHFe~~{{0|00}}2~~regional terminus
}}
Example 6.1: All text cells applied
km
km
commuter terminus
000
000
regional terminus
River Boris
bridge
transfer for HSR
station
1
commuter terminus
200
002
regional terminus
{{Routemap/sandbox/1
|title=Example 6.2: Only main text cell applied
|style=width:380px
|text-width=,120,,,120,
|map=
-startCollapsible
commuter terminus! !uKBHFa\\KBHFa~~regional terminus
River Boris! !uhKRZWae\WASSERq\hKRZWae~~bridge
-endCollapsible
station! !uINT\LDER\LSTR
commuter terminus! !uKBHFe\\KBHFe~~regional terminus
}}
Example 6.2: Only main text cell applied
commuter terminus
regional terminus
River Boris
bridge
station
commuter terminus
regional terminus
  • Apply |text-width= to eliminate the break:
    • Only 1 value: right main text+right remark
    • 3 values, separated by commas: right dist./time,right main text+right remark,right-right remark
    • 6 values: Left-left remark,left remark+left main text,left dist./time,right dist./time,right main text+right remark,right-right remark
    • If the number of values is not equal to 1, 3 or 6, the entire parameter will be ignored.
  • If the text width of right-right remark is smaller than needed, its width definition can be omitted, as in example 6.1.
  • If a specific text cell is not used anywhere on the map, that width definition can be omitted, as in example 6.2.
  • Define the general table width with the {{{style}}} parameter if {{{text-width}}} alone cannot prevent a break.
  • If the empty icon cell of the collapsible row is being squashed, use empty icon leer) to correct the icon columns.

Filler rows

Code Result
{{Routemap/sandbox/1
|title=Example 7
|map=
uKBHFa!~HUBaq\HUBq\KBHFa orange!~HUBeq
-filler--#003399\\#FF6600
uBHF!~HUBaq\KBHFa!~HUBq\BHF orange!~HUBeq
-filler--u\-\orange
uKBHFe!~HUBaq\KBHFxe!~HUBq\KBHFxe orange!~HUBeq
-filler-80px-\ex\ex_orange~~ ~~ ~~Sample<br>text~~ ~~bg=#007CC3
\exKBHFe!~HUBaq\exKBHFe orange!~HUBeq
}}
Example 7
Sample<br>text

Syntax overview

Syntax Purpose
\ Icon separator
!~ Icon overlay
!@ Icon link
!_ Precedes icon stack formatting parameters
__ Precedes icon formatting parameters
~~ Text separator
! ! Separator between icons and left-column text
key=value,... Formatting parameters
-startCollapsible Start of collapsing section
-endCollapsible End of collapsing section
-colspan Start of non-diagram table cell
-colspan-end End of non-diagram table cell
-colspan-n Start of non-diagram table cell; next n lines of code are in that cell (n can be any positive whole number)
-filler-... Start of filler row

Transition from legacy BS row template to Routemap/sandbox/1 markup

Conversion policies

Many contributors of the English Route Diagram Template project during the implementation of Routemap/sandbox/1 have conflicting opinions about the justification of replacing all maps of legacy BS row templates by the Lua-based Routemap/sandbox/1. Opponents deem the map markups of Routemap/sandbox/1 to be too esoteric for editors unfamiliar with Routemap/sandbox/1 markup to modify. While proponents support a complete conversion for better performance. There is no consensus reached at the moment so any transition without massively updating the map appearance for reflecting service and/or structural change in reality should only be done with the following considerations:

  • The map of the legacy BS row template design has exceeded template size limit in the transcluding page, which means the template does not expand into its intended appearance but only the link to the template page is shown, so there is an imminent need to translate the map into Routemap/sandbox/1 design to reduce post-expand include size.
  • If there is no template size issue, respect the preference of the initial contributor of the first completed version of the diagram. If that contributor contests the change to Routemap/sandbox/1, retain the BS row template design.

Technical options

All BS row templates have had substitutable counterparts created; hence conversion can be easily done by prepending subst: and appending /safesubst to every BS row template name in the map. For example, change {{BS2|STR|BHF|0|1|2|3|O1=uSTRq}} in the map to {{subst:BS2/safesubst|STR|BHF|0|1|2|3|O1=uSTRq}}, then publish changes; it will produce STR!~uSTRq\BHF~~0~~1~~2~~3. The process can be sped up by using the "replace all" function of advanced edit tool or separate text editor such as Notepad or Notepad++, but the search rule for the BS row templates should ideally be a regular expression, like \{\{(BS\d*(\-2)?)\|{{subst:$1/safesubst|, in order to avoid templates with similar names such as BSto and BSsplit in case they are present in the map.

"Column mode editing" can avoid the trouble of find and replace to add safesubst: on all rows efficiently. This function is common in advanced text editors like Geany,[4] Notepad++[5] and Sublime Text[6].

You can also use the "convertbs" function of Module:Routemap/sandbox/1.

Function convertbs

Copy and paste the following code to any edit area of this wiki, maybe the map page you are working on:

{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>

</nowiki>}}

Then copy and paste the original BS-map or BS-table map code between the <nowiki> tags (alternatively paste the invoke convertbs header before the original map code and the </nowiki>}} ending after the map code) and show preview. It will generate the safesubst version and show the original versions (for comparison) of the map code. You copy the safesubst code from the preview area back to the edit area, and you should remove everything of #invoke:Routemap/sandbox/1|convertbs if the preview of the new code works properly.

On the English Wikipedia, the template {{subst:convertbs}} can be used as a shortcut:

{{subst:convertbs|1=

}}

If it doesn't work, it's possible that you haven't copied some of the relevant code, such as table markup for BS-table diagrams, or that you've copied code which actually belongs to something else.

Example
{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>
{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
</nowiki>}}
Result

Safe substitution:

{{Routemap
|title=Demonstration
|map=
{{safesubst:BS/safesubst|KBHFa|0 km|A station|Shuttle bus}}
{{safesubst:BS3/safesubst|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{safesubst:BS/safesubst|KINTe|10 km|B station|City hub}}
-colspan-2
----
Not to scale
}}

Original:

{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
Copy safe substitution markup for actual usage
检测到模板循环:Template:Routemap/doc/sandbox

Embedding into infobox

  • Use {{{inline}}} to remove title bar and table border. If creating a separate template which will be embedded into an infobox, wrap inline=1 in <includeonly>...</includeonly> tags. Also {{{navbar pos}}} is helpful to locate the {{Navbar}} better.
{{Infobox station
| name = {{color box|orange}} Station layout
| image = Placeholder.png
| image_upright = 0.5
| image_caption = Platform level
| opened = {{Start date|1935|05|15|df=y}}
| tracks = 2
| route_map =
{{Routemap/sandbox/1|inline=1|navbar=asd|navbar pos=2|
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
}}
  Station layout
Platform level
Platform level
股道2
历史
启用日期1935年5月15日 (1935-05-15)
站线配置图
检测到模板循环:Template:Routemap/doc/sandbox

Template data

以下是该模板的模板数据,适用于可视化编辑器等工具。

Routemap/doc模板数据

Template for displaying diagram composed of icon images and text labels in uniform style.

模板参数[编辑模板数据]

此模板首选参数换行的代码块格式。

参数描述类型状态
Inline stateinline

Remove title bar and border for transclusion in infobox

字符串可选
Table titletitle

Official title of the system. Value «no» will remove the table title row, but this will also disable the table collapsible switch as well

字符串可选
Title font colortitle color title-color

Color of the title's text; automatically black or white to contrast with the title background color. Only use colors that contrast well with the background color

默认值
#FFF or #252525; depends
字符串可选
Title background colortitle bg color title-bg

Background color of the title

默认值
#27404E
字符串可选
Collapsibilitycollapsible

Whether the whole infobox is collapsible or not

字符串可选
Collapsing statecollapse collapsed

Collapsing state. Shown by default. Any value will make the table collapse by default

字符串可选
Template name for Navbarnavbar

This must exactly match the diagram template page name so the Navbar template will appear and link to the template page

字符串可选
Position of the Navbarnavbar pos

Position of the Navbar template. Float to left in the title bar by default; «1» for top-left corner of the map (just under the title bar); «2» for the middle bottom of the map

字符串可选
Small navbarnavbar mini

If the navbar is not in default position, then this changes whether the navbar displays as "V · T · E" (default for navbar pos 1; values: «1», «y», «yes», «true») or "This diagram: view · talk · edit" (default for navbar pos 2; values: «0», «n», «no», «false»).

字符串可选
Legend appearancelegend

Alias of the legend link. It can be «bus», «canal», «footpath», «road» or «track». «0» or «no» for no legend at all

默认值
Template:Railway line legend
页面名称可选
Legend link textlegend alt

Different link name in place of «Legend» if desirable

默认值
Legend
字符串可选
Floating statefloat

Floating state of the whole box: «right» by default; optionally «left» or «none»

默认值
right
字符串可选
Background colorbg

Background color of the whole map area

默认值
#F9F9F9
字符串可选
CSS style valuesstyle

Additional CSS style definition of the whole infobox

字符串可选
Top notetop on top

Space for optional note or infobox above the map

字符串可选
Bottom notefootnote bottom

Space for optional note or infobox below the map

字符串可选
Width of map text celltext-width tw

Extend the width of the map text cell so the collapsible section within the map does not break

字符串可选
Map markupsmap 1

Map data which uses specific markup/separators to load icon image and arrange the text in the uniform style. Use "map2", "map3" etc. for additional maps

字符串必需
Map titlemap-title

Title of map. Use "map2-title", "map3-title" etc. for titles of addition maps

字符串可选


  • The third and fourth pairs of tildes can be omitted if there is no content following either of them.
  • After the last icon ID, if there is only one set of "tilde-tilde" (~~), the following text will be displayed in the main text cell instead of dist./time.
  • Separating text cells requires at least one empty space; otherwise the tildes will be treated as a signature.

Text cells in icon rows

*text\d*text\cd*text~~main text
{{Routemap/sandbox/1
|title=Example 1.3
|map=
ENDEa~~ ~~ ~~Reversing siding
SPLa
cPLT\vSTR\cPLT~~Station
d*1\cPLT\vSTR\cPLT\d*2~~ ~~ ~~Platform numbers
cPLT\vSTR\cPLT
vCONTfge~~ ~~ ~~''to City''
}}

This template is used for constructing route diagram templates. It is the Lua-based successor of the {{BS-map}} templates, which have been superseded by {{Routemap/sandbox/1}} on the English Wikipedia but are still used on other wikis.

Usage

{{Routemap/sandbox/1
|navbar		= 
|navbar pos	= 
|navbar mini	= 
|title		= 
|title color	= 
|title bg	= 
|bg		= 
|inline		= 
|collapsible	= 
|collapse	= 
|legend		= 
|legend alt	= 
|float		= 
|style		= 
|top		= 
|footnote	= 
|text-width	= 
|map		=
}}

Markup for map parameter

The markup for composing the diagram in the |map= parameter is different to the {{BSrow}}-based templates. The major differences are the separators in each row. Subtemplates are not necessary, since a new row in the table is simply created by a carriage return (newline).

{{Routemap/sandbox/1
Add other parameters like |title= here.
|map=
Map markup goes here!
}}

Basic

Example 1.1
exCONTg
ENDExa
CONTgq\KRZu\CONTfq
BHF
\ABZgl\CONTfq
CONTf
icon ID\icon ID\icon ID
  • Icons are separated by the backslash \.
  • Each group of icons is centered in its row. The nameless icon (at the start of row 5 in the diagram) can be used as a spacer.
  • The ID of each icon can be seen in its tooltip. Move your cursor over the icons to see them.
icon ID\icon ID\icon ID~~dist./time~~main text~~remark~~right remark

or

icon ID\icon ID\icon ID~~main text
{{Routemap/sandbox/1
|title=Example 1.2
|map=
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • The third and fourth pairs of tildes can be omitted if there is no content following either of them.
  • After the last icon ID, if there is only one set of "tilde-tilde" (~~), the following text will be displayed in the main text cell instead of dist./time.
  • Separating text cells requires at least one empty space; otherwise the tildes will be treated as a signature.

Text cells in icon rows

*text\d*text\cd*text~~main text
{{Routemap/sandbox/1
|title=Example 1.3
|map=
ENDEa~~ ~~ ~~Reversing siding
SPLa
cPLT\vSTR\cPLT~~Station
d*1\cPLT\vSTR\cPLT\d*2~~ ~~ ~~Platform numbers
cPLT\vSTR\cPLT
vCONTfge~~ ~~ ~~''to City''
}}
检测到模板循环:Template:Routemap/doc/sandbox

The asterisk indicating a text cell can be preceded by one of the BSicons' width prefixes. (Normal BSicons are square.)

Letters o c d cd none b s bs w
Width 18 14 12 34 1 2 4 6 8

Icon overlay, icon link, background color and colspan

{{Routemap/sandbox/1
|title=Example 2.1
|map=
-colspan-1
Icon overlay
uSTRq!~STR2!~BHF!~lHUB\\dSTR!~uSTRq\dSTR!~dNULf
-colspan-2-style=border-bottom:5px solid red;
----
icon link
utBHF!@Superhub
-colspan
----
background color
-colspan-end
utSTR~~ ~~ ~~ ~~ ~~bg=#7af
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Overlay separator "exclamation mark-tilde" (!~) must follow the icon ID which is to be overlaid.
  • Overlay is practically unlimited, but legibility should be taken into account.
  • The width of the underlying icon determines the width of the combination, even if less than the overlay. The icons are aligned with their left edges together, so that they will not be centered on each other if they differ in width. If the overlay extends past the underlying icon, it will overlay the following icon (but not the following icon's overlay).
  • When using icon overlay and icon link for the same icon cell, the icon link separator (!@) must follow the last (top) overlaying icon ID.
  • The background color parameter (bg=) requires 5 sets of preceding text separators to be recognizable even if there is no text on that row whatsoever.

Other formatting options

Rows

{{Routemap/sandbox/1
|title=Example 2.2
|map=
utSTR~~ ~~ ~~{{mono|1=bg=<abbr title="This is the normal BSicon color for watercourses.">#007CC3</abbr>}}~~ ~~bg=#007CC3
*1\*2\*3~~ ~~ ~~{{mono|1=color=red,bold=yes}}~~ ~~color=red,bold=yes
*A\*C\*E~~ ~~ ~~{{mono|1=align=l,b=1,fontsize=cmt}}~~ ~~align=left,b=1,fontsize=cmt
*B\*D\*F~~ ~~ ~~{{mono|1=colour=orange, align=b, i=y}}~~ ~~colour=orange, align=b, i=y
}}
检测到模板循环:Template:Routemap/doc/sandbox

Aside from bg=, there are several other parameters, separated by commas (,), which can be used to customize the display of a row. Only bg= can be used to change the display of icons; all others only affect text cells.

Row parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Row background is colored
color= or colour= Any X11 color name or RGB hex triplet Text cells in a row are colored
b= or bold= 1, yes, y or true Text cells in a row are emboldened
i=, it= or italic= 1, yes, y or true Text cells in a row are italicized
align= No or invalid value Text in cells is centered horizontally and vertically
l or left Text in cells is aligned to the left
r or right Text in cells is aligned to the right
a, t or top Text in cells is aligned to the top
e, b or bottom Text in cells is aligned to the bottom
la, tl, c4, nw, top-left or topleft Text in cells is aligned to the top-left corner
ra, tr, c1, ne, top-right or topright Text in cells is aligned to the top-right corner
le, bl, c3, sw, bottom-left or bottomleft Text in cells is aligned to the bottom-left corner
re, br, c2, se, bottom-right or bottomright Text in cells is aligned to the bottom-right corner
fontsize= No value Text in cells is 10px high and is transformed to be narrower (example)
info or main Text in cells is the same size as the large sidebar text (second column from center)
cmt or comment Text in cells is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text in cells is a different size (percentages are relative to the large sidebar text)

Individual cells/icons

icon!_bg=purple\*text__align=l!~*more text__align=r,b=yes
  • Parameters for a single icon or text cell (e.g. BHF, *Text) are preceded by two underscores (__).
  • Parameters for the contents of a table cell (a stack of overlaid objects, or a single icon or text box with no overlays) are preceded by an exclamation mark and an underscore (!_). This must follow the link (if any).
  • For the last overlaid item in a stack, the individual item parameters (if any) must precede the stack parameters.
  • Most of the parameters are the same as those for rows, but there are a few additional ones. Additionally, the values for align=, bg= and color= will override the row parameter values.
Icon, text box and overlay stack parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Background is colored
This should not be used with overlays above icons.
color= or colour= Any X11 color name or RGB hex triplet All the text of a cell, or the text of an individual text box, is colored
b= or bold= 1, yes, y or true Boldfaced text
i=, it= or italic= 1, yes, y or true Italicized text
align= No or invalid value Text is aligned per parameters of its parent (default: centered vertically and horizontally)
l or left Text is aligned to… (vertical / horizontal)
"Inherit" indicates that the cell will inherit its parent's value for that axis.
inherit left
r or right inherit right
a, t or top top inherit
e, b or bottom bottom inherit
la, tl, c4, nw, top-left or topleft top left
ra, tr, c1, ne, top-right or topright top right
le, bl, c3, sw, bottom-left or bottomleft bottom left
re, br, c2, se, bottom-right or bottomright bottom right
c, center or centre inherit center
m or middle middle inherit
ma, tc, top-center, top-centre, topcenter or topcentre top center
me, bc, bottom-center, bottom-centre, bottomcenter or bottomcentre bottom center
lm, ml, middle-left or middleleft middle left
rm, mr, middle-right or middleright middle right
cm, mc, middle-center, middle-centre, middlecenter or middlecentre middle center
fontsize= No value Text is 10px high and is transformed to be narrower (example)
info or main Text is the same size as the large sidebar text (second column from center)
cmt or comment Text is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text is a different size (percentages are relative to the large sidebar text)
abbr= Pretty much anything that doesn't mess up the MediaWiki markup Text has dotted underline and a tooltip containing the text after abbr=
This will not have any effect if used on an overlay stack.

Collapsible

{{Routemap/sandbox/1
|title=Example 3.1: Basic collapsible
|text-width=80
|map=
-startCollapsible-collapsed
\KBHFa\~~terminus
hSTRa@g
WASSERq\hKRZW\WASSERq~~ ~~ ~~ ~~bridge
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 3.2:<br/>Mixed odd and even rows
|tw=70
|map=
-startCollapsible-collapsed
d\KBHFa\d~~terminus
hKRZWae~~ ~~ ~~bridge
-endCollapsible-
BS2+l\BS2+r~~junction
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Adjust |text-width= (or |tw=) parameter until there is no break.
    • Unit is "px" by default, but other units such as "em" are acceptable.
    • Check the map in different browser and in mobile view, and increase text-width if it breaks.
  • The icon number of the first row of collapsible section must be equal to or greater than the icon number of the widest non-collapsible row.
    • As in example 3.2, use half-width empty icon 未定義路線圖圖標屬性"d"d) as filler when you are mixing both odd and even rows in the same map.
  • Changing "collapsed" to "nil" will change the default state of the collapible section to uncollapsed.

Collapsible replacement

{{Routemap/sandbox/1
|title=Example 4.1
|text-width=150
|map=
KBHFa~~terminus
-startCollapsible-collapsed-replace
\LSTR\~~hidden section
\hSTRa@g\
WASSERq\hKRZW\WASSERq~~ ~~ ~~viaduct
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 4.2: Empty filler
|text-width=150
|map=
-startCollapsible-collapsed-replace
exCONTg~~under construction
leer
exKBHFa~~future terminus
exBHF~~future station
-endCollapsible
KBHFxa~~terminus
KBHFe~~terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Both replacement and replaced rows must be as wide as the widest non-collapsible row in the diagram.
  • If you want to hide the replaced row after expanding the collapsible, use icon leer) as empty filler as in example 4.2.
  • In any case, mind to provide a sufficient text-width. Here, using text-width=120 would break the alignment of the icons.
  • Collapsible elements are intentionally disabled in mobile view, so the replaced row will never be visible. Keep this in mind while creating a diagram.

Dual text sidebar

For larger and more complicated diagrams, it often helps to have a text sidebar on the left as well as the right.

left-left remark~~left remark~~left main text~~left dist./time! !icon ID~~right dist./time~~right main text~~right remark~~right-right remark

or

left main text! !icon ID~~right main text
{{Routemap/sandbox/1
|title=Example 5
|map=
~~km! !~~km~~
commuter terminus~~0! !uKBHFa\\KBHFa~~0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~ ~~ ~~bridge
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2! !uKBHFe\\KBHFe~~2~~regional terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Left text cells require "exclamation mark-space-exclamation mark" (! !) separating them from icon cells.
  • If there is no "tilde-tilde" (~~) separator to the left of "exclamation mark-space-exclamation mark", the text to the left of the separator will be displayed in the left main text cell.

Dual text sidebar collapsible

Code Result
{{Routemap/sandbox/1
|title=Example 6.1: All text cells applied
|text-width=,130,,,110,
|map=
~~km! !\\~~km~~
-startCollapsible
commuter terminus~~0{{0|00}}! !uKBHFa\leer\KBHFa~~{{0|00}}0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~~~ ~~bridge
-endCollapsible
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2{{0|00}}! !uKBHFe\\KBHFe~~{{0|00}}2~~regional terminus
}}
Example 6.1: All text cells applied
km
km
commuter terminus
000
000
regional terminus
River Boris
bridge
transfer for HSR
station
1
commuter terminus
200
002
regional terminus
{{Routemap/sandbox/1
|title=Example 6.2: Only main text cell applied
|style=width:380px
|text-width=,120,,,120,
|map=
-startCollapsible
commuter terminus! !uKBHFa\\KBHFa~~regional terminus
River Boris! !uhKRZWae\WASSERq\hKRZWae~~bridge
-endCollapsible
station! !uINT\LDER\LSTR
commuter terminus! !uKBHFe\\KBHFe~~regional terminus
}}
Example 6.2: Only main text cell applied
commuter terminus
regional terminus
River Boris
bridge
station
commuter terminus
regional terminus
  • Apply |text-width= to eliminate the break:
    • Only 1 value: right main text+right remark
    • 3 values, separated by commas: right dist./time,right main text+right remark,right-right remark
    • 6 values: Left-left remark,left remark+left main text,left dist./time,right dist./time,right main text+right remark,right-right remark
    • If the number of values is not equal to 1, 3 or 6, the entire parameter will be ignored.
  • If the text width of right-right remark is smaller than needed, its width definition can be omitted, as in example 6.1.
  • If a specific text cell is not used anywhere on the map, that width definition can be omitted, as in example 6.2.
  • Define the general table width with the {{{style}}} parameter if {{{text-width}}} alone cannot prevent a break.
  • If the empty icon cell of the collapsible row is being squashed, use empty icon leer) to correct the icon columns.

Filler rows

Code Result
{{Routemap/sandbox/1
|title=Example 7
|map=
uKBHFa!~HUBaq\HUBq\KBHFa orange!~HUBeq
-filler--#003399\\#FF6600
uBHF!~HUBaq\KBHFa!~HUBq\BHF orange!~HUBeq
-filler--u\-\orange
uKBHFe!~HUBaq\KBHFxe!~HUBq\KBHFxe orange!~HUBeq
-filler-80px-\ex\ex_orange~~ ~~ ~~Sample<br>text~~ ~~bg=#007CC3
\exKBHFe!~HUBaq\exKBHFe orange!~HUBeq
}}
Example 7
Sample<br>text

Syntax overview

Syntax Purpose
\ Icon separator
!~ Icon overlay
!@ Icon link
!_ Precedes icon stack formatting parameters
__ Precedes icon formatting parameters
~~ Text separator
! ! Separator between icons and left-column text
key=value,... Formatting parameters
-startCollapsible Start of collapsing section
-endCollapsible End of collapsing section
-colspan Start of non-diagram table cell
-colspan-end End of non-diagram table cell
-colspan-n Start of non-diagram table cell; next n lines of code are in that cell (n can be any positive whole number)
-filler-... Start of filler row

Transition from legacy BS row template to Routemap/sandbox/1 markup

Conversion policies

Many contributors of the English Route Diagram Template project during the implementation of Routemap/sandbox/1 have conflicting opinions about the justification of replacing all maps of legacy BS row templates by the Lua-based Routemap/sandbox/1. Opponents deem the map markups of Routemap/sandbox/1 to be too esoteric for editors unfamiliar with Routemap/sandbox/1 markup to modify. While proponents support a complete conversion for better performance. There is no consensus reached at the moment so any transition without massively updating the map appearance for reflecting service and/or structural change in reality should only be done with the following considerations:

  • The map of the legacy BS row template design has exceeded template size limit in the transcluding page, which means the template does not expand into its intended appearance but only the link to the template page is shown, so there is an imminent need to translate the map into Routemap/sandbox/1 design to reduce post-expand include size.
  • If there is no template size issue, respect the preference of the initial contributor of the first completed version of the diagram. If that contributor contests the change to Routemap/sandbox/1, retain the BS row template design.

Technical options

All BS row templates have had substitutable counterparts created; hence conversion can be easily done by prepending subst: and appending /safesubst to every BS row template name in the map. For example, change {{BS2|STR|BHF|0|1|2|3|O1=uSTRq}} in the map to {{subst:BS2/safesubst|STR|BHF|0|1|2|3|O1=uSTRq}}, then publish changes; it will produce STR!~uSTRq\BHF~~0~~1~~2~~3. The process can be sped up by using the "replace all" function of advanced edit tool or separate text editor such as Notepad or Notepad++, but the search rule for the BS row templates should ideally be a regular expression, like \{\{(BS\d*(\-2)?)\|{{subst:$1/safesubst|, in order to avoid templates with similar names such as BSto and BSsplit in case they are present in the map.

"Column mode editing" can avoid the trouble of find and replace to add safesubst: on all rows efficiently. This function is common in advanced text editors like Geany,[7] Notepad++[8] and Sublime Text[9].

You can also use the "convertbs" function of Module:Routemap/sandbox/1.

Function convertbs

Copy and paste the following code to any edit area of this wiki, maybe the map page you are working on:

{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>

</nowiki>}}

Then copy and paste the original BS-map or BS-table map code between the <nowiki> tags (alternatively paste the invoke convertbs header before the original map code and the </nowiki>}} ending after the map code) and show preview. It will generate the safesubst version and show the original versions (for comparison) of the map code. You copy the safesubst code from the preview area back to the edit area, and you should remove everything of #invoke:Routemap/sandbox/1|convertbs if the preview of the new code works properly.

On the English Wikipedia, the template {{subst:convertbs}} can be used as a shortcut:

{{subst:convertbs|1=

}}

If it doesn't work, it's possible that you haven't copied some of the relevant code, such as table markup for BS-table diagrams, or that you've copied code which actually belongs to something else.

Example
{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>
{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
</nowiki>}}
Result

Safe substitution:

{{Routemap
|title=Demonstration
|map=
{{safesubst:BS/safesubst|KBHFa|0 km|A station|Shuttle bus}}
{{safesubst:BS3/safesubst|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{safesubst:BS/safesubst|KINTe|10 km|B station|City hub}}
-colspan-2
----
Not to scale
}}

Original:

{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
Copy safe substitution markup for actual usage
检测到模板循环:Template:Routemap/doc/sandbox

Embedding into infobox

  • Use {{{inline}}} to remove title bar and table border. If creating a separate template which will be embedded into an infobox, wrap inline=1 in <includeonly>...</includeonly> tags. Also {{{navbar pos}}} is helpful to locate the {{Navbar}} better.
{{Infobox station
| name = {{color box|orange}} Station layout
| image = Placeholder.png
| image_upright = 0.5
| image_caption = Platform level
| opened = {{Start date|1935|05|15|df=y}}
| tracks = 2
| route_map =
{{Routemap/sandbox/1|inline=1|navbar=asd|navbar pos=2|
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
}}
  Station layout
Platform level
Platform level
股道2
历史
启用日期1935年5月15日 (1935-05-15)
站线配置图
检测到模板循环:Template:Routemap/doc/sandbox

Template data

以下是该模板的模板数据,适用于可视化编辑器等工具。

Routemap/doc模板数据

Template for displaying diagram composed of icon images and text labels in uniform style.

模板参数[编辑模板数据]

此模板首选参数换行的代码块格式。

参数描述类型状态
Inline stateinline

Remove title bar and border for transclusion in infobox

字符串可选
Table titletitle

Official title of the system. Value «no» will remove the table title row, but this will also disable the table collapsible switch as well

字符串可选
Title font colortitle color title-color

Color of the title's text; automatically black or white to contrast with the title background color. Only use colors that contrast well with the background color

默认值
#FFF or #252525; depends
字符串可选
Title background colortitle bg color title-bg

Background color of the title

默认值
#27404E
字符串可选
Collapsibilitycollapsible

Whether the whole infobox is collapsible or not

字符串可选
Collapsing statecollapse collapsed

Collapsing state. Shown by default. Any value will make the table collapse by default

字符串可选
Template name for Navbarnavbar

This must exactly match the diagram template page name so the Navbar template will appear and link to the template page

字符串可选
Position of the Navbarnavbar pos

Position of the Navbar template. Float to left in the title bar by default; «1» for top-left corner of the map (just under the title bar); «2» for the middle bottom of the map

字符串可选
Small navbarnavbar mini

If the navbar is not in default position, then this changes whether the navbar displays as "V · T · E" (default for navbar pos 1; values: «1», «y», «yes», «true») or "This diagram: view · talk · edit" (default for navbar pos 2; values: «0», «n», «no», «false»).

字符串可选
Legend appearancelegend

Alias of the legend link. It can be «bus», «canal», «footpath», «road» or «track». «0» or «no» for no legend at all

默认值
Template:Railway line legend
页面名称可选
Legend link textlegend alt

Different link name in place of «Legend» if desirable

默认值
Legend
字符串可选
Floating statefloat

Floating state of the whole box: «right» by default; optionally «left» or «none»

默认值
right
字符串可选
Background colorbg

Background color of the whole map area

默认值
#F9F9F9
字符串可选
CSS style valuesstyle

Additional CSS style definition of the whole infobox

字符串可选
Top notetop on top

Space for optional note or infobox above the map

字符串可选
Bottom notefootnote bottom

Space for optional note or infobox below the map

字符串可选
Width of map text celltext-width tw

Extend the width of the map text cell so the collapsible section within the map does not break

字符串可选
Map markupsmap 1

Map data which uses specific markup/separators to load icon image and arrange the text in the uniform style. Use "map2", "map3" etc. for additional maps

字符串必需
Map titlemap-title

Title of map. Use "map2-title", "map3-title" etc. for titles of addition maps

字符串可选


The asterisk indicating a text cell can be preceded by one of the BSicons' width prefixes. (Normal BSicons are square.)

Letters o c d cd none b s bs w
Width 18 14 12 34 1 2 4 6 8

Icon overlay, icon link, background color and colspan

{{Routemap/sandbox/1
|title=Example 2.1
|map=
-colspan-1
Icon overlay
uSTRq!~STR2!~BHF!~lHUB\\dSTR!~uSTRq\dSTR!~dNULf
-colspan-2-style=border-bottom:5px solid red;
----
icon link
utBHF!@Superhub
-colspan
----
background color
-colspan-end
utSTR~~ ~~ ~~ ~~ ~~bg=#7af
}}

This template is used for constructing route diagram templates. It is the Lua-based successor of the {{BS-map}} templates, which have been superseded by {{Routemap/sandbox/1}} on the English Wikipedia but are still used on other wikis.

Usage

{{Routemap/sandbox/1
|navbar		= 
|navbar pos	= 
|navbar mini	= 
|title		= 
|title color	= 
|title bg	= 
|bg		= 
|inline		= 
|collapsible	= 
|collapse	= 
|legend		= 
|legend alt	= 
|float		= 
|style		= 
|top		= 
|footnote	= 
|text-width	= 
|map		=
}}

Markup for map parameter

The markup for composing the diagram in the |map= parameter is different to the {{BSrow}}-based templates. The major differences are the separators in each row. Subtemplates are not necessary, since a new row in the table is simply created by a carriage return (newline).

{{Routemap/sandbox/1
Add other parameters like |title= here.
|map=
Map markup goes here!
}}

Basic

Example 1.1
exCONTg
ENDExa
CONTgq\KRZu\CONTfq
BHF
\ABZgl\CONTfq
CONTf
icon ID\icon ID\icon ID
  • Icons are separated by the backslash \.
  • Each group of icons is centered in its row. The nameless icon (at the start of row 5 in the diagram) can be used as a spacer.
  • The ID of each icon can be seen in its tooltip. Move your cursor over the icons to see them.
icon ID\icon ID\icon ID~~dist./time~~main text~~remark~~right remark

or

icon ID\icon ID\icon ID~~main text
{{Routemap/sandbox/1
|title=Example 1.2
|map=
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • The third and fourth pairs of tildes can be omitted if there is no content following either of them.
  • After the last icon ID, if there is only one set of "tilde-tilde" (~~), the following text will be displayed in the main text cell instead of dist./time.
  • Separating text cells requires at least one empty space; otherwise the tildes will be treated as a signature.

Text cells in icon rows

*text\d*text\cd*text~~main text
{{Routemap/sandbox/1
|title=Example 1.3
|map=
ENDEa~~ ~~ ~~Reversing siding
SPLa
cPLT\vSTR\cPLT~~Station
d*1\cPLT\vSTR\cPLT\d*2~~ ~~ ~~Platform numbers
cPLT\vSTR\cPLT
vCONTfge~~ ~~ ~~''to City''
}}
检测到模板循环:Template:Routemap/doc/sandbox

The asterisk indicating a text cell can be preceded by one of the BSicons' width prefixes. (Normal BSicons are square.)

Letters o c d cd none b s bs w
Width 18 14 12 34 1 2 4 6 8

Icon overlay, icon link, background color and colspan

{{Routemap/sandbox/1
|title=Example 2.1
|map=
-colspan-1
Icon overlay
uSTRq!~STR2!~BHF!~lHUB\\dSTR!~uSTRq\dSTR!~dNULf
-colspan-2-style=border-bottom:5px solid red;
----
icon link
utBHF!@Superhub
-colspan
----
background color
-colspan-end
utSTR~~ ~~ ~~ ~~ ~~bg=#7af
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Overlay separator "exclamation mark-tilde" (!~) must follow the icon ID which is to be overlaid.
  • Overlay is practically unlimited, but legibility should be taken into account.
  • The width of the underlying icon determines the width of the combination, even if less than the overlay. The icons are aligned with their left edges together, so that they will not be centered on each other if they differ in width. If the overlay extends past the underlying icon, it will overlay the following icon (but not the following icon's overlay).
  • When using icon overlay and icon link for the same icon cell, the icon link separator (!@) must follow the last (top) overlaying icon ID.
  • The background color parameter (bg=) requires 5 sets of preceding text separators to be recognizable even if there is no text on that row whatsoever.

Other formatting options

Rows

{{Routemap/sandbox/1
|title=Example 2.2
|map=
utSTR~~ ~~ ~~{{mono|1=bg=<abbr title="This is the normal BSicon color for watercourses.">#007CC3</abbr>}}~~ ~~bg=#007CC3
*1\*2\*3~~ ~~ ~~{{mono|1=color=red,bold=yes}}~~ ~~color=red,bold=yes
*A\*C\*E~~ ~~ ~~{{mono|1=align=l,b=1,fontsize=cmt}}~~ ~~align=left,b=1,fontsize=cmt
*B\*D\*F~~ ~~ ~~{{mono|1=colour=orange, align=b, i=y}}~~ ~~colour=orange, align=b, i=y
}}
检测到模板循环:Template:Routemap/doc/sandbox

Aside from bg=, there are several other parameters, separated by commas (,), which can be used to customize the display of a row. Only bg= can be used to change the display of icons; all others only affect text cells.

Row parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Row background is colored
color= or colour= Any X11 color name or RGB hex triplet Text cells in a row are colored
b= or bold= 1, yes, y or true Text cells in a row are emboldened
i=, it= or italic= 1, yes, y or true Text cells in a row are italicized
align= No or invalid value Text in cells is centered horizontally and vertically
l or left Text in cells is aligned to the left
r or right Text in cells is aligned to the right
a, t or top Text in cells is aligned to the top
e, b or bottom Text in cells is aligned to the bottom
la, tl, c4, nw, top-left or topleft Text in cells is aligned to the top-left corner
ra, tr, c1, ne, top-right or topright Text in cells is aligned to the top-right corner
le, bl, c3, sw, bottom-left or bottomleft Text in cells is aligned to the bottom-left corner
re, br, c2, se, bottom-right or bottomright Text in cells is aligned to the bottom-right corner
fontsize= No value Text in cells is 10px high and is transformed to be narrower (example)
info or main Text in cells is the same size as the large sidebar text (second column from center)
cmt or comment Text in cells is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text in cells is a different size (percentages are relative to the large sidebar text)

Individual cells/icons

icon!_bg=purple\*text__align=l!~*more text__align=r,b=yes
  • Parameters for a single icon or text cell (e.g. BHF, *Text) are preceded by two underscores (__).
  • Parameters for the contents of a table cell (a stack of overlaid objects, or a single icon or text box with no overlays) are preceded by an exclamation mark and an underscore (!_). This must follow the link (if any).
  • For the last overlaid item in a stack, the individual item parameters (if any) must precede the stack parameters.
  • Most of the parameters are the same as those for rows, but there are a few additional ones. Additionally, the values for align=, bg= and color= will override the row parameter values.
Icon, text box and overlay stack parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Background is colored
This should not be used with overlays above icons.
color= or colour= Any X11 color name or RGB hex triplet All the text of a cell, or the text of an individual text box, is colored
b= or bold= 1, yes, y or true Boldfaced text
i=, it= or italic= 1, yes, y or true Italicized text
align= No or invalid value Text is aligned per parameters of its parent (default: centered vertically and horizontally)
l or left Text is aligned to… (vertical / horizontal)
"Inherit" indicates that the cell will inherit its parent's value for that axis.
inherit left
r or right inherit right
a, t or top top inherit
e, b or bottom bottom inherit
la, tl, c4, nw, top-left or topleft top left
ra, tr, c1, ne, top-right or topright top right
le, bl, c3, sw, bottom-left or bottomleft bottom left
re, br, c2, se, bottom-right or bottomright bottom right
c, center or centre inherit center
m or middle middle inherit
ma, tc, top-center, top-centre, topcenter or topcentre top center
me, bc, bottom-center, bottom-centre, bottomcenter or bottomcentre bottom center
lm, ml, middle-left or middleleft middle left
rm, mr, middle-right or middleright middle right
cm, mc, middle-center, middle-centre, middlecenter or middlecentre middle center
fontsize= No value Text is 10px high and is transformed to be narrower (example)
info or main Text is the same size as the large sidebar text (second column from center)
cmt or comment Text is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text is a different size (percentages are relative to the large sidebar text)
abbr= Pretty much anything that doesn't mess up the MediaWiki markup Text has dotted underline and a tooltip containing the text after abbr=
This will not have any effect if used on an overlay stack.

Collapsible

{{Routemap/sandbox/1
|title=Example 3.1: Basic collapsible
|text-width=80
|map=
-startCollapsible-collapsed
\KBHFa\~~terminus
hSTRa@g
WASSERq\hKRZW\WASSERq~~ ~~ ~~ ~~bridge
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 3.2:<br/>Mixed odd and even rows
|tw=70
|map=
-startCollapsible-collapsed
d\KBHFa\d~~terminus
hKRZWae~~ ~~ ~~bridge
-endCollapsible-
BS2+l\BS2+r~~junction
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Adjust |text-width= (or |tw=) parameter until there is no break.
    • Unit is "px" by default, but other units such as "em" are acceptable.
    • Check the map in different browser and in mobile view, and increase text-width if it breaks.
  • The icon number of the first row of collapsible section must be equal to or greater than the icon number of the widest non-collapsible row.
    • As in example 3.2, use half-width empty icon 未定義路線圖圖標屬性"d"d) as filler when you are mixing both odd and even rows in the same map.
  • Changing "collapsed" to "nil" will change the default state of the collapible section to uncollapsed.

Collapsible replacement

{{Routemap/sandbox/1
|title=Example 4.1
|text-width=150
|map=
KBHFa~~terminus
-startCollapsible-collapsed-replace
\LSTR\~~hidden section
\hSTRa@g\
WASSERq\hKRZW\WASSERq~~ ~~ ~~viaduct
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 4.2: Empty filler
|text-width=150
|map=
-startCollapsible-collapsed-replace
exCONTg~~under construction
leer
exKBHFa~~future terminus
exBHF~~future station
-endCollapsible
KBHFxa~~terminus
KBHFe~~terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Both replacement and replaced rows must be as wide as the widest non-collapsible row in the diagram.
  • If you want to hide the replaced row after expanding the collapsible, use icon leer) as empty filler as in example 4.2.
  • In any case, mind to provide a sufficient text-width. Here, using text-width=120 would break the alignment of the icons.
  • Collapsible elements are intentionally disabled in mobile view, so the replaced row will never be visible. Keep this in mind while creating a diagram.

Dual text sidebar

For larger and more complicated diagrams, it often helps to have a text sidebar on the left as well as the right.

left-left remark~~left remark~~left main text~~left dist./time! !icon ID~~right dist./time~~right main text~~right remark~~right-right remark

or

left main text! !icon ID~~right main text
{{Routemap/sandbox/1
|title=Example 5
|map=
~~km! !~~km~~
commuter terminus~~0! !uKBHFa\\KBHFa~~0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~ ~~ ~~bridge
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2! !uKBHFe\\KBHFe~~2~~regional terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Left text cells require "exclamation mark-space-exclamation mark" (! !) separating them from icon cells.
  • If there is no "tilde-tilde" (~~) separator to the left of "exclamation mark-space-exclamation mark", the text to the left of the separator will be displayed in the left main text cell.

Dual text sidebar collapsible

Code Result
{{Routemap/sandbox/1
|title=Example 6.1: All text cells applied
|text-width=,130,,,110,
|map=
~~km! !\\~~km~~
-startCollapsible
commuter terminus~~0{{0|00}}! !uKBHFa\leer\KBHFa~~{{0|00}}0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~~~ ~~bridge
-endCollapsible
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2{{0|00}}! !uKBHFe\\KBHFe~~{{0|00}}2~~regional terminus
}}
Example 6.1: All text cells applied
km
km
commuter terminus
000
000
regional terminus
River Boris
bridge
transfer for HSR
station
1
commuter terminus
200
002
regional terminus
{{Routemap/sandbox/1
|title=Example 6.2: Only main text cell applied
|style=width:380px
|text-width=,120,,,120,
|map=
-startCollapsible
commuter terminus! !uKBHFa\\KBHFa~~regional terminus
River Boris! !uhKRZWae\WASSERq\hKRZWae~~bridge
-endCollapsible
station! !uINT\LDER\LSTR
commuter terminus! !uKBHFe\\KBHFe~~regional terminus
}}
Example 6.2: Only main text cell applied
commuter terminus
regional terminus
River Boris
bridge
station
commuter terminus
regional terminus
  • Apply |text-width= to eliminate the break:
    • Only 1 value: right main text+right remark
    • 3 values, separated by commas: right dist./time,right main text+right remark,right-right remark
    • 6 values: Left-left remark,left remark+left main text,left dist./time,right dist./time,right main text+right remark,right-right remark
    • If the number of values is not equal to 1, 3 or 6, the entire parameter will be ignored.
  • If the text width of right-right remark is smaller than needed, its width definition can be omitted, as in example 6.1.
  • If a specific text cell is not used anywhere on the map, that width definition can be omitted, as in example 6.2.
  • Define the general table width with the {{{style}}} parameter if {{{text-width}}} alone cannot prevent a break.
  • If the empty icon cell of the collapsible row is being squashed, use empty icon leer) to correct the icon columns.

Filler rows

Code Result
{{Routemap/sandbox/1
|title=Example 7
|map=
uKBHFa!~HUBaq\HUBq\KBHFa orange!~HUBeq
-filler--#003399\\#FF6600
uBHF!~HUBaq\KBHFa!~HUBq\BHF orange!~HUBeq
-filler--u\-\orange
uKBHFe!~HUBaq\KBHFxe!~HUBq\KBHFxe orange!~HUBeq
-filler-80px-\ex\ex_orange~~ ~~ ~~Sample<br>text~~ ~~bg=#007CC3
\exKBHFe!~HUBaq\exKBHFe orange!~HUBeq
}}
Example 7
Sample<br>text

Syntax overview

Syntax Purpose
\ Icon separator
!~ Icon overlay
!@ Icon link
!_ Precedes icon stack formatting parameters
__ Precedes icon formatting parameters
~~ Text separator
! ! Separator between icons and left-column text
key=value,... Formatting parameters
-startCollapsible Start of collapsing section
-endCollapsible End of collapsing section
-colspan Start of non-diagram table cell
-colspan-end End of non-diagram table cell
-colspan-n Start of non-diagram table cell; next n lines of code are in that cell (n can be any positive whole number)
-filler-... Start of filler row

Transition from legacy BS row template to Routemap/sandbox/1 markup

Conversion policies

Many contributors of the English Route Diagram Template project during the implementation of Routemap/sandbox/1 have conflicting opinions about the justification of replacing all maps of legacy BS row templates by the Lua-based Routemap/sandbox/1. Opponents deem the map markups of Routemap/sandbox/1 to be too esoteric for editors unfamiliar with Routemap/sandbox/1 markup to modify. While proponents support a complete conversion for better performance. There is no consensus reached at the moment so any transition without massively updating the map appearance for reflecting service and/or structural change in reality should only be done with the following considerations:

  • The map of the legacy BS row template design has exceeded template size limit in the transcluding page, which means the template does not expand into its intended appearance but only the link to the template page is shown, so there is an imminent need to translate the map into Routemap/sandbox/1 design to reduce post-expand include size.
  • If there is no template size issue, respect the preference of the initial contributor of the first completed version of the diagram. If that contributor contests the change to Routemap/sandbox/1, retain the BS row template design.

Technical options

All BS row templates have had substitutable counterparts created; hence conversion can be easily done by prepending subst: and appending /safesubst to every BS row template name in the map. For example, change {{BS2|STR|BHF|0|1|2|3|O1=uSTRq}} in the map to {{subst:BS2/safesubst|STR|BHF|0|1|2|3|O1=uSTRq}}, then publish changes; it will produce STR!~uSTRq\BHF~~0~~1~~2~~3. The process can be sped up by using the "replace all" function of advanced edit tool or separate text editor such as Notepad or Notepad++, but the search rule for the BS row templates should ideally be a regular expression, like \{\{(BS\d*(\-2)?)\|{{subst:$1/safesubst|, in order to avoid templates with similar names such as BSto and BSsplit in case they are present in the map.

"Column mode editing" can avoid the trouble of find and replace to add safesubst: on all rows efficiently. This function is common in advanced text editors like Geany,[10] Notepad++[11] and Sublime Text[12].

You can also use the "convertbs" function of Module:Routemap/sandbox/1.

Function convertbs

Copy and paste the following code to any edit area of this wiki, maybe the map page you are working on:

{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>

</nowiki>}}

Then copy and paste the original BS-map or BS-table map code between the <nowiki> tags (alternatively paste the invoke convertbs header before the original map code and the </nowiki>}} ending after the map code) and show preview. It will generate the safesubst version and show the original versions (for comparison) of the map code. You copy the safesubst code from the preview area back to the edit area, and you should remove everything of #invoke:Routemap/sandbox/1|convertbs if the preview of the new code works properly.

On the English Wikipedia, the template {{subst:convertbs}} can be used as a shortcut:

{{subst:convertbs|1=

}}

If it doesn't work, it's possible that you haven't copied some of the relevant code, such as table markup for BS-table diagrams, or that you've copied code which actually belongs to something else.

Example
{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>
{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
</nowiki>}}
Result

Safe substitution:

{{Routemap
|title=Demonstration
|map=
{{safesubst:BS/safesubst|KBHFa|0 km|A station|Shuttle bus}}
{{safesubst:BS3/safesubst|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{safesubst:BS/safesubst|KINTe|10 km|B station|City hub}}
-colspan-2
----
Not to scale
}}

Original:

{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
Copy safe substitution markup for actual usage
检测到模板循环:Template:Routemap/doc/sandbox

Embedding into infobox

  • Use {{{inline}}} to remove title bar and table border. If creating a separate template which will be embedded into an infobox, wrap inline=1 in <includeonly>...</includeonly> tags. Also {{{navbar pos}}} is helpful to locate the {{Navbar}} better.
{{Infobox station
| name = {{color box|orange}} Station layout
| image = Placeholder.png
| image_upright = 0.5
| image_caption = Platform level
| opened = {{Start date|1935|05|15|df=y}}
| tracks = 2
| route_map =
{{Routemap/sandbox/1|inline=1|navbar=asd|navbar pos=2|
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
}}
  Station layout
Platform level
Platform level
股道2
历史
启用日期1935年5月15日 (1935-05-15)
站线配置图
检测到模板循环:Template:Routemap/doc/sandbox

Template data

以下是该模板的模板数据,适用于可视化编辑器等工具。

Routemap/doc模板数据

Template for displaying diagram composed of icon images and text labels in uniform style.

模板参数[编辑模板数据]

此模板首选参数换行的代码块格式。

参数描述类型状态
Inline stateinline

Remove title bar and border for transclusion in infobox

字符串可选
Table titletitle

Official title of the system. Value «no» will remove the table title row, but this will also disable the table collapsible switch as well

字符串可选
Title font colortitle color title-color

Color of the title's text; automatically black or white to contrast with the title background color. Only use colors that contrast well with the background color

默认值
#FFF or #252525; depends
字符串可选
Title background colortitle bg color title-bg

Background color of the title

默认值
#27404E
字符串可选
Collapsibilitycollapsible

Whether the whole infobox is collapsible or not

字符串可选
Collapsing statecollapse collapsed

Collapsing state. Shown by default. Any value will make the table collapse by default

字符串可选
Template name for Navbarnavbar

This must exactly match the diagram template page name so the Navbar template will appear and link to the template page

字符串可选
Position of the Navbarnavbar pos

Position of the Navbar template. Float to left in the title bar by default; «1» for top-left corner of the map (just under the title bar); «2» for the middle bottom of the map

字符串可选
Small navbarnavbar mini

If the navbar is not in default position, then this changes whether the navbar displays as "V · T · E" (default for navbar pos 1; values: «1», «y», «yes», «true») or "This diagram: view · talk · edit" (default for navbar pos 2; values: «0», «n», «no», «false»).

字符串可选
Legend appearancelegend

Alias of the legend link. It can be «bus», «canal», «footpath», «road» or «track». «0» or «no» for no legend at all

默认值
Template:Railway line legend
页面名称可选
Legend link textlegend alt

Different link name in place of «Legend» if desirable

默认值
Legend
字符串可选
Floating statefloat

Floating state of the whole box: «right» by default; optionally «left» or «none»

默认值
right
字符串可选
Background colorbg

Background color of the whole map area

默认值
#F9F9F9
字符串可选
CSS style valuesstyle

Additional CSS style definition of the whole infobox

字符串可选
Top notetop on top

Space for optional note or infobox above the map

字符串可选
Bottom notefootnote bottom

Space for optional note or infobox below the map

字符串可选
Width of map text celltext-width tw

Extend the width of the map text cell so the collapsible section within the map does not break

字符串可选
Map markupsmap 1

Map data which uses specific markup/separators to load icon image and arrange the text in the uniform style. Use "map2", "map3" etc. for additional maps

字符串必需
Map titlemap-title

Title of map. Use "map2-title", "map3-title" etc. for titles of addition maps

字符串可选


  • Overlay separator "exclamation mark-tilde" (!~) must follow the icon ID which is to be overlaid.
  • Overlay is practically unlimited, but legibility should be taken into account.
  • The width of the underlying icon determines the width of the combination, even if less than the overlay. The icons are aligned with their left edges together, so that they will not be centered on each other if they differ in width. If the overlay extends past the underlying icon, it will overlay the following icon (but not the following icon's overlay).
  • When using icon overlay and icon link for the same icon cell, the icon link separator (!@) must follow the last (top) overlaying icon ID.
  • The background color parameter (bg=) requires 5 sets of preceding text separators to be recognizable even if there is no text on that row whatsoever.

Other formatting options

Rows

{{Routemap/sandbox/1
|title=Example 2.2
|map=
utSTR~~ ~~ ~~{{mono|1=bg=<abbr title="This is the normal BSicon color for watercourses.">#007CC3</abbr>}}~~ ~~bg=#007CC3
*1\*2\*3~~ ~~ ~~{{mono|1=color=red,bold=yes}}~~ ~~color=red,bold=yes
*A\*C\*E~~ ~~ ~~{{mono|1=align=l,b=1,fontsize=cmt}}~~ ~~align=left,b=1,fontsize=cmt
*B\*D\*F~~ ~~ ~~{{mono|1=colour=orange, align=b, i=y}}~~ ~~colour=orange, align=b, i=y
}}

This template is used for constructing route diagram templates. It is the Lua-based successor of the {{BS-map}} templates, which have been superseded by {{Routemap/sandbox/1}} on the English Wikipedia but are still used on other wikis.

Usage

{{Routemap/sandbox/1
|navbar		= 
|navbar pos	= 
|navbar mini	= 
|title		= 
|title color	= 
|title bg	= 
|bg		= 
|inline		= 
|collapsible	= 
|collapse	= 
|legend		= 
|legend alt	= 
|float		= 
|style		= 
|top		= 
|footnote	= 
|text-width	= 
|map		=
}}

Markup for map parameter

The markup for composing the diagram in the |map= parameter is different to the {{BSrow}}-based templates. The major differences are the separators in each row. Subtemplates are not necessary, since a new row in the table is simply created by a carriage return (newline).

{{Routemap/sandbox/1
Add other parameters like |title= here.
|map=
Map markup goes here!
}}

Basic

Example 1.1
exCONTg
ENDExa
CONTgq\KRZu\CONTfq
BHF
\ABZgl\CONTfq
CONTf
icon ID\icon ID\icon ID
  • Icons are separated by the backslash \.
  • Each group of icons is centered in its row. The nameless icon (at the start of row 5 in the diagram) can be used as a spacer.
  • The ID of each icon can be seen in its tooltip. Move your cursor over the icons to see them.
icon ID\icon ID\icon ID~~dist./time~~main text~~remark~~right remark

or

icon ID\icon ID\icon ID~~main text
{{Routemap/sandbox/1
|title=Example 1.2
|map=
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • The third and fourth pairs of tildes can be omitted if there is no content following either of them.
  • After the last icon ID, if there is only one set of "tilde-tilde" (~~), the following text will be displayed in the main text cell instead of dist./time.
  • Separating text cells requires at least one empty space; otherwise the tildes will be treated as a signature.

Text cells in icon rows

*text\d*text\cd*text~~main text
{{Routemap/sandbox/1
|title=Example 1.3
|map=
ENDEa~~ ~~ ~~Reversing siding
SPLa
cPLT\vSTR\cPLT~~Station
d*1\cPLT\vSTR\cPLT\d*2~~ ~~ ~~Platform numbers
cPLT\vSTR\cPLT
vCONTfge~~ ~~ ~~''to City''
}}
检测到模板循环:Template:Routemap/doc/sandbox

The asterisk indicating a text cell can be preceded by one of the BSicons' width prefixes. (Normal BSicons are square.)

Letters o c d cd none b s bs w
Width 18 14 12 34 1 2 4 6 8

Icon overlay, icon link, background color and colspan

{{Routemap/sandbox/1
|title=Example 2.1
|map=
-colspan-1
Icon overlay
uSTRq!~STR2!~BHF!~lHUB\\dSTR!~uSTRq\dSTR!~dNULf
-colspan-2-style=border-bottom:5px solid red;
----
icon link
utBHF!@Superhub
-colspan
----
background color
-colspan-end
utSTR~~ ~~ ~~ ~~ ~~bg=#7af
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Overlay separator "exclamation mark-tilde" (!~) must follow the icon ID which is to be overlaid.
  • Overlay is practically unlimited, but legibility should be taken into account.
  • The width of the underlying icon determines the width of the combination, even if less than the overlay. The icons are aligned with their left edges together, so that they will not be centered on each other if they differ in width. If the overlay extends past the underlying icon, it will overlay the following icon (but not the following icon's overlay).
  • When using icon overlay and icon link for the same icon cell, the icon link separator (!@) must follow the last (top) overlaying icon ID.
  • The background color parameter (bg=) requires 5 sets of preceding text separators to be recognizable even if there is no text on that row whatsoever.

Other formatting options

Rows

{{Routemap/sandbox/1
|title=Example 2.2
|map=
utSTR~~ ~~ ~~{{mono|1=bg=<abbr title="This is the normal BSicon color for watercourses.">#007CC3</abbr>}}~~ ~~bg=#007CC3
*1\*2\*3~~ ~~ ~~{{mono|1=color=red,bold=yes}}~~ ~~color=red,bold=yes
*A\*C\*E~~ ~~ ~~{{mono|1=align=l,b=1,fontsize=cmt}}~~ ~~align=left,b=1,fontsize=cmt
*B\*D\*F~~ ~~ ~~{{mono|1=colour=orange, align=b, i=y}}~~ ~~colour=orange, align=b, i=y
}}
检测到模板循环:Template:Routemap/doc/sandbox

Aside from bg=, there are several other parameters, separated by commas (,), which can be used to customize the display of a row. Only bg= can be used to change the display of icons; all others only affect text cells.

Row parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Row background is colored
color= or colour= Any X11 color name or RGB hex triplet Text cells in a row are colored
b= or bold= 1, yes, y or true Text cells in a row are emboldened
i=, it= or italic= 1, yes, y or true Text cells in a row are italicized
align= No or invalid value Text in cells is centered horizontally and vertically
l or left Text in cells is aligned to the left
r or right Text in cells is aligned to the right
a, t or top Text in cells is aligned to the top
e, b or bottom Text in cells is aligned to the bottom
la, tl, c4, nw, top-left or topleft Text in cells is aligned to the top-left corner
ra, tr, c1, ne, top-right or topright Text in cells is aligned to the top-right corner
le, bl, c3, sw, bottom-left or bottomleft Text in cells is aligned to the bottom-left corner
re, br, c2, se, bottom-right or bottomright Text in cells is aligned to the bottom-right corner
fontsize= No value Text in cells is 10px high and is transformed to be narrower (example)
info or main Text in cells is the same size as the large sidebar text (second column from center)
cmt or comment Text in cells is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text in cells is a different size (percentages are relative to the large sidebar text)

Individual cells/icons

icon!_bg=purple\*text__align=l!~*more text__align=r,b=yes
  • Parameters for a single icon or text cell (e.g. BHF, *Text) are preceded by two underscores (__).
  • Parameters for the contents of a table cell (a stack of overlaid objects, or a single icon or text box with no overlays) are preceded by an exclamation mark and an underscore (!_). This must follow the link (if any).
  • For the last overlaid item in a stack, the individual item parameters (if any) must precede the stack parameters.
  • Most of the parameters are the same as those for rows, but there are a few additional ones. Additionally, the values for align=, bg= and color= will override the row parameter values.
Icon, text box and overlay stack parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Background is colored
This should not be used with overlays above icons.
color= or colour= Any X11 color name or RGB hex triplet All the text of a cell, or the text of an individual text box, is colored
b= or bold= 1, yes, y or true Boldfaced text
i=, it= or italic= 1, yes, y or true Italicized text
align= No or invalid value Text is aligned per parameters of its parent (default: centered vertically and horizontally)
l or left Text is aligned to… (vertical / horizontal)
"Inherit" indicates that the cell will inherit its parent's value for that axis.
inherit left
r or right inherit right
a, t or top top inherit
e, b or bottom bottom inherit
la, tl, c4, nw, top-left or topleft top left
ra, tr, c1, ne, top-right or topright top right
le, bl, c3, sw, bottom-left or bottomleft bottom left
re, br, c2, se, bottom-right or bottomright bottom right
c, center or centre inherit center
m or middle middle inherit
ma, tc, top-center, top-centre, topcenter or topcentre top center
me, bc, bottom-center, bottom-centre, bottomcenter or bottomcentre bottom center
lm, ml, middle-left or middleleft middle left
rm, mr, middle-right or middleright middle right
cm, mc, middle-center, middle-centre, middlecenter or middlecentre middle center
fontsize= No value Text is 10px high and is transformed to be narrower (example)
info or main Text is the same size as the large sidebar text (second column from center)
cmt or comment Text is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text is a different size (percentages are relative to the large sidebar text)
abbr= Pretty much anything that doesn't mess up the MediaWiki markup Text has dotted underline and a tooltip containing the text after abbr=
This will not have any effect if used on an overlay stack.

Collapsible

{{Routemap/sandbox/1
|title=Example 3.1: Basic collapsible
|text-width=80
|map=
-startCollapsible-collapsed
\KBHFa\~~terminus
hSTRa@g
WASSERq\hKRZW\WASSERq~~ ~~ ~~ ~~bridge
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 3.2:<br/>Mixed odd and even rows
|tw=70
|map=
-startCollapsible-collapsed
d\KBHFa\d~~terminus
hKRZWae~~ ~~ ~~bridge
-endCollapsible-
BS2+l\BS2+r~~junction
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Adjust |text-width= (or |tw=) parameter until there is no break.
    • Unit is "px" by default, but other units such as "em" are acceptable.
    • Check the map in different browser and in mobile view, and increase text-width if it breaks.
  • The icon number of the first row of collapsible section must be equal to or greater than the icon number of the widest non-collapsible row.
    • As in example 3.2, use half-width empty icon 未定義路線圖圖標屬性"d"d) as filler when you are mixing both odd and even rows in the same map.
  • Changing "collapsed" to "nil" will change the default state of the collapible section to uncollapsed.

Collapsible replacement

{{Routemap/sandbox/1
|title=Example 4.1
|text-width=150
|map=
KBHFa~~terminus
-startCollapsible-collapsed-replace
\LSTR\~~hidden section
\hSTRa@g\
WASSERq\hKRZW\WASSERq~~ ~~ ~~viaduct
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 4.2: Empty filler
|text-width=150
|map=
-startCollapsible-collapsed-replace
exCONTg~~under construction
leer
exKBHFa~~future terminus
exBHF~~future station
-endCollapsible
KBHFxa~~terminus
KBHFe~~terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Both replacement and replaced rows must be as wide as the widest non-collapsible row in the diagram.
  • If you want to hide the replaced row after expanding the collapsible, use icon leer) as empty filler as in example 4.2.
  • In any case, mind to provide a sufficient text-width. Here, using text-width=120 would break the alignment of the icons.
  • Collapsible elements are intentionally disabled in mobile view, so the replaced row will never be visible. Keep this in mind while creating a diagram.

Dual text sidebar

For larger and more complicated diagrams, it often helps to have a text sidebar on the left as well as the right.

left-left remark~~left remark~~left main text~~left dist./time! !icon ID~~right dist./time~~right main text~~right remark~~right-right remark

or

left main text! !icon ID~~right main text
{{Routemap/sandbox/1
|title=Example 5
|map=
~~km! !~~km~~
commuter terminus~~0! !uKBHFa\\KBHFa~~0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~ ~~ ~~bridge
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2! !uKBHFe\\KBHFe~~2~~regional terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Left text cells require "exclamation mark-space-exclamation mark" (! !) separating them from icon cells.
  • If there is no "tilde-tilde" (~~) separator to the left of "exclamation mark-space-exclamation mark", the text to the left of the separator will be displayed in the left main text cell.

Dual text sidebar collapsible

Code Result
{{Routemap/sandbox/1
|title=Example 6.1: All text cells applied
|text-width=,130,,,110,
|map=
~~km! !\\~~km~~
-startCollapsible
commuter terminus~~0{{0|00}}! !uKBHFa\leer\KBHFa~~{{0|00}}0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~~~ ~~bridge
-endCollapsible
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2{{0|00}}! !uKBHFe\\KBHFe~~{{0|00}}2~~regional terminus
}}
Example 6.1: All text cells applied
km
km
commuter terminus
000
000
regional terminus
River Boris
bridge
transfer for HSR
station
1
commuter terminus
200
002
regional terminus
{{Routemap/sandbox/1
|title=Example 6.2: Only main text cell applied
|style=width:380px
|text-width=,120,,,120,
|map=
-startCollapsible
commuter terminus! !uKBHFa\\KBHFa~~regional terminus
River Boris! !uhKRZWae\WASSERq\hKRZWae~~bridge
-endCollapsible
station! !uINT\LDER\LSTR
commuter terminus! !uKBHFe\\KBHFe~~regional terminus
}}
Example 6.2: Only main text cell applied
commuter terminus
regional terminus
River Boris
bridge
station
commuter terminus
regional terminus
  • Apply |text-width= to eliminate the break:
    • Only 1 value: right main text+right remark
    • 3 values, separated by commas: right dist./time,right main text+right remark,right-right remark
    • 6 values: Left-left remark,left remark+left main text,left dist./time,right dist./time,right main text+right remark,right-right remark
    • If the number of values is not equal to 1, 3 or 6, the entire parameter will be ignored.
  • If the text width of right-right remark is smaller than needed, its width definition can be omitted, as in example 6.1.
  • If a specific text cell is not used anywhere on the map, that width definition can be omitted, as in example 6.2.
  • Define the general table width with the {{{style}}} parameter if {{{text-width}}} alone cannot prevent a break.
  • If the empty icon cell of the collapsible row is being squashed, use empty icon leer) to correct the icon columns.

Filler rows

Code Result
{{Routemap/sandbox/1
|title=Example 7
|map=
uKBHFa!~HUBaq\HUBq\KBHFa orange!~HUBeq
-filler--#003399\\#FF6600
uBHF!~HUBaq\KBHFa!~HUBq\BHF orange!~HUBeq
-filler--u\-\orange
uKBHFe!~HUBaq\KBHFxe!~HUBq\KBHFxe orange!~HUBeq
-filler-80px-\ex\ex_orange~~ ~~ ~~Sample<br>text~~ ~~bg=#007CC3
\exKBHFe!~HUBaq\exKBHFe orange!~HUBeq
}}
Example 7
Sample<br>text

Syntax overview

Syntax Purpose
\ Icon separator
!~ Icon overlay
!@ Icon link
!_ Precedes icon stack formatting parameters
__ Precedes icon formatting parameters
~~ Text separator
! ! Separator between icons and left-column text
key=value,... Formatting parameters
-startCollapsible Start of collapsing section
-endCollapsible End of collapsing section
-colspan Start of non-diagram table cell
-colspan-end End of non-diagram table cell
-colspan-n Start of non-diagram table cell; next n lines of code are in that cell (n can be any positive whole number)
-filler-... Start of filler row

Transition from legacy BS row template to Routemap/sandbox/1 markup

Conversion policies

Many contributors of the English Route Diagram Template project during the implementation of Routemap/sandbox/1 have conflicting opinions about the justification of replacing all maps of legacy BS row templates by the Lua-based Routemap/sandbox/1. Opponents deem the map markups of Routemap/sandbox/1 to be too esoteric for editors unfamiliar with Routemap/sandbox/1 markup to modify. While proponents support a complete conversion for better performance. There is no consensus reached at the moment so any transition without massively updating the map appearance for reflecting service and/or structural change in reality should only be done with the following considerations:

  • The map of the legacy BS row template design has exceeded template size limit in the transcluding page, which means the template does not expand into its intended appearance but only the link to the template page is shown, so there is an imminent need to translate the map into Routemap/sandbox/1 design to reduce post-expand include size.
  • If there is no template size issue, respect the preference of the initial contributor of the first completed version of the diagram. If that contributor contests the change to Routemap/sandbox/1, retain the BS row template design.

Technical options

All BS row templates have had substitutable counterparts created; hence conversion can be easily done by prepending subst: and appending /safesubst to every BS row template name in the map. For example, change {{BS2|STR|BHF|0|1|2|3|O1=uSTRq}} in the map to {{subst:BS2/safesubst|STR|BHF|0|1|2|3|O1=uSTRq}}, then publish changes; it will produce STR!~uSTRq\BHF~~0~~1~~2~~3. The process can be sped up by using the "replace all" function of advanced edit tool or separate text editor such as Notepad or Notepad++, but the search rule for the BS row templates should ideally be a regular expression, like \{\{(BS\d*(\-2)?)\|{{subst:$1/safesubst|, in order to avoid templates with similar names such as BSto and BSsplit in case they are present in the map.

"Column mode editing" can avoid the trouble of find and replace to add safesubst: on all rows efficiently. This function is common in advanced text editors like Geany,[13] Notepad++[14] and Sublime Text[15].

You can also use the "convertbs" function of Module:Routemap/sandbox/1.

Function convertbs

Copy and paste the following code to any edit area of this wiki, maybe the map page you are working on:

{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>

</nowiki>}}

Then copy and paste the original BS-map or BS-table map code between the <nowiki> tags (alternatively paste the invoke convertbs header before the original map code and the </nowiki>}} ending after the map code) and show preview. It will generate the safesubst version and show the original versions (for comparison) of the map code. You copy the safesubst code from the preview area back to the edit area, and you should remove everything of #invoke:Routemap/sandbox/1|convertbs if the preview of the new code works properly.

On the English Wikipedia, the template {{subst:convertbs}} can be used as a shortcut:

{{subst:convertbs|1=

}}

If it doesn't work, it's possible that you haven't copied some of the relevant code, such as table markup for BS-table diagrams, or that you've copied code which actually belongs to something else.

Example
{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>
{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
</nowiki>}}
Result

Safe substitution:

{{Routemap
|title=Demonstration
|map=
{{safesubst:BS/safesubst|KBHFa|0 km|A station|Shuttle bus}}
{{safesubst:BS3/safesubst|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{safesubst:BS/safesubst|KINTe|10 km|B station|City hub}}
-colspan-2
----
Not to scale
}}

Original:

{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
Copy safe substitution markup for actual usage
检测到模板循环:Template:Routemap/doc/sandbox

Embedding into infobox

  • Use {{{inline}}} to remove title bar and table border. If creating a separate template which will be embedded into an infobox, wrap inline=1 in <includeonly>...</includeonly> tags. Also {{{navbar pos}}} is helpful to locate the {{Navbar}} better.
{{Infobox station
| name = {{color box|orange}} Station layout
| image = Placeholder.png
| image_upright = 0.5
| image_caption = Platform level
| opened = {{Start date|1935|05|15|df=y}}
| tracks = 2
| route_map =
{{Routemap/sandbox/1|inline=1|navbar=asd|navbar pos=2|
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
}}
  Station layout
Platform level
Platform level
股道2
历史
启用日期1935年5月15日 (1935-05-15)
站线配置图
检测到模板循环:Template:Routemap/doc/sandbox

Template data

以下是该模板的模板数据,适用于可视化编辑器等工具。

Routemap/doc模板数据

Template for displaying diagram composed of icon images and text labels in uniform style.

模板参数[编辑模板数据]

此模板首选参数换行的代码块格式。

参数描述类型状态
Inline stateinline

Remove title bar and border for transclusion in infobox

字符串可选
Table titletitle

Official title of the system. Value «no» will remove the table title row, but this will also disable the table collapsible switch as well

字符串可选
Title font colortitle color title-color

Color of the title's text; automatically black or white to contrast with the title background color. Only use colors that contrast well with the background color

默认值
#FFF or #252525; depends
字符串可选
Title background colortitle bg color title-bg

Background color of the title

默认值
#27404E
字符串可选
Collapsibilitycollapsible

Whether the whole infobox is collapsible or not

字符串可选
Collapsing statecollapse collapsed

Collapsing state. Shown by default. Any value will make the table collapse by default

字符串可选
Template name for Navbarnavbar

This must exactly match the diagram template page name so the Navbar template will appear and link to the template page

字符串可选
Position of the Navbarnavbar pos

Position of the Navbar template. Float to left in the title bar by default; «1» for top-left corner of the map (just under the title bar); «2» for the middle bottom of the map

字符串可选
Small navbarnavbar mini

If the navbar is not in default position, then this changes whether the navbar displays as "V · T · E" (default for navbar pos 1; values: «1», «y», «yes», «true») or "This diagram: view · talk · edit" (default for navbar pos 2; values: «0», «n», «no», «false»).

字符串可选
Legend appearancelegend

Alias of the legend link. It can be «bus», «canal», «footpath», «road» or «track». «0» or «no» for no legend at all

默认值
Template:Railway line legend
页面名称可选
Legend link textlegend alt

Different link name in place of «Legend» if desirable

默认值
Legend
字符串可选
Floating statefloat

Floating state of the whole box: «right» by default; optionally «left» or «none»

默认值
right
字符串可选
Background colorbg

Background color of the whole map area

默认值
#F9F9F9
字符串可选
CSS style valuesstyle

Additional CSS style definition of the whole infobox

字符串可选
Top notetop on top

Space for optional note or infobox above the map

字符串可选
Bottom notefootnote bottom

Space for optional note or infobox below the map

字符串可选
Width of map text celltext-width tw

Extend the width of the map text cell so the collapsible section within the map does not break

字符串可选
Map markupsmap 1

Map data which uses specific markup/separators to load icon image and arrange the text in the uniform style. Use "map2", "map3" etc. for additional maps

字符串必需
Map titlemap-title

Title of map. Use "map2-title", "map3-title" etc. for titles of addition maps

字符串可选


Aside from bg=, there are several other parameters, separated by commas (,), which can be used to customize the display of a row. Only bg= can be used to change the display of icons; all others only affect text cells.

Row parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Row background is colored
color= or colour= Any X11 color name or RGB hex triplet Text cells in a row are colored
b= or bold= 1, yes, y or true Text cells in a row are emboldened
i=, it= or italic= 1, yes, y or true Text cells in a row are italicized
align= No or invalid value Text in cells is centered horizontally and vertically
l or left Text in cells is aligned to the left
r or right Text in cells is aligned to the right
a, t or top Text in cells is aligned to the top
e, b or bottom Text in cells is aligned to the bottom
la, tl, c4, nw, top-left or topleft Text in cells is aligned to the top-left corner
ra, tr, c1, ne, top-right or topright Text in cells is aligned to the top-right corner
le, bl, c3, sw, bottom-left or bottomleft Text in cells is aligned to the bottom-left corner
re, br, c2, se, bottom-right or bottomright Text in cells is aligned to the bottom-right corner
fontsize= No value Text in cells is 10px high and is transformed to be narrower (example)
info or main Text in cells is the same size as the large sidebar text (second column from center)
cmt or comment Text in cells is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text in cells is a different size (percentages are relative to the large sidebar text)

Individual cells/icons

icon!_bg=purple\*text__align=l!~*more text__align=r,b=yes
  • Parameters for a single icon or text cell (e.g. BHF, *Text) are preceded by two underscores (__).
  • Parameters for the contents of a table cell (a stack of overlaid objects, or a single icon or text box with no overlays) are preceded by an exclamation mark and an underscore (!_). This must follow the link (if any).
  • For the last overlaid item in a stack, the individual item parameters (if any) must precede the stack parameters.
  • Most of the parameters are the same as those for rows, but there are a few additional ones. Additionally, the values for align=, bg= and color= will override the row parameter values.
Icon, text box and overlay stack parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Background is colored
This should not be used with overlays above icons.
color= or colour= Any X11 color name or RGB hex triplet All the text of a cell, or the text of an individual text box, is colored
b= or bold= 1, yes, y or true Boldfaced text
i=, it= or italic= 1, yes, y or true Italicized text
align= No or invalid value Text is aligned per parameters of its parent (default: centered vertically and horizontally)
l or left Text is aligned to… (vertical / horizontal)
"Inherit" indicates that the cell will inherit its parent's value for that axis.
inherit left
r or right inherit right
a, t or top top inherit
e, b or bottom bottom inherit
la, tl, c4, nw, top-left or topleft top left
ra, tr, c1, ne, top-right or topright top right
le, bl, c3, sw, bottom-left or bottomleft bottom left
re, br, c2, se, bottom-right or bottomright bottom right
c, center or centre inherit center
m or middle middle inherit
ma, tc, top-center, top-centre, topcenter or topcentre top center
me, bc, bottom-center, bottom-centre, bottomcenter or bottomcentre bottom center
lm, ml, middle-left or middleleft middle left
rm, mr, middle-right or middleright middle right
cm, mc, middle-center, middle-centre, middlecenter or middlecentre middle center
fontsize= No value Text is 10px high and is transformed to be narrower (example)
info or main Text is the same size as the large sidebar text (second column from center)
cmt or comment Text is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text is a different size (percentages are relative to the large sidebar text)
abbr= Pretty much anything that doesn't mess up the MediaWiki markup Text has dotted underline and a tooltip containing the text after abbr=
This will not have any effect if used on an overlay stack.

Collapsible

{{Routemap/sandbox/1
|title=Example 3.1: Basic collapsible
|text-width=80
|map=
-startCollapsible-collapsed
\KBHFa\~~terminus
hSTRa@g
WASSERq\hKRZW\WASSERq~~ ~~ ~~ ~~bridge
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}

This template is used for constructing route diagram templates. It is the Lua-based successor of the {{BS-map}} templates, which have been superseded by {{Routemap/sandbox/1}} on the English Wikipedia but are still used on other wikis.

Usage

{{Routemap/sandbox/1
|navbar		= 
|navbar pos	= 
|navbar mini	= 
|title		= 
|title color	= 
|title bg	= 
|bg		= 
|inline		= 
|collapsible	= 
|collapse	= 
|legend		= 
|legend alt	= 
|float		= 
|style		= 
|top		= 
|footnote	= 
|text-width	= 
|map		=
}}

Markup for map parameter

The markup for composing the diagram in the |map= parameter is different to the {{BSrow}}-based templates. The major differences are the separators in each row. Subtemplates are not necessary, since a new row in the table is simply created by a carriage return (newline).

{{Routemap/sandbox/1
Add other parameters like |title= here.
|map=
Map markup goes here!
}}

Basic

Example 1.1
exCONTg
ENDExa
CONTgq\KRZu\CONTfq
BHF
\ABZgl\CONTfq
CONTf
icon ID\icon ID\icon ID
  • Icons are separated by the backslash \.
  • Each group of icons is centered in its row. The nameless icon (at the start of row 5 in the diagram) can be used as a spacer.
  • The ID of each icon can be seen in its tooltip. Move your cursor over the icons to see them.
icon ID\icon ID\icon ID~~dist./time~~main text~~remark~~right remark

or

icon ID\icon ID\icon ID~~main text
{{Routemap/sandbox/1
|title=Example 1.2
|map=
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • The third and fourth pairs of tildes can be omitted if there is no content following either of them.
  • After the last icon ID, if there is only one set of "tilde-tilde" (~~), the following text will be displayed in the main text cell instead of dist./time.
  • Separating text cells requires at least one empty space; otherwise the tildes will be treated as a signature.

Text cells in icon rows

*text\d*text\cd*text~~main text
{{Routemap/sandbox/1
|title=Example 1.3
|map=
ENDEa~~ ~~ ~~Reversing siding
SPLa
cPLT\vSTR\cPLT~~Station
d*1\cPLT\vSTR\cPLT\d*2~~ ~~ ~~Platform numbers
cPLT\vSTR\cPLT
vCONTfge~~ ~~ ~~''to City''
}}
检测到模板循环:Template:Routemap/doc/sandbox

The asterisk indicating a text cell can be preceded by one of the BSicons' width prefixes. (Normal BSicons are square.)

Letters o c d cd none b s bs w
Width 18 14 12 34 1 2 4 6 8

Icon overlay, icon link, background color and colspan

{{Routemap/sandbox/1
|title=Example 2.1
|map=
-colspan-1
Icon overlay
uSTRq!~STR2!~BHF!~lHUB\\dSTR!~uSTRq\dSTR!~dNULf
-colspan-2-style=border-bottom:5px solid red;
----
icon link
utBHF!@Superhub
-colspan
----
background color
-colspan-end
utSTR~~ ~~ ~~ ~~ ~~bg=#7af
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Overlay separator "exclamation mark-tilde" (!~) must follow the icon ID which is to be overlaid.
  • Overlay is practically unlimited, but legibility should be taken into account.
  • The width of the underlying icon determines the width of the combination, even if less than the overlay. The icons are aligned with their left edges together, so that they will not be centered on each other if they differ in width. If the overlay extends past the underlying icon, it will overlay the following icon (but not the following icon's overlay).
  • When using icon overlay and icon link for the same icon cell, the icon link separator (!@) must follow the last (top) overlaying icon ID.
  • The background color parameter (bg=) requires 5 sets of preceding text separators to be recognizable even if there is no text on that row whatsoever.

Other formatting options

Rows

{{Routemap/sandbox/1
|title=Example 2.2
|map=
utSTR~~ ~~ ~~{{mono|1=bg=<abbr title="This is the normal BSicon color for watercourses.">#007CC3</abbr>}}~~ ~~bg=#007CC3
*1\*2\*3~~ ~~ ~~{{mono|1=color=red,bold=yes}}~~ ~~color=red,bold=yes
*A\*C\*E~~ ~~ ~~{{mono|1=align=l,b=1,fontsize=cmt}}~~ ~~align=left,b=1,fontsize=cmt
*B\*D\*F~~ ~~ ~~{{mono|1=colour=orange, align=b, i=y}}~~ ~~colour=orange, align=b, i=y
}}
检测到模板循环:Template:Routemap/doc/sandbox

Aside from bg=, there are several other parameters, separated by commas (,), which can be used to customize the display of a row. Only bg= can be used to change the display of icons; all others only affect text cells.

Row parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Row background is colored
color= or colour= Any X11 color name or RGB hex triplet Text cells in a row are colored
b= or bold= 1, yes, y or true Text cells in a row are emboldened
i=, it= or italic= 1, yes, y or true Text cells in a row are italicized
align= No or invalid value Text in cells is centered horizontally and vertically
l or left Text in cells is aligned to the left
r or right Text in cells is aligned to the right
a, t or top Text in cells is aligned to the top
e, b or bottom Text in cells is aligned to the bottom
la, tl, c4, nw, top-left or topleft Text in cells is aligned to the top-left corner
ra, tr, c1, ne, top-right or topright Text in cells is aligned to the top-right corner
le, bl, c3, sw, bottom-left or bottomleft Text in cells is aligned to the bottom-left corner
re, br, c2, se, bottom-right or bottomright Text in cells is aligned to the bottom-right corner
fontsize= No value Text in cells is 10px high and is transformed to be narrower (example)
info or main Text in cells is the same size as the large sidebar text (second column from center)
cmt or comment Text in cells is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text in cells is a different size (percentages are relative to the large sidebar text)

Individual cells/icons

icon!_bg=purple\*text__align=l!~*more text__align=r,b=yes
  • Parameters for a single icon or text cell (e.g. BHF, *Text) are preceded by two underscores (__).
  • Parameters for the contents of a table cell (a stack of overlaid objects, or a single icon or text box with no overlays) are preceded by an exclamation mark and an underscore (!_). This must follow the link (if any).
  • For the last overlaid item in a stack, the individual item parameters (if any) must precede the stack parameters.
  • Most of the parameters are the same as those for rows, but there are a few additional ones. Additionally, the values for align=, bg= and color= will override the row parameter values.
Icon, text box and overlay stack parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Background is colored
This should not be used with overlays above icons.
color= or colour= Any X11 color name or RGB hex triplet All the text of a cell, or the text of an individual text box, is colored
b= or bold= 1, yes, y or true Boldfaced text
i=, it= or italic= 1, yes, y or true Italicized text
align= No or invalid value Text is aligned per parameters of its parent (default: centered vertically and horizontally)
l or left Text is aligned to… (vertical / horizontal)
"Inherit" indicates that the cell will inherit its parent's value for that axis.
inherit left
r or right inherit right
a, t or top top inherit
e, b or bottom bottom inherit
la, tl, c4, nw, top-left or topleft top left
ra, tr, c1, ne, top-right or topright top right
le, bl, c3, sw, bottom-left or bottomleft bottom left
re, br, c2, se, bottom-right or bottomright bottom right
c, center or centre inherit center
m or middle middle inherit
ma, tc, top-center, top-centre, topcenter or topcentre top center
me, bc, bottom-center, bottom-centre, bottomcenter or bottomcentre bottom center
lm, ml, middle-left or middleleft middle left
rm, mr, middle-right or middleright middle right
cm, mc, middle-center, middle-centre, middlecenter or middlecentre middle center
fontsize= No value Text is 10px high and is transformed to be narrower (example)
info or main Text is the same size as the large sidebar text (second column from center)
cmt or comment Text is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text is a different size (percentages are relative to the large sidebar text)
abbr= Pretty much anything that doesn't mess up the MediaWiki markup Text has dotted underline and a tooltip containing the text after abbr=
This will not have any effect if used on an overlay stack.

Collapsible

{{Routemap/sandbox/1
|title=Example 3.1: Basic collapsible
|text-width=80
|map=
-startCollapsible-collapsed
\KBHFa\~~terminus
hSTRa@g
WASSERq\hKRZW\WASSERq~~ ~~ ~~ ~~bridge
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 3.2:<br/>Mixed odd and even rows
|tw=70
|map=
-startCollapsible-collapsed
d\KBHFa\d~~terminus
hKRZWae~~ ~~ ~~bridge
-endCollapsible-
BS2+l\BS2+r~~junction
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Adjust |text-width= (or |tw=) parameter until there is no break.
    • Unit is "px" by default, but other units such as "em" are acceptable.
    • Check the map in different browser and in mobile view, and increase text-width if it breaks.
  • The icon number of the first row of collapsible section must be equal to or greater than the icon number of the widest non-collapsible row.
    • As in example 3.2, use half-width empty icon 未定義路線圖圖標屬性"d"d) as filler when you are mixing both odd and even rows in the same map.
  • Changing "collapsed" to "nil" will change the default state of the collapible section to uncollapsed.

Collapsible replacement

{{Routemap/sandbox/1
|title=Example 4.1
|text-width=150
|map=
KBHFa~~terminus
-startCollapsible-collapsed-replace
\LSTR\~~hidden section
\hSTRa@g\
WASSERq\hKRZW\WASSERq~~ ~~ ~~viaduct
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 4.2: Empty filler
|text-width=150
|map=
-startCollapsible-collapsed-replace
exCONTg~~under construction
leer
exKBHFa~~future terminus
exBHF~~future station
-endCollapsible
KBHFxa~~terminus
KBHFe~~terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Both replacement and replaced rows must be as wide as the widest non-collapsible row in the diagram.
  • If you want to hide the replaced row after expanding the collapsible, use icon leer) as empty filler as in example 4.2.
  • In any case, mind to provide a sufficient text-width. Here, using text-width=120 would break the alignment of the icons.
  • Collapsible elements are intentionally disabled in mobile view, so the replaced row will never be visible. Keep this in mind while creating a diagram.

Dual text sidebar

For larger and more complicated diagrams, it often helps to have a text sidebar on the left as well as the right.

left-left remark~~left remark~~left main text~~left dist./time! !icon ID~~right dist./time~~right main text~~right remark~~right-right remark

or

left main text! !icon ID~~right main text
{{Routemap/sandbox/1
|title=Example 5
|map=
~~km! !~~km~~
commuter terminus~~0! !uKBHFa\\KBHFa~~0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~ ~~ ~~bridge
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2! !uKBHFe\\KBHFe~~2~~regional terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Left text cells require "exclamation mark-space-exclamation mark" (! !) separating them from icon cells.
  • If there is no "tilde-tilde" (~~) separator to the left of "exclamation mark-space-exclamation mark", the text to the left of the separator will be displayed in the left main text cell.

Dual text sidebar collapsible

Code Result
{{Routemap/sandbox/1
|title=Example 6.1: All text cells applied
|text-width=,130,,,110,
|map=
~~km! !\\~~km~~
-startCollapsible
commuter terminus~~0{{0|00}}! !uKBHFa\leer\KBHFa~~{{0|00}}0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~~~ ~~bridge
-endCollapsible
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2{{0|00}}! !uKBHFe\\KBHFe~~{{0|00}}2~~regional terminus
}}
Example 6.1: All text cells applied
km
km
commuter terminus
000
000
regional terminus
River Boris
bridge
transfer for HSR
station
1
commuter terminus
200
002
regional terminus
{{Routemap/sandbox/1
|title=Example 6.2: Only main text cell applied
|style=width:380px
|text-width=,120,,,120,
|map=
-startCollapsible
commuter terminus! !uKBHFa\\KBHFa~~regional terminus
River Boris! !uhKRZWae\WASSERq\hKRZWae~~bridge
-endCollapsible
station! !uINT\LDER\LSTR
commuter terminus! !uKBHFe\\KBHFe~~regional terminus
}}
Example 6.2: Only main text cell applied
commuter terminus
regional terminus
River Boris
bridge
station
commuter terminus
regional terminus
  • Apply |text-width= to eliminate the break:
    • Only 1 value: right main text+right remark
    • 3 values, separated by commas: right dist./time,right main text+right remark,right-right remark
    • 6 values: Left-left remark,left remark+left main text,left dist./time,right dist./time,right main text+right remark,right-right remark
    • If the number of values is not equal to 1, 3 or 6, the entire parameter will be ignored.
  • If the text width of right-right remark is smaller than needed, its width definition can be omitted, as in example 6.1.
  • If a specific text cell is not used anywhere on the map, that width definition can be omitted, as in example 6.2.
  • Define the general table width with the {{{style}}} parameter if {{{text-width}}} alone cannot prevent a break.
  • If the empty icon cell of the collapsible row is being squashed, use empty icon leer) to correct the icon columns.

Filler rows

Code Result
{{Routemap/sandbox/1
|title=Example 7
|map=
uKBHFa!~HUBaq\HUBq\KBHFa orange!~HUBeq
-filler--#003399\\#FF6600
uBHF!~HUBaq\KBHFa!~HUBq\BHF orange!~HUBeq
-filler--u\-\orange
uKBHFe!~HUBaq\KBHFxe!~HUBq\KBHFxe orange!~HUBeq
-filler-80px-\ex\ex_orange~~ ~~ ~~Sample<br>text~~ ~~bg=#007CC3
\exKBHFe!~HUBaq\exKBHFe orange!~HUBeq
}}
Example 7
Sample<br>text

Syntax overview

Syntax Purpose
\ Icon separator
!~ Icon overlay
!@ Icon link
!_ Precedes icon stack formatting parameters
__ Precedes icon formatting parameters
~~ Text separator
! ! Separator between icons and left-column text
key=value,... Formatting parameters
-startCollapsible Start of collapsing section
-endCollapsible End of collapsing section
-colspan Start of non-diagram table cell
-colspan-end End of non-diagram table cell
-colspan-n Start of non-diagram table cell; next n lines of code are in that cell (n can be any positive whole number)
-filler-... Start of filler row

Transition from legacy BS row template to Routemap/sandbox/1 markup

Conversion policies

Many contributors of the English Route Diagram Template project during the implementation of Routemap/sandbox/1 have conflicting opinions about the justification of replacing all maps of legacy BS row templates by the Lua-based Routemap/sandbox/1. Opponents deem the map markups of Routemap/sandbox/1 to be too esoteric for editors unfamiliar with Routemap/sandbox/1 markup to modify. While proponents support a complete conversion for better performance. There is no consensus reached at the moment so any transition without massively updating the map appearance for reflecting service and/or structural change in reality should only be done with the following considerations:

  • The map of the legacy BS row template design has exceeded template size limit in the transcluding page, which means the template does not expand into its intended appearance but only the link to the template page is shown, so there is an imminent need to translate the map into Routemap/sandbox/1 design to reduce post-expand include size.
  • If there is no template size issue, respect the preference of the initial contributor of the first completed version of the diagram. If that contributor contests the change to Routemap/sandbox/1, retain the BS row template design.

Technical options

All BS row templates have had substitutable counterparts created; hence conversion can be easily done by prepending subst: and appending /safesubst to every BS row template name in the map. For example, change {{BS2|STR|BHF|0|1|2|3|O1=uSTRq}} in the map to {{subst:BS2/safesubst|STR|BHF|0|1|2|3|O1=uSTRq}}, then publish changes; it will produce STR!~uSTRq\BHF~~0~~1~~2~~3. The process can be sped up by using the "replace all" function of advanced edit tool or separate text editor such as Notepad or Notepad++, but the search rule for the BS row templates should ideally be a regular expression, like \{\{(BS\d*(\-2)?)\|{{subst:$1/safesubst|, in order to avoid templates with similar names such as BSto and BSsplit in case they are present in the map.

"Column mode editing" can avoid the trouble of find and replace to add safesubst: on all rows efficiently. This function is common in advanced text editors like Geany,[16] Notepad++[17] and Sublime Text[18].

You can also use the "convertbs" function of Module:Routemap/sandbox/1.

Function convertbs

Copy and paste the following code to any edit area of this wiki, maybe the map page you are working on:

{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>

</nowiki>}}

Then copy and paste the original BS-map or BS-table map code between the <nowiki> tags (alternatively paste the invoke convertbs header before the original map code and the </nowiki>}} ending after the map code) and show preview. It will generate the safesubst version and show the original versions (for comparison) of the map code. You copy the safesubst code from the preview area back to the edit area, and you should remove everything of #invoke:Routemap/sandbox/1|convertbs if the preview of the new code works properly.

On the English Wikipedia, the template {{subst:convertbs}} can be used as a shortcut:

{{subst:convertbs|1=

}}

If it doesn't work, it's possible that you haven't copied some of the relevant code, such as table markup for BS-table diagrams, or that you've copied code which actually belongs to something else.

Example
{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>
{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
</nowiki>}}
Result

Safe substitution:

{{Routemap
|title=Demonstration
|map=
{{safesubst:BS/safesubst|KBHFa|0 km|A station|Shuttle bus}}
{{safesubst:BS3/safesubst|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{safesubst:BS/safesubst|KINTe|10 km|B station|City hub}}
-colspan-2
----
Not to scale
}}

Original:

{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
Copy safe substitution markup for actual usage
检测到模板循环:Template:Routemap/doc/sandbox

Embedding into infobox

  • Use {{{inline}}} to remove title bar and table border. If creating a separate template which will be embedded into an infobox, wrap inline=1 in <includeonly>...</includeonly> tags. Also {{{navbar pos}}} is helpful to locate the {{Navbar}} better.
{{Infobox station
| name = {{color box|orange}} Station layout
| image = Placeholder.png
| image_upright = 0.5
| image_caption = Platform level
| opened = {{Start date|1935|05|15|df=y}}
| tracks = 2
| route_map =
{{Routemap/sandbox/1|inline=1|navbar=asd|navbar pos=2|
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
}}
  Station layout
Platform level
Platform level
股道2
历史
启用日期1935年5月15日 (1935-05-15)
站线配置图
检测到模板循环:Template:Routemap/doc/sandbox

Template data

以下是该模板的模板数据,适用于可视化编辑器等工具。

Routemap/doc模板数据

Template for displaying diagram composed of icon images and text labels in uniform style.

模板参数[编辑模板数据]

此模板首选参数换行的代码块格式。

参数描述类型状态
Inline stateinline

Remove title bar and border for transclusion in infobox

字符串可选
Table titletitle

Official title of the system. Value «no» will remove the table title row, but this will also disable the table collapsible switch as well

字符串可选
Title font colortitle color title-color

Color of the title's text; automatically black or white to contrast with the title background color. Only use colors that contrast well with the background color

默认值
#FFF or #252525; depends
字符串可选
Title background colortitle bg color title-bg

Background color of the title

默认值
#27404E
字符串可选
Collapsibilitycollapsible

Whether the whole infobox is collapsible or not

字符串可选
Collapsing statecollapse collapsed

Collapsing state. Shown by default. Any value will make the table collapse by default

字符串可选
Template name for Navbarnavbar

This must exactly match the diagram template page name so the Navbar template will appear and link to the template page

字符串可选
Position of the Navbarnavbar pos

Position of the Navbar template. Float to left in the title bar by default; «1» for top-left corner of the map (just under the title bar); «2» for the middle bottom of the map

字符串可选
Small navbarnavbar mini

If the navbar is not in default position, then this changes whether the navbar displays as "V · T · E" (default for navbar pos 1; values: «1», «y», «yes», «true») or "This diagram: view · talk · edit" (default for navbar pos 2; values: «0», «n», «no», «false»).

字符串可选
Legend appearancelegend

Alias of the legend link. It can be «bus», «canal», «footpath», «road» or «track». «0» or «no» for no legend at all

默认值
Template:Railway line legend
页面名称可选
Legend link textlegend alt

Different link name in place of «Legend» if desirable

默认值
Legend
字符串可选
Floating statefloat

Floating state of the whole box: «right» by default; optionally «left» or «none»

默认值
right
字符串可选
Background colorbg

Background color of the whole map area

默认值
#F9F9F9
字符串可选
CSS style valuesstyle

Additional CSS style definition of the whole infobox

字符串可选
Top notetop on top

Space for optional note or infobox above the map

字符串可选
Bottom notefootnote bottom

Space for optional note or infobox below the map

字符串可选
Width of map text celltext-width tw

Extend the width of the map text cell so the collapsible section within the map does not break

字符串可选
Map markupsmap 1

Map data which uses specific markup/separators to load icon image and arrange the text in the uniform style. Use "map2", "map3" etc. for additional maps

字符串必需
Map titlemap-title

Title of map. Use "map2-title", "map3-title" etc. for titles of addition maps

字符串可选


{{Routemap/sandbox/1
|title=Example 3.2:<br/>Mixed odd and even rows
|tw=70
|map=
-startCollapsible-collapsed
d\KBHFa\d~~terminus
hKRZWae~~ ~~ ~~bridge
-endCollapsible-
BS2+l\BS2+r~~junction
}}

This template is used for constructing route diagram templates. It is the Lua-based successor of the {{BS-map}} templates, which have been superseded by {{Routemap/sandbox/1}} on the English Wikipedia but are still used on other wikis.

Usage

{{Routemap/sandbox/1
|navbar		= 
|navbar pos	= 
|navbar mini	= 
|title		= 
|title color	= 
|title bg	= 
|bg		= 
|inline		= 
|collapsible	= 
|collapse	= 
|legend		= 
|legend alt	= 
|float		= 
|style		= 
|top		= 
|footnote	= 
|text-width	= 
|map		=
}}

Markup for map parameter

The markup for composing the diagram in the |map= parameter is different to the {{BSrow}}-based templates. The major differences are the separators in each row. Subtemplates are not necessary, since a new row in the table is simply created by a carriage return (newline).

{{Routemap/sandbox/1
Add other parameters like |title= here.
|map=
Map markup goes here!
}}

Basic

Example 1.1
exCONTg
ENDExa
CONTgq\KRZu\CONTfq
BHF
\ABZgl\CONTfq
CONTf
icon ID\icon ID\icon ID
  • Icons are separated by the backslash \.
  • Each group of icons is centered in its row. The nameless icon (at the start of row 5 in the diagram) can be used as a spacer.
  • The ID of each icon can be seen in its tooltip. Move your cursor over the icons to see them.
icon ID\icon ID\icon ID~~dist./time~~main text~~remark~~right remark

or

icon ID\icon ID\icon ID~~main text
{{Routemap/sandbox/1
|title=Example 1.2
|map=
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • The third and fourth pairs of tildes can be omitted if there is no content following either of them.
  • After the last icon ID, if there is only one set of "tilde-tilde" (~~), the following text will be displayed in the main text cell instead of dist./time.
  • Separating text cells requires at least one empty space; otherwise the tildes will be treated as a signature.

Text cells in icon rows

*text\d*text\cd*text~~main text
{{Routemap/sandbox/1
|title=Example 1.3
|map=
ENDEa~~ ~~ ~~Reversing siding
SPLa
cPLT\vSTR\cPLT~~Station
d*1\cPLT\vSTR\cPLT\d*2~~ ~~ ~~Platform numbers
cPLT\vSTR\cPLT
vCONTfge~~ ~~ ~~''to City''
}}
检测到模板循环:Template:Routemap/doc/sandbox

The asterisk indicating a text cell can be preceded by one of the BSicons' width prefixes. (Normal BSicons are square.)

Letters o c d cd none b s bs w
Width 18 14 12 34 1 2 4 6 8

Icon overlay, icon link, background color and colspan

{{Routemap/sandbox/1
|title=Example 2.1
|map=
-colspan-1
Icon overlay
uSTRq!~STR2!~BHF!~lHUB\\dSTR!~uSTRq\dSTR!~dNULf
-colspan-2-style=border-bottom:5px solid red;
----
icon link
utBHF!@Superhub
-colspan
----
background color
-colspan-end
utSTR~~ ~~ ~~ ~~ ~~bg=#7af
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Overlay separator "exclamation mark-tilde" (!~) must follow the icon ID which is to be overlaid.
  • Overlay is practically unlimited, but legibility should be taken into account.
  • The width of the underlying icon determines the width of the combination, even if less than the overlay. The icons are aligned with their left edges together, so that they will not be centered on each other if they differ in width. If the overlay extends past the underlying icon, it will overlay the following icon (but not the following icon's overlay).
  • When using icon overlay and icon link for the same icon cell, the icon link separator (!@) must follow the last (top) overlaying icon ID.
  • The background color parameter (bg=) requires 5 sets of preceding text separators to be recognizable even if there is no text on that row whatsoever.

Other formatting options

Rows

{{Routemap/sandbox/1
|title=Example 2.2
|map=
utSTR~~ ~~ ~~{{mono|1=bg=<abbr title="This is the normal BSicon color for watercourses.">#007CC3</abbr>}}~~ ~~bg=#007CC3
*1\*2\*3~~ ~~ ~~{{mono|1=color=red,bold=yes}}~~ ~~color=red,bold=yes
*A\*C\*E~~ ~~ ~~{{mono|1=align=l,b=1,fontsize=cmt}}~~ ~~align=left,b=1,fontsize=cmt
*B\*D\*F~~ ~~ ~~{{mono|1=colour=orange, align=b, i=y}}~~ ~~colour=orange, align=b, i=y
}}
检测到模板循环:Template:Routemap/doc/sandbox

Aside from bg=, there are several other parameters, separated by commas (,), which can be used to customize the display of a row. Only bg= can be used to change the display of icons; all others only affect text cells.

Row parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Row background is colored
color= or colour= Any X11 color name or RGB hex triplet Text cells in a row are colored
b= or bold= 1, yes, y or true Text cells in a row are emboldened
i=, it= or italic= 1, yes, y or true Text cells in a row are italicized
align= No or invalid value Text in cells is centered horizontally and vertically
l or left Text in cells is aligned to the left
r or right Text in cells is aligned to the right
a, t or top Text in cells is aligned to the top
e, b or bottom Text in cells is aligned to the bottom
la, tl, c4, nw, top-left or topleft Text in cells is aligned to the top-left corner
ra, tr, c1, ne, top-right or topright Text in cells is aligned to the top-right corner
le, bl, c3, sw, bottom-left or bottomleft Text in cells is aligned to the bottom-left corner
re, br, c2, se, bottom-right or bottomright Text in cells is aligned to the bottom-right corner
fontsize= No value Text in cells is 10px high and is transformed to be narrower (example)
info or main Text in cells is the same size as the large sidebar text (second column from center)
cmt or comment Text in cells is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text in cells is a different size (percentages are relative to the large sidebar text)

Individual cells/icons

icon!_bg=purple\*text__align=l!~*more text__align=r,b=yes
  • Parameters for a single icon or text cell (e.g. BHF, *Text) are preceded by two underscores (__).
  • Parameters for the contents of a table cell (a stack of overlaid objects, or a single icon or text box with no overlays) are preceded by an exclamation mark and an underscore (!_). This must follow the link (if any).
  • For the last overlaid item in a stack, the individual item parameters (if any) must precede the stack parameters.
  • Most of the parameters are the same as those for rows, but there are a few additional ones. Additionally, the values for align=, bg= and color= will override the row parameter values.
Icon, text box and overlay stack parameters
Parameter name Values Result
bg=, background= or bgcolor= Any X11 color name, RGB hex triplet or other valid values of the CSS background property Background is colored
This should not be used with overlays above icons.
color= or colour= Any X11 color name or RGB hex triplet All the text of a cell, or the text of an individual text box, is colored
b= or bold= 1, yes, y or true Boldfaced text
i=, it= or italic= 1, yes, y or true Italicized text
align= No or invalid value Text is aligned per parameters of its parent (default: centered vertically and horizontally)
l or left Text is aligned to… (vertical / horizontal)
"Inherit" indicates that the cell will inherit its parent's value for that axis.
inherit left
r or right inherit right
a, t or top top inherit
e, b or bottom bottom inherit
la, tl, c4, nw, top-left or topleft top left
ra, tr, c1, ne, top-right or topright top right
le, bl, c3, sw, bottom-left or bottomleft bottom left
re, br, c2, se, bottom-right or bottomright bottom right
c, center or centre inherit center
m or middle middle inherit
ma, tc, top-center, top-centre, topcenter or topcentre top center
me, bc, bottom-center, bottom-centre, bottomcenter or bottomcentre bottom center
lm, ml, middle-left or middleleft middle left
rm, mr, middle-right or middleright middle right
cm, mc, middle-center, middle-centre, middlecenter or middlecentre middle center
fontsize= No value Text is 10px high and is transformed to be narrower (example)
info or main Text is the same size as the large sidebar text (second column from center)
cmt or comment Text is the same size as the small sidebar text (other columns)
Any valid values of the CSS font-size property Text is a different size (percentages are relative to the large sidebar text)
abbr= Pretty much anything that doesn't mess up the MediaWiki markup Text has dotted underline and a tooltip containing the text after abbr=
This will not have any effect if used on an overlay stack.

Collapsible

{{Routemap/sandbox/1
|title=Example 3.1: Basic collapsible
|text-width=80
|map=
-startCollapsible-collapsed
\KBHFa\~~terminus
hSTRa@g
WASSERq\hKRZW\WASSERq~~ ~~ ~~ ~~bridge
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 3.2:<br/>Mixed odd and even rows
|tw=70
|map=
-startCollapsible-collapsed
d\KBHFa\d~~terminus
hKRZWae~~ ~~ ~~bridge
-endCollapsible-
BS2+l\BS2+r~~junction
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Adjust |text-width= (or |tw=) parameter until there is no break.
    • Unit is "px" by default, but other units such as "em" are acceptable.
    • Check the map in different browser and in mobile view, and increase text-width if it breaks.
  • The icon number of the first row of collapsible section must be equal to or greater than the icon number of the widest non-collapsible row.
    • As in example 3.2, use half-width empty icon 未定義路線圖圖標屬性"d"d) as filler when you are mixing both odd and even rows in the same map.
  • Changing "collapsed" to "nil" will change the default state of the collapible section to uncollapsed.

Collapsible replacement

{{Routemap/sandbox/1
|title=Example 4.1
|text-width=150
|map=
KBHFa~~terminus
-startCollapsible-collapsed-replace
\LSTR\~~hidden section
\hSTRa@g\
WASSERq\hKRZW\WASSERq~~ ~~ ~~viaduct
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
检测到模板循环:Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 4.2: Empty filler
|text-width=150
|map=
-startCollapsible-collapsed-replace
exCONTg~~under construction
leer
exKBHFa~~future terminus
exBHF~~future station
-endCollapsible
KBHFxa~~terminus
KBHFe~~terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Both replacement and replaced rows must be as wide as the widest non-collapsible row in the diagram.
  • If you want to hide the replaced row after expanding the collapsible, use icon leer) as empty filler as in example 4.2.
  • In any case, mind to provide a sufficient text-width. Here, using text-width=120 would break the alignment of the icons.
  • Collapsible elements are intentionally disabled in mobile view, so the replaced row will never be visible. Keep this in mind while creating a diagram.

Dual text sidebar

For larger and more complicated diagrams, it often helps to have a text sidebar on the left as well as the right.

left-left remark~~left remark~~left main text~~left dist./time! !icon ID~~right dist./time~~right main text~~right remark~~right-right remark

or

left main text! !icon ID~~right main text
{{Routemap/sandbox/1
|title=Example 5
|map=
~~km! !~~km~~
commuter terminus~~0! !uKBHFa\\KBHFa~~0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~ ~~ ~~bridge
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2! !uKBHFe\\KBHFe~~2~~regional terminus
}}
检测到模板循环:Template:Routemap/doc/sandbox
  • Left text cells require "exclamation mark-space-exclamation mark" (! !) separating them from icon cells.
  • If there is no "tilde-tilde" (~~) separator to the left of "exclamation mark-space-exclamation mark", the text to the left of the separator will be displayed in the left main text cell.

Dual text sidebar collapsible

Code Result
{{Routemap/sandbox/1
|title=Example 6.1: All text cells applied
|text-width=,130,,,110,
|map=
~~km! !\\~~km~~
-startCollapsible
commuter terminus~~0{{0|00}}! !uKBHFa\leer\KBHFa~~{{0|00}}0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~~~ ~~bridge
-endCollapsible
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2{{0|00}}! !uKBHFe\\KBHFe~~{{0|00}}2~~regional terminus
}}
Example 6.1: All text cells applied
km
km
commuter terminus
000
000
regional terminus
River Boris
bridge
transfer for HSR
station
1
commuter terminus
200
002
regional terminus
{{Routemap/sandbox/1
|title=Example 6.2: Only main text cell applied
|style=width:380px
|text-width=,120,,,120,
|map=
-startCollapsible
commuter terminus! !uKBHFa\\KBHFa~~regional terminus
River Boris! !uhKRZWae\WASSERq\hKRZWae~~bridge
-endCollapsible
station! !uINT\LDER\LSTR
commuter terminus! !uKBHFe\\KBHFe~~regional terminus
}}
Example 6.2: Only main text cell applied
commuter terminus
regional terminus
River Boris
bridge
station
commuter terminus
regional terminus
  • Apply |text-width= to eliminate the break:
    • Only 1 value: right main text+right remark
    • 3 values, separated by commas: right dist./time,right main text+right remark,right-right remark
    • 6 values: Left-left remark,left remark+left main text,left dist./time,right dist./time,right main text+right remark,right-right remark
    • If the number of values is not equal to 1, 3 or 6, the entire parameter will be ignored.
  • If the text width of right-right remark is smaller than needed, its width definition can be omitted, as in example 6.1.
  • If a specific text cell is not used anywhere on the map, that width definition can be omitted, as in example 6.2.
  • Define the general table width with the {{{style}}} parameter if {{{text-width}}} alone cannot prevent a break.
  • If the empty icon cell of the collapsible row is being squashed, use empty icon leer) to correct the icon columns.

Filler rows

Code Result
{{Routemap/sandbox/1
|title=Example 7
|map=
uKBHFa!~HUBaq\HUBq\KBHFa orange!~HUBeq
-filler--#003399\\#FF6600
uBHF!~HUBaq\KBHFa!~HUBq\BHF orange!~HUBeq
-filler--u\-\orange
uKBHFe!~HUBaq\KBHFxe!~HUBq\KBHFxe orange!~HUBeq
-filler-80px-\ex\ex_orange~~ ~~ ~~Sample<br>text~~ ~~bg=#007CC3
\exKBHFe!~HUBaq\exKBHFe orange!~HUBeq
}}
Example 7
Sample<br>text

Syntax overview

Syntax Purpose
\ Icon separator
!~ Icon overlay
!@ Icon link
!_ Precedes icon stack formatting parameters
__ Precedes icon formatting parameters
~~ Text separator
! ! Separator between icons and left-column text
key=value,... Formatting parameters
-startCollapsible Start of collapsing section
-endCollapsible End of collapsing section
-colspan Start of non-diagram table cell
-colspan-end End of non-diagram table cell
-colspan-n Start of non-diagram table cell; next n lines of code are in that cell (n can be any positive whole number)
-filler-... Start of filler row

Transition from legacy BS row template to Routemap/sandbox/1 markup

Conversion policies

Many contributors of the English Route Diagram Template project during the implementation of Routemap/sandbox/1 have conflicting opinions about the justification of replacing all maps of legacy BS row templates by the Lua-based Routemap/sandbox/1. Opponents deem the map markups of Routemap/sandbox/1 to be too esoteric for editors unfamiliar with Routemap/sandbox/1 markup to modify. While proponents support a complete conversion for better performance. There is no consensus reached at the moment so any transition without massively updating the map appearance for reflecting service and/or structural change in reality should only be done with the following considerations:

  • The map of the legacy BS row template design has exceeded template size limit in the transcluding page, which means the template does not expand into its intended appearance but only the link to the template page is shown, so there is an imminent need to translate the map into Routemap/sandbox/1 design to reduce post-expand include size.
  • If there is no template size issue, respect the preference of the initial contributor of the first completed version of the diagram. If that contributor contests the change to Routemap/sandbox/1, retain the BS row template design.

Technical options

All BS row templates have had substitutable counterparts created; hence conversion can be easily done by prepending subst: and appending /safesubst to every BS row template name in the map. For example, change {{BS2|STR|BHF|0|1|2|3|O1=uSTRq}} in the map to {{subst:BS2/safesubst|STR|BHF|0|1|2|3|O1=uSTRq}}, then publish changes; it will produce STR!~uSTRq\BHF~~0~~1~~2~~3. The process can be sped up by using the "replace all" function of advanced edit tool or separate text editor such as Notepad or Notepad++, but the search rule for the BS row templates should ideally be a regular expression, like \{\{(BS\d*(\-2)?)\|{{subst:$1/safesubst|, in order to avoid templates with similar names such as BSto and BSsplit in case they are present in the map.

"Column mode editing" can avoid the trouble of find and replace to add safesubst: on all rows efficiently. This function is common in advanced text editors like Geany,[19] Notepad++[20] and Sublime Text[21].

You can also use the "convertbs" function of Module:Routemap/sandbox/1.

Function convertbs

Copy and paste the following code to any edit area of this wiki, maybe the map page you are working on:

{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>

</nowiki>}}

Then copy and paste the original BS-map or BS-table map code between the <nowiki> tags (alternatively paste the invoke convertbs header before the original map code and the </nowiki>}} ending after the map code) and show preview. It will generate the safesubst version and show the original versions (for comparison) of the map code. You copy the safesubst code from the preview area back to the edit area, and you should remove everything of #invoke:Routemap/sandbox/1|convertbs if the preview of the new code works properly.

On the English Wikipedia, the template {{subst:convertbs}} can be used as a shortcut:

{{subst:convertbs|1=

}}

If it doesn't work, it's possible that you haven't copied some of the relevant code, such as table markup for BS-table diagrams, or that you've copied code which actually belongs to something else.

Example
{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>
{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
</nowiki>}}
Result

Safe substitution:

{{Routemap
|title=Demonstration
|map=
{{safesubst:BS/safesubst|KBHFa|0 km|A station|Shuttle bus}}
{{safesubst:BS3/safesubst|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{safesubst:BS/safesubst|KINTe|10 km|B station|City hub}}
-colspan-2
----
Not to scale
}}

Original:

{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
Copy safe substitution markup for actual usage
检测到模板循环:Template:Routemap/doc/sandbox

Embedding into infobox

  • Use {{{inline}}} to remove title bar and table border. If creating a separate template which will be embedded into an infobox, wrap inline=1 in <includeonly>...</includeonly> tags. Also {{{navbar pos}}} is helpful to locate the {{Navbar}} better.
{{Infobox station
| name = {{color box|orange}} Station layout
| image = Placeholder.png
| image_upright = 0.5
| image_caption = Platform level
| opened = {{Start date|1935|05|15|df=y}}
| tracks = 2
| route_map =
{{Routemap/sandbox/1|inline=1|navbar=asd|navbar pos=2|
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
}}
  Station layout
Platform level
Platform level
股道2
历史
启用日期1935年5月15日 (1935-05-15)
站线配置图
检测到模板循环:Template:Routemap/doc/sandbox

Template data

以下是该模板的模板数据,适用于可视化编辑器等工具。

Routemap/doc模板数据

Template for displaying diagram composed of icon images and text labels in uniform style.

模板参数[编辑模板数据]

此模板首选参数换行的代码块格式。

参数描述类型状态
Inline stateinline

Remove title bar and border for transclusion in infobox

字符串可选
Table titletitle

Official title of the system. Value «no» will remove the table title row, but this will also disable the table collapsible switch as well

字符串可选
Title font colortitle color title-color

Color of the title's text; automatically black or white to contrast with the title background color. Only use colors that contrast well with the background color

默认值
#FFF or #252525; depends
字符串可选
Title background colortitle bg color title-bg

Background color of the title

默认值
#27404E
字符串可选
Collapsibilitycollapsible

Whether the whole infobox is collapsible or not

字符串可选
Collapsing statecollapse collapsed

Collapsing state. Shown by default. Any value will make the table collapse by default

字符串可选
Template name for Navbarnavbar

This must exactly match the diagram template page name so the Navbar template will appear and link to the template page

字符串可选
Position of the Navbarnavbar pos

Position of the Navbar template. Float to left in the title bar by default; «1» for top-left corner of the map (just under the title bar); «2» for the middle bottom of the map

字符串可选
Small navbarnavbar mini

If the navbar is not in default position, then this changes whether the navbar displays as "V · T · E" (default for navbar pos 1; values: «1», «y», «yes», «true») or "This diagram: view · talk · edit" (default for navbar pos 2; values: «0», «n», «no», «false»).

字符串可选
Legend appearancelegend

Alias of the legend link. It can be «bus», «canal», «footpath», «road» or «track». «0» or «no» for no legend at all

默认值
Template:Railway line legend
页面名称可选
Legend link textlegend alt

Different link name in place of «Legend» if desirable

默认值
Legend
字符串可选
Floating statefloat

Floating state of the whole box: «right» by default; optionally «left» or «none»

默认值
right
字符串可选
Background colorbg

Background color of the whole map area

默认值
#F9F9F9
字符串可选
CSS style valuesstyle

Additional CSS style definition of the whole infobox

字符串可选
Top notetop on top

Space for optional note or infobox above the map

字符串可选
Bottom notefootnote bottom

Space for optional note or infobox below the map

字符串可选
Width of map text celltext-width tw

Extend the width of the map text cell so the collapsible section within the map does not break

字符串可选
Map markupsmap 1

Map data which uses specific markup/separators to load icon image and arrange the text in the uniform style. Use "map2", "map3" etc. for additional maps

字符串必需
Map titlemap-title

Title of map. Use "map2-title", "map3-title" etc. for titles of addition maps

字符串可选


  • Adjust |text-width= (or |tw=) parameter until there is no break.
    • Unit is "px" by default, but other units such as "em" are acceptable.
    • Check the map in different browser and in mobile view, and increase text-width if it breaks.
  • The icon number of the first row of collapsible section must be equal to or greater than the icon number of the widest non-collapsible row.
    • As in example 3.2, use half-width empty icon 未定義路線圖圖標屬性"d"d) as filler when you are mixing both odd and even rows in the same map.
  • Changing "collapsed" to "nil" will change the default state of the collapible section to uncollapsed.

Collapsible replacement

{{Routemap/sandbox/1
|title=Example 4.1
|text-width=150
|map=
KBHFa~~terminus
-startCollapsible-collapsed-replace
\LSTR\~~hidden section
\hSTRa@g\
WASSERq\hKRZW\WASSERq~~ ~~ ~~viaduct
hSTRe@f
-endCollapsible-
LDER\INT\~~ ~~station~~transfer for HSR
\KBHFe\BUS~~ ~~terminus~~bus terminal
}}
Template:Routemap/doc/sandbox
{{Routemap/sandbox/1
|title=Example 4.2: Empty filler
|text-width=150
|map=
-startCollapsible-collapsed-replace
exCONTg~~under construction
leer
exKBHFa~~future terminus
exBHF~~future station
-endCollapsible
KBHFxa~~terminus
KBHFe~~terminus
}}
Template:Routemap/doc/sandbox
  • Both replacement and replaced rows must be as wide as the widest non-collapsible row in the diagram.
  • If you want to hide the replaced row after expanding the collapsible, use icon Template:Bsq as empty filler as in example 4.2.
  • In any case, mind to provide a sufficient text-width. Here, using text-width=120 would break the alignment of the icons.
  • Collapsible elements are intentionally disabled in mobile view, so the replaced row will never be visible. Keep this in mind while creating a diagram.

Dual text sidebar

For larger and more complicated diagrams, it often helps to have a text sidebar on the left as well as the right.

Template:Pre or Template:Pre

{{Routemap/sandbox/1
|title=Example 5
|map=
~~km! !~~km~~
commuter terminus~~0! !uKBHFa\\KBHFa~~0~~regional terminus
River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~ ~~ ~~bridge
transfer for HSR~~station~~1! !uINT\LDER\LSTR
commuter terminus~~2! !uKBHFe\\KBHFe~~2~~regional terminus
}}
{{ Template:PAGENAMETDOC collapsible=0 legend=0 width=300px title=Example 5 text-width= map=

~~km! !~~km~~ commuter terminus~~0! !uKBHFa\\KBHFa~~0~~regional terminus River Boris~~ ~~! !uhKRZWae\WASSERq\hKRZWae~~ ~~ ~~bridge transfer for HSR~~station~~1! !uINT\LDER\LSTR commuter terminus~~2! !uKBHFe\\KBHFe~~2~~regional terminus }}

  • Left text cells require "exclamation mark-space-exclamation mark" (! !) separating them from icon cells.
  • If there is no "tilde-tilde" (~~) separator to the left of "exclamation mark-space-exclamation mark", the text to the left of the separator will be displayed in the left main text cell.

Dual text sidebar collapsible

Code Result

Template:Demo

Template:Demo

  • Apply Template:Para to eliminate the break:
    • Only 1 value: right main text+right remark
    • 3 values, separated by commas: right dist./time,right main text+right remark,right-right remark
    • 6 values: Left-left remark,left remark+left main text,left dist./time,right dist./time,right main text+right remark,right-right remark
    • If the number of values is not equal to 1, 3 or 6, the entire parameter will be ignored.
  • If the text width of right-right remark is smaller than needed, its width definition can be omitted, as in example 6.1.
  • If a specific text cell is not used anywhere on the map, that width definition can be omitted, as in example 6.2.
  • Define the general table width with the Template:Param parameter if Template:Param alone cannot prevent a break.
  • If the empty icon cell of the collapsible row is being squashed, use empty icon Template:Bsq to correct the icon columns.

Filler rows

Code Result

Template:Demo

Syntax overview

Syntax Purpose
\ Icon separator
!~ Icon overlay
!@ Icon link
!_ Precedes icon stack formatting parameters
__ Precedes icon formatting parameters
~~ Text separator
! ! Separator between icons and left-column text
key=value,... Formatting parameters
-startCollapsible Start of collapsing section
-endCollapsible End of collapsing section
-colspan Start of non-diagram table cell
-colspan-end End of non-diagram table cell
-colspan-n Start of non-diagram table cell; next n lines of code are in that cell (n can be any positive whole number)
-filler-... Start of filler row

Transition from legacy BS row template to Routemap/sandbox/1 markup

Conversion policies

Many contributors of the English Route Diagram Template project during the implementation of Routemap/sandbox/1 have conflicting opinions about the justification of replacing all maps of legacy BS row templates by the Lua-based Routemap/sandbox/1. Opponents deem the map markups of Routemap/sandbox/1 to be too esoteric for editors unfamiliar with Routemap/sandbox/1 markup to modify. While proponents support a complete conversion for better performance. There is no consensus reached at the moment so any transition without massively updating the map appearance for reflecting service and/or structural change in reality should only be done with the following considerations:

  • The map of the legacy BS row template design has exceeded template size limit in the transcluding page, which means the template does not expand into its intended appearance but only the link to the template page is shown, so there is an imminent need to translate the map into Routemap/sandbox/1 design to reduce post-expand include size.
  • If there is no template size issue, respect the preference of the initial contributor of the first completed version of the diagram. If that contributor contests the change to Routemap/sandbox/1, retain the BS row template design.

Technical options

All BS row templates have had substitutable counterparts created; hence conversion can be easily done by prepending subst: and appending /safesubst to every BS row template name in the map. For example, change {{BS2|STR|BHF|0|1|2|3|O1=uSTRq}} in the map to {{subst:BS2/safesubst|STR|BHF|0|1|2|3|O1=uSTRq}}, then publish changes; it will produce STR!~uSTRq\BHF~~0~~1~~2~~3. The process can be sped up by using the "replace all" function of advanced edit tool or separate text editor such as Notepad or Notepad++, but the search rule for the BS row templates should ideally be a regular expression, like \{\{(BS\d*(\-2)?)\!Template:((subst:$1/safesubst!, in order to avoid templates with similar names such as BSto and BSsplit in case they are present in the map.

"Column mode editing" can avoid the trouble of find and replace to add safesubst: on all rows efficiently. This function is common in advanced text editors like Geany,[22] Notepad++[23] and Sublime Text[24].

You can also use the "convertbs" function of Module:Routemap/sandbox/1.

Function convertbs

Copy and paste the following code to any edit area of this wiki, maybe the map page you are working on:

{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>

</nowiki>}}

Then copy and paste the original BS-map or BS-table map code between the <nowiki> tags (alternatively paste the invoke convertbs header before the original map code and the </nowiki>}} ending after the map code) and show preview. It will generate the safesubst version and show the original versions (for comparison) of the map code. You copy the safesubst code from the preview area back to the edit area, and you should remove everything of #invoke:Routemap/sandbox/1|convertbs if the preview of the new code works properly.

On the English Wikipedia, the template Template:Tls can be used as a shortcut:

{{subst:convertbs|1=

}}

If it doesn't work, it's possible that you haven't copied some of the relevant code, such as table markup for BS-table diagrams, or that you've copied code which actually belongs to something else.

Example
{{#invoke:Routemap/sandbox/1|convertbs|<nowiki>
{{BS-map
|title=Demonstration
|map=
{{BS|KBHFa|0 km|A station|Shuttle bus}}
{{BS3|WASSERq|hKRZWae|WASSERq||||{{BSsplit|Suburb|Capital}}}}
{{BS|KINTe|10 km|B station|City hub}}
{{BS-colspan}}
----
Not to scale
}}
</nowiki>}}
Result
#invoke:Routemap/sandbox/1
Copy safe substitution markup for actual usage
{{ Template:PAGENAMETDOC title=Demonstration map=

KBHFa~~0 km~~A station~~Shuttle bus WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Template:BSsplit KINTe~~10 km~~B station~~City hub -colspan-2


Not to scale }}

Embedding into infobox

  • Use {{{inline}}} to remove title bar and table border. If creating a separate template which will be embedded into an infobox, wrap inline=1 in Template:Tag tags. Also {{{navbar pos}}} is helpful to locate the Template:Tl better.
{{Infobox station
| name = {{color box|orange}} Station layout
| image = Placeholder.png
| image_upright = 0.5
| image_caption = Platform level
| opened = {{Start date|1935|05|15|df=y}}
| tracks = 2
| route_map =
{{Routemap/sandbox/1|inline=1|navbar=asd|navbar pos=2|
KBHFa~~terminus
WASSERq\hKRZWae\WASSERq~~ ~~ ~~ ~~Bridge
LDER\INT\~~1 km~~station~~transfer for HSR
\KBHFe\BUS~~2 km~~terminus~~bus terminal
}}
}}
Template:Infobox station

Template data

Template:TemplateData header

Template for displaying diagram composed of icon images and text labels in uniform style.

模板参数[编辑模板数据]

此模板首选参数换行的代码块格式。

参数描述类型状态
Inline stateinline

Remove title bar and border for transclusion in infobox

字符串可选
Table titletitle

Official title of the system. Value «no» will remove the table title row, but this will also disable the table collapsible switch as well

字符串可选
Title font colortitle color title-color

Color of the title's text; automatically black or white to contrast with the title background color. Only use colors that contrast well with the background color

默认值
#FFF or #252525; depends
字符串可选
Title background colortitle bg color title-bg

Background color of the title

默认值
#27404E
字符串可选
Collapsibilitycollapsible

Whether the whole infobox is collapsible or not

字符串可选
Collapsing statecollapse collapsed

Collapsing state. Shown by default. Any value will make the table collapse by default

字符串可选
Template name for Navbarnavbar

This must exactly match the diagram template page name so the Navbar template will appear and link to the template page

字符串可选
Position of the Navbarnavbar pos

Position of the Navbar template. Float to left in the title bar by default; «1» for top-left corner of the map (just under the title bar); «2» for the middle bottom of the map

字符串可选
Small navbarnavbar mini

If the navbar is not in default position, then this changes whether the navbar displays as "V · T · E" (default for navbar pos 1; values: «1», «y», «yes», «true») or "This diagram: view · talk · edit" (default for navbar pos 2; values: «0», «n», «no», «false»).

字符串可选
Legend appearancelegend

Alias of the legend link. It can be «bus», «canal», «footpath», «road» or «track». «0» or «no» for no legend at all

默认值
Template:Railway line legend
页面名称可选
Legend link textlegend alt

Different link name in place of «Legend» if desirable

默认值
Legend
字符串可选
Floating statefloat

Floating state of the whole box: «right» by default; optionally «left» or «none»

默认值
right
字符串可选
Background colorbg

Background color of the whole map area

默认值
#F9F9F9
字符串可选
CSS style valuesstyle

Additional CSS style definition of the whole infobox

字符串可选
Top notetop on top

Space for optional note or infobox above the map

字符串可选
Bottom notefootnote bottom

Space for optional note or infobox below the map

字符串可选
Width of map text celltext-width tw

Extend the width of the map text cell so the collapsible section within the map does not break

字符串可选
Map markupsmap 1

Map data which uses specific markup/separators to load icon image and arrange the text in the uniform style. Use "map2", "map3" etc. for additional maps

字符串必需
Map titlemap-title

Title of map. Use "map2-title", "map3-title" etc. for titles of addition maps

字符串可选