Template:S-line/doc

Jump to navigation Jump to search

S-line is a specialised succession box template that links railway station articles.

Note: this template is called by {{s-rail-national}}; an alias. If a change is made which alters/adds parameters names that template must be updated to reflect the new situation.

Usage

S-line must be encased within {{s-rail-start}} and {{s-end}}. The use of {{s-rail}} is highly recommended but not required.

S-line has the following parameters:

Parameter Description Notes
system The system to which the line belongs This should correspond to an entry in Template:S-rail/lines
line The name of the line This should be obvious shorthand (e.g. Orange for Orange Line)
previous The name of the previous station
next The name of the next station
type The left-hand line branch Optional
type2 The right-hand line branch Optional
note Information about the left-hand line branch Optional
note2 Information about the right-hand line branch Optional
notemid Information about the station itself Optional
oneway1 Indicates that trains do not operate towards the Previous station Optional
oneway2 Indicates that trains do not operate towards the Next station Optional
rows1, hide1 Used to have the Previous Station box cover multiple lines. See below for details. Optional
rows2, hide2 Used to have the Next Station box cover multiple lines. See below for details. Optional
rowsmid, hidemid Used to have the middle (Line) box cover multiple lines. See below for details. Optional
transfer Used to show lines available by direct transfer at an adjoining station. See below for details. Optional
branch Used to denote specific line branch information, in lieu of or in addition to the type parameters. Optional
state1, state2 Allows the passing of an additional station parameter. Useful for disambiguation. Optional
through1, through2 Allows, instead of a next station, service passing to another line on the system. Optional

Making it work

S-line depends on sub-templates for the proper display of information. For an example, here are the templates necessary to properly display this box (a version of which is at Clemson station:

Preceding station   BSicon LOGO Amtrak2.svg Amtrak   Following station
toward New Orleans
Crescent
toward New York

First of all, here's the underlying code:

{{s-rail-start}}
{{s-rail|title=Amtrak}}
{{s-line|system=Amtrak|line=Crescent|previous=Toccoa|next=Greenville}}
{{s-end}}

Template:S-rail-start is a variant of the generic template {{s-start}} used to begin thousands of succession boxes. Important note: No form of start template ({{s-rail-start}} or {{s-start}}) is needed when the succession box is inside the service parameter of {{Infobox station}}. Template:S-rail is used to generate headings for each grouping of rail services in a box. Here we have only one, but some particularly large terminals may have three or four (see Union Station (Chicago) or 30th Street Station). S-rail uses the translation table at Template:S-rail/lines; if the entry is undefined, it simply links the text. Therefore, Amtrak produces Amtrak, while LUL gives London Underground.

You can see that S-line takes only parameters – no linking necessary! S-line accomplishes this through two assumptions: (1) groups of articles on train stations are named in a predictable manner; (2) redirects are cheap. For S-line to produce the table above five separate templates were defined. Before discussing them, however, let's review the parameters:

  • SYSTEM: The company or grouping to which the line belongs. This is case-sensitive and must be consistent. In this case, the value is Amtrak.
  • LINE: The line name. This is also case-sensitive and must be consistent throughout. Here, we're describing the Wolverine.
  • PREVIOUS and NEXT: The names of the previous and next stations on the line. Current convention suggests West/East Left/Right, followed by North/South, but your mileage may vary. Whenever possible, succession boxes should make geographic sense (i.e. don't have one line running west-east and the other east-west).

You need templates to define the following things: the formatting/linking of the line, the formatting/linking of the previous and next stations, the display of the line's color, and the display of the appropriate termini – all automatic.

Line

[[Template:{{{SYSTEM}}} lines]] (Template:Amtrak lines)

This template carries a translation table for the formatting/linking of the line. The template receives one parameter, {{{1}}} from S-line. With systems that have unusual or non-uniform naming, like Amtrak, it may be necessary to have a test case for every line. The relevant line from Template:Amtrak lines is this:

| Wolverine=''[[Wolverine (passenger train)|Wolverine]]''

This links to the article on the Wolverine and italicizes the article, appropriate for a named train. This means if the article ever moves, you need only to update switch statement, not individual articles. When a system has uniform naming, you may be able to get away with a default case and only one or two exceptions, as in Template:LUL lines:

{{#switch:{{{1}}}
 | #default=[[{{{1}}} Line]]
}}

Station

[[Template:{{{SYSTEM}}} stations]] (Template:Amtrak stations)

This template carries a translation table for the formatting/linking of the line. The template receives two parameters from S-line, {{{station}}} and {{{line}}}, although use of the latter is not often necessary. Station will be either the PREVIOUS or NEXT parameter; both are handled the same way behind the scenes. The easiest way to start the station template is with the default case that reflects how articles on system stations are named. With Amtrak, it's done this way:

 | #default=[[{{{station}}} (Amtrak station)|{{{station}}}]]

Therefore, "Dowagiac" produces [[Dowagiac (Amtrak station)|Dowagiac]], all linked and ready to go.

Color

[[Template:{{{SYSTEM}}} color]] (Template:Amtrak color)

This template is designed the same way as the others except that a default case is rare--lines within a system tend to have a different color. Note that some systems don't have a switch statement, because only one color is used. the template would consists only of a hex code. The pound sign is included within s-line so it isn't necessary to add it. This template forces the use of hex codes; no nouns are permitted (e.g. red, white). The template takes one parameter, {{{1}}}.

{{#switch:{{lc:{{{1}}}}}
<!-- Cascades --->
 | amtrak cascades
 | cascades = 288067
<!-- Amtrak California -->
 | capitol corridor
 | capitol = E6AC11
 | pacific surfliner 
 | pacific
 | surfliner = 5191CD
<!-- All others -->
 | acela express = 00B0F2
 | heartland flyer = 001A6A
 | downeaster = 008176
 | #default = 005480
}}

Termini

[[:Template:S-line/{{{SYSTEM}}} left/{{{LINE}}}]] (Template:S-line/Amtrak left/Wolverine)
[[:Template:S-line/{{{SYSTEM}}} right/{{{LINE}}}]] (Template:S-line/Amtrak right/Wolverine)

These are the all-important templates which produce the "towards..." part of the templates. They can also get pretty tricky depending on the setup. The Wolverine is an easy example. It runs end-to-end from Chicago, Illinois to Pontiac, Michigan. Therefore, the "left" (westbound) template contains "Chicago" while the "right" (eastbound) template contains "Pontiac". These names are plugged in to the STATION template just as NEXT and PREVIOUS were, with the results that you can see above. A feature of S-line is that if it detects that the next station is the name as the terminus, it will display a note to that effect instead of the destination. Hence,

{{s-rail-start}}
{{s-rail|title=Amtrak}}
{{s-line|system=Amtrak|line=Wolverine|previous=Chicago|next=Michigan City}}
{{s-end}}

Produces the box:

Preceding station   BSicon LOGO Amtrak2.svg Amtrak   Following station
Terminus
Wolverine
toward Pontiac

Now, let's say we've got a more complicated example, like the Lake Shore Limited, which runs from Chicago east to either Boston or New York. The Limited's "left" template is still a simple line of text – Chicago – but the "right" template needs a switch statement. The left and right templates receive one parameter, {{{type}}}, from s-line, which tells them which termini to return. Here's the Limited's "right" template: {{#switch:{{{type}}} |Both=New York or Boston South |New York=New York |Boston=Boston South }} This allows three eastbound destinations: New York, Boston, or both if the train hasn't reached the junction point yet. A default statement is acceptable here if it is true for disproportionate length of the line. In order to make this work properly, you have to define the concept of "New York or Boston South" in the STATION template, like so:

 | New York or Boston South=[[Pennsylvania Station (New York City)|New York]] or [[Boston South (Amtrak station)|Boston South]]

Here's a hypothetical example of this at work:

{{s-rail-start}}
{{s-rail|title=Amtrak}}
{{s-line|system=Amtrak|line=Lake Shore Limited|previous=Cleveland|next=Buffalo–Depew|type2=Both}}
{{s-end}}

Produces the box:

Preceding station   BSicon LOGO Amtrak2.svg Amtrak   Following station
toward Chicago
Lake Shore Limited

One-way operation

For rail lines that operate in only one direction (such as going around a loop), the oneway1 or oneway2 parameters are used, to indicate that the Previous or Next station, respectively, does not have service going towards it. When these parameters are present with any non-null value, the toward [Terminal] line is replaced with One-way operation. For example, for a CTA station in the Chicago Loop:

{{s-rail-start}}
{{s-rail|title=CTA}}
{{s-text|text=[[Loop Elevated]]}}
{{s-line|system=CTA|line=Orange|previous=Clark/Lake|next=Washington/Wabash|oneway1=true|type2=Midway}}
{{s-line|system=CTA|line=Green|previous=Clark/Lake|next=Washington/Wabash|type2=Both}}
{{s-line|system=CTA|line=Purple|previous=Clark/Lake|next=Washington/Wabash|oneway1=true|type2=Linden|rows1=2|notemid=Express}}
{{s-line|system=CTA|line=Pink|previous=Clark/Lake|next=Washington/Wabash|type2=54|hide1=true}}
{{s-line|system=CTA|line=Brown|previous=Clark/Lake|next=Washington/Wabash|type1=CCW|type2=CCW|oneway2=true}}
{{s-end}}

Produces the box:

Preceding station   Chicago "L"   Following station
Loop Elevated
One-way operation
Orange Line
toward Midway Pictograms-nps-airport.svg
toward Harlem/Lake
Green Line
One-way operation
Purple Line
Express
toward Linden
Pink Line
toward 54th/Cermak
toward Kimball
Brown Line
One-way operation

Circular operation

Parameters circular (both sides), circular1 (left cell only) and circular2 (right cell only) are useful for lines that operate in uninterrupted circular manner. These parameters simply hide the word "toward(s)" and then you need to edit the succession templates of that circular line to describe the direction and position of either side. The following example uses circular1 and circular2 with the terms "Clockwise" and "Counterclockwise":

{{s-rail-start}}
{{s-rail|title=Walt Disney World Monorail}}
{{s-line|system=WDW Monorail|line=Resort|previous=c|next=p|notemid='''Magic Kingdom'''<br>continuous loop clockwise|oneway1=yes|circular2=yes}}
{{s-line|system=WDW Monorail|line=Express|previous=m|next=m|notemid='''Magic Kingdom'''<br>continuous loop counterclockwise|oneway2=yes|circular1=yes}}
{{s-line|system=WDW Monorail|line=Epcot|next=e}}
{{s-end}}

Produces the box:

Preceding station   Walt Disney World Monorail   Following station
One-way operation
Resort Line
Magic Kingdom
continuous loop clockwise
Next clockwise
Next counterclockwise
Express Line
Magic Kingdom
continuous loop counterclockwise
One-way operation
TerminusEpcot Line
Terminus

Alternatively, the following example uses circular, and the north american english term "counterclockwise" is interchanged with the commonwealth english term "anticlockwise".

{{s-rail-start}}
{{s-rail|title=MOSMETRO}}
{{s-line|system=MOSMETRO|line=Koltsevaya|previous=Krasnopresnenskaya|next=Novoslobodskaya|circular=yes}}
{{s-end}}

Produces the box:

Preceding station   Moscow Metro   Following station
anticlockwise / outer
Koltsevaya line
clockwise / inner

Through operation

When there are different rail services connected on the same line, the through1 or through2 parameters are used to differentiate said services. When these parameters are present with any non-null value, the toward [Terminal] line is replaced with through to [Adjacent line]. This incorporates the use of previous and next, with the use of an adjacent line instead of an adjacent station. These parameters are not commonly used, but an example, a GCRTA station in Downtown Cleveland:

{{s-rail-start}}
{{s-rail|title=GCRTA}}
{{s-line|system=GCRTA|line=Red|previous=West 25th–Ohio City|next=East 34th–Campus}}
{{s-line|system=GCRTA|line=Blue|previous=Waterfront|next=East 34th–Campus|rows1=2|through1=yes}}
{{s-line|system=GCRTA|line=Green|next=East 34th–Campus|hide1=yes}}
{{s-line|system=GCRTA|line=Waterfront|previous=Settlers Landing|next=Blue Green|type2=Both|through2=yes}}
{{s-end}}

Produces the box:

Preceding station   GCRTA wordmark logo.svg Rapid Transit   Following station
toward Airport
Red Line
through to Waterfront Line
Blue Line
Green Line
toward Green Road
toward South Harbor
Waterfront Line

Parallel lines

For lines that operate on the same tracks and serve the same next station and final terminal, the rows1, rows2, hide1, and hide2 optional parameters can be used to have the Previous (the 1s) or Next (the 2s) Station boxes cover more than one line. The rows parameters specify how many lines the station should cover, while the hide parameters ensure that the table formatting remains intact. The two parameters must be used together, with hide specified for every line that is being covered by the first line. An example of this use can be seen in the preceding CTA box. Note that, in the preceding CTA example, the previous and oneway1 parameters could have been omitted from the Purple and Pink line entries, but were left in for consistency's sake.

Another example of this:

{{S-start}}
{{S-rail|title=LUL}}
{{S-line|system=LUL|line=Circle|previous=Westbourne Park|next=Paddington|type2=Aldgate|rows1=2}}
{{S-line|system=LUL|line=Hammersmith & City|previous=Westbourne Park|next=Paddington|hide1=yes}}
{{S-end}}

Produces the box:

Preceding station   Underground no-text.svg London Underground   Following station
towards Hammersmith
Circle line
towards Edgware Road (via Aldgate)
Hammersmith & City line
towards Barking

Transfers

The transfer parameter makes it possible to show within the box lines available at a different station with which there's a direct transfer from the current station. This snippet is taken from the article about the Finchley Road tube station. The North London Line does not actually serve the station itself, but there's an official out of system transfer designated between London Underground services at Finchley Road and London Overground services at the nearby Finchley Road & Frognal station:

{{s-start}}
{{s-rail|title=LUL}}
{{s-line|system=LUL|line=Jubilee|previous=West Hampstead|next=Swiss Cottage|type2=one}}
{{s-line|system=LUL|line=Metropolitan|previous=Wembley Park|next=Baker Street|type=Four|rowsmid=2|rows2=2}}
{{s-line|system=LUL|line=Metropolitan|previous=Harrow-on-the-Hill|next=Finchley Road|type=Four|hidemid=yes|hide2=yes|note=Peak periods only}}
{{s-note|text=Out-of-system interchange}}
{{s-rail|title=LOG}}
{{s-line|system=LOG|line=North London|previous=West Hampstead|next=Hampstead Heath|transfer=Finchley Road & Frognal}}
{{s-end}}

Produces the box:

Preceding station   Underground no-text.svg London Underground   Following station
towards Stanmore
Jubilee line
towards Stratford
Metropolitan line
towards Baker Street or Aldgate
Peak periods only
  Out-of-system interchange  
Preceding station   Overground notextroundel.svg National Rail logo.svg London Overground   Following station
North London Line
towards Stratford

Branches

The branch parameter can be used to describe a subset of a line. In the example hereafter, the branch parameter designates four different parts of the MBTA's Green Line. When passed to the left and right termini templates, the branch and line parameters identify destinations. Additionally, the branch name is displayed beneath the line name.

Optionally, [[Template:{{{SYSTEM}}} lines/branches]] may be defined, which allows the linking of the branch parameter.

In this example below, the branch template (Template:MBTA lines/branches) is defined, allowing branch linking. Additionally, left and right termini are returned based on the passed branch parameter:

{{s-rail-start}}
{{s-rail|title=MBTA}}
{{s-line|system=MBTA|line=Green|branch=B|previous=Copley|next=Boylston}}
{{s-line|system=MBTA|line=Green|branch=C|previous=Copley|next=Boylston}}
{{s-line|system=MBTA|line=Green|branch=D|previous=Copley|next=Boylston}}
{{s-line|system=MBTA|line=Green|branch=E|previous=Copley|next=Boylston}}
{{s-note|text=Former service}}
{{s-line|system=MBTA|line=Green|branch=A|previous=Copley|next=Boylston}}
{{s-end}}
Preceding station   MBTA.svg MBTA   Following station
Green Line
toward Park Street
Green Line
toward Riverside
Green Line
toward Heath Street
Green Line
toward Lechmere
  Former service  
toward Watertown
Green Line
toward Park Street

In this example hereafter, taken from the Acton Town tube station article, the branch template (Template:LUL lines/branches) is defined, allowing branch linking. Additionally, through the branch parameter, the left and right hand termini are generated. In some cases, a type parameter can be used to supplement the branch parameter. If necessary, a notemid= parameter can be used to substitute for a branch parameter.

{{s-start}}
{{s-rail|title=LUL}}
{{s-line|system=LUL|line=District|previous=Ealing Common|next=Chiswick Park|type=Ealing Broadway|type2=One}}
{{s-line|system=LUL|line=Piccadilly|type=Uxbridge|notemid=[[Piccadilly line#Uxbridge branch|Uxbridge branch]]|previous=Ealing Common|next=Turnham Green|note2=Early morning and late evening service only|rowsmid=2|rows1=2}}
{{s-line|system=LUL|line=Piccadilly|branch=Uxbridge|previous=Ealing Common|next=Hammersmith|hidemid=yes|hide1=yes}}
{{s-line|system=LUL|line=Piccadilly|branch=Heathrow|previous=South Ealing|next=Turnham Green|note2=Early morning and late evening service only|rowsmid=2|rows1=2}}
{{s-line|system=LUL|line=Piccadilly|branch=Heathrow|previous=South Ealing|next=Hammersmith|hidemid=yes|hide1=yes}}
{{s-end}}

Produces the box:

Preceding station   Underground no-text.svg London Underground   Following station
District line
Piccadilly line
Early morning and late evening service only
towards Cockfosters
towards Cockfosters
Piccadilly line
Early morning and late evening service only
towards Cockfosters
towards Cockfosters

Styles

[[Template:{{{SYSTEM}}} style]] (Template:Amtrak style)

The style template allows the modification, at a system level, of display parameters for inter-related templates, including Template:Infobox Station.

Parameter Description Notes
lang Which version of English to output display in. Specify GB for British; the default is US. If GB is specified, the boxes will say "towards" (station). If US is specified, the boxes will say "toward" (station). Optional; S-line only
name_format Formatting for the {{{name}}} parameter itself Optional; Infobox Station only
showterm A "No" value suppresses the display of termini information Optional; S-line only
stop_noun Type of stop (e.g. station, tram stop); default is "station" Optional; S-rail only
thcolor Font color for table headings Optional; Infobox Station only
thbgcolor Background color for table headings Optional; Infobox Station only
title_nowrap If "yes", will apply the nowrap style to s-rail headings. Not recommended for use within Infobox Station Optional; S-rail only

TemplateData

This is the TemplateData documentation for this template used by VisualEditor and other tools; see the monthly parameter usage report for this template.

TemplateData for S-line

S-line is a specialised succession box template that links railway station articles

Template parameters

ParameterDescriptionTypeStatus
systemsystem

The system to which the line belongs

Stringrequired
lineline

The name of the line

Stringrequired
previousprevious

The name of the previous station, should correspond to a specific template name

Stringoptional
nextnext

The name of the next station, should correspond to a specific template name

Stringoptional
typetype

The left-hand line branch

Stringoptional
type2type2

The right-hand line branch

Stringoptional
notenote

Information about the left-hand line branch

Stringoptional
notemidnotemid

Information about the station itself

Stringoptional
note2note2

Information about the right-hand line branch

Stringoptional
oneway1oneway1

Indicates that trains do not operate towards the Previous station

Stringoptional
oneway2oneway2

Indicates that trains do not operate towards the Next station

Stringoptional
through1through1

Allows, instead of a previous station, service passing to another line on the system.

Stringoptional
through2through2

Allows, instead of a next station, service passing to another line on the system.

Stringoptional
state1state1

Allows the passing of an additional station parameter. Useful for disambiguation.

Stringoptional
state2state2

Allows the passing of an additional station parameter. Useful for disambiguation.

Stringoptional
branchbranch

Can be used to describe a subset of a line.

Stringoptional
transfertransfer

Used to show lines available by direct transfer at an adjoining station.

Stringoptional
round1round1

If set displays 'Reverses direction' in left cell

Stringoptional
round2round2

If set displays 'Reverses direction' in right cell

Stringoptional
circularcircular

If set hides 'toward' of both sides

Stringoptional
circular1circular1

If set hides 'toward' of left cell only

Stringoptional
circular2circular2

If set hides 'toward' of right cell only

Stringoptional
rows1rows1

Number of rows for left hand column

Stringoptional
rowsmidrowsmid

Number of rows for center hand column

Stringoptional
rows2rows2

Number of rows for right hand column

Stringoptional
hide1hide1

Hides the previous station, used when a previous row has 'rows1' set

Stringoptional
hidemidhidemid

Hides this station, used when a previous row has 'rowsmid' set

Stringoptional
hide2hide2

Hides the next station, used when a previous row has 'rows2' set

Stringoptional

See also