Template:Sclass/sandbox
This is the template sandbox page for Template:Sclass (diff). See also the companion subpage for test cases. |
This template is used on approximately 32,000 pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
This template uses Lua: |
Ship class articles have titles that are hyphenated. A typical ship-class article name has the form:
- <class name>-class <ship type>
When a ship class is named for a member of the class, the class name is italicized. For these classes use {{sclass}}
. Classes not named for a member of the class are not italicized, in which case use {{sclass2}}
.
Usage
[edit]sclass
is an editor's shortcut for creating properly formatted links to ship-class articles with hyphenated titles: class name-class ship type.
The basic form:
{{sclass | class name | ship type}}
replaces:
[[class name-class ship type | class name-class]] [[ship type]]
This form assumes that ship type is its own separate article so produces a link to the class article, followed by a link to the ship type article. The text in the first link is properly formatted with the class name displayed in italics followed by "-class". Note that if referring to the ship class as a noun, the hyphen may be removed with the formatting options below, even though is part of the article title.
Optional unnamed format control parameter
[edit]An optional third parameter allows you to control the format and use the template if ship type is not an article:
{{sclass|class name|ship type|format}}
The values and results for format are:
- 0: suppresses ship type display entirely. Adjectival form.
- 1: displays ship type as part of a single link to the class article.
- 2: displays unlinked ship type.
- 3: displays ship type as a separate link. Ship type must be the name of an article.
- 4: suppresses ship type display entirely. Noun form.
- 5: class name only, suitable for tables
To avoid the dreaded red link, one of the first three options must be used if Ship type is not already an article. Note that option 3 is the default, so may be omitted. Other values of format will let you know the error of your ways.
Format | Template usage | Equivalent wikicode | Final result | Notes |
---|---|---|---|---|
None | {{sclass |Valiant |harbor tug }}
|
[[Valiant-class harbor tug |''Valiant''-class]] [[harbor tug ]]
|
Valiant-class harbor tug | Default |
0 | {{sclass |Valiant |harbor tug |0}}
|
[[Valiant-class harbor tug |''Valiant''-class]]
|
Valiant-class | Adjectival form |
1 | {{sclass |Valiant |harbor tug |1}}
|
[[Valiant-class harbor tug |''Valiant''-class harbor tug ]]
|
Valiant-class harbor tug | Article titles |
2 | {{sclass |Valiant |harbor tug |2}}
|
[[Valiant-class harbor tug |''Valiant''-class]] harbor tug
|
Valiant-class harbor tug | When the ship type article does not exist |
3 | {{sclass |Valiant |harbor tug |3}}
|
[[Valiant-class harbor tug |''Valiant''-class]] [[harbor tug ]]
|
Valiant-class harbor tug | Same as default |
4 | {{sclass |Valiant |harbor tug |4}}
|
[[Valiant-class harbor tug |''Valiant'' class]]
|
Valiant class | Noun form |
5 | {{sclass |Valiant |harbor tug |5}}
|
[[Valiant-class harbor tug |''Valiant'']]
|
Valiant | Table or chart form |
6 | {{sclass |Valiant |harbor tug |6}}
|
[[Valiant-class harbor tug |''Valiant'']]
|
Error: {{sclass}} invalid format code: 6. Should be 0–5, or blank (help) | Unrecognized format value |
Optional parameter: "ship-type disambiguation"
[edit]An optional fourth parameter allows you to disambiguate the ship type if it would ordinarily link to a disambiguation page :
{{sclass | class name | ship type | format | disambiguation }}
This would only be needed with either the default or with the "format" parameter set to 3. Note: to use the disambiguation parameter, you must specify a "format" parameter, or use "||" (double pipe) between the "ship type" and "disambiguation" parameters.
Optional parameter: "class-name disambiguation"
[edit]When there are separate ship classes that share the same name and that use parenthetical disambiguation, for example Königsberg-class cruiser, use the optional fifth parameter to disambiguate the class-name:
{{sclass|Königsberg|cruiser|||1905}}
produces Königsberg-class cruiser which is the same as:[[Königsberg-class cruiser (1905)|''Königsberg''-class]] [[cruiser]]
The class-name disambiguator is never displayed.
Template data
[edit]TemplateData for Sclass
Formats ship class name and ship type into article link. Italicises class name.
Parameter | Description | Type | Status | |
---|---|---|---|---|
class name | 1 | no description | String | optional |
ship type | 2 | no description | Unknown | optional |
format | 3 | Format options 1, 2, 3, 4, 5 | Number | optional |
ship type disambiguation | 4 | disambiguation for ship type | String | optional |
class name disambiguation | 5 | disambiguation for class name | String | optional |