Template:Visible anchor/doc
This template uses TemplateStyles: |
The template {{Visible anchor}}
inserts one or more HTML anchors in a page. Those locations can then be linked to using [[#link|...]]
syntax. Unlike {{Anchor}}, the first parameter will be visible text on the page.
Usage
[edit]{{visible anchor|anchor 1|anchor 2|text=display text|lang=language code}}
The template can be used with up to 10 anchor names. Anchor names are case sensitive, so {{Visible anchor|Anchor name 1}}
and {{Visible anchor|Anchor Name 1}}
are not equivalent. When making an anchor, in general capitalize the first letter of the anchor name, and follow the same capitalization guidelines as headers (see for more information). An optional |text=
parameter can be added in order to specify the text to display in the anchor. By default, the value of the first parameter is used. A second optional |lang=
parameter can be added to mark up the resulting visible text with the specified ISO 639 language code or IETF language tag (such as used by {{Lang}}). The redirect {{Vanchor}} can also be used.
Linking to anchors
[edit]Link to an anchor in the same article using just the anchor name, e.g. [[#Anchor name]]
. (In the Visual Editor, type #Anchor name
into the link field.)
From a different article, link to an anchor by specifying the article name, followed by a #
, then the anchor name. e.g. [[Article name#Anchor name]]
.
The #
will be visible in the link text. To prevent this, give the link a display title in the typical manner: After a pipe character (|
) in the wikitext ([[#Anchor name|Anchor name]]
), or by editing the text of the link in the Visual Editor.
Destination highlighting
[edit]When a link to an anchor is followed, the destination anchor's visible text will typically be highlighted with a shaded background. (May vary based on the reader's browser or selected wiki skin.) For example:
This text anchor will be highlighted after following this link which targets it.
Specifying a language
[edit]To aid screen readers and other assistive technologies properly identify text in foreign languages or dialects, an ISO 639-1 language code or IETF language tag can be given with the |lang=
parameter to add the language code as an attribute to the HTML of the displayed text. Note that unlike the {{Lang}} template, no italicization or text formatting is applied to the text.
Examples
[edit]Code | Result | Link |
---|---|---|
{{vanchor|Foo}}
|
Foo | #Foo |
{{vanchor|Bar|Baz}}
|
Bar | #Bar, #Baz |
{{vanchor|Qux|text=Display text}}
|
Display text | #Qux |
{{vanchor|Corge|Grault|lang=en-US}}
|
Corge | #Corge, #Grault |
Limitations
[edit]Character | Code | Template | Meaning |
---|---|---|---|
" | " "
|
N/A | quotation mark |
# | #
|
N/A | hash |
| | |
|
{{!}} | pipe |
= | =
|
{{=}} | equals |
- This template should not be used within section headings. Doing so will result in broken links in edit summaries, as well as possible duplicate anchors (see below).
- Anchor names should be unique on a page, and should not duplicate any heading titles. Duplicate anchors won't work as expected since the #links go to the first anchor with that name. Duplicate anchors also result in invalid HTML; you can check for duplicate anchors by running the page through the W3C Markup Validation Service.
- Anchor names that contain any character shown in the table on the right will not work as expected. However, any of these characters can be replaced with the "&#" codes shown for them here. Or, the pipe symbol and equals sign can be worked around with {{!}} and {{=}}, respectively. Markup code such as
<sup>
and<sub>
(superscript and subscript) cannot be used. Most other characters, including white space and punctuation, are not a problem. - The template can create a maximum of 10 anchors. Specifying more than 10 anchors will result in an error message.
- If positional parameters (parameters without specifying 1=, 2=, etc.) are used, whitespace and newlines will be preserved. If you instead specify the name of the parameters (e.g.
|1=
), whitespace and newlines will be trimmed.
TemplateData
[edit]- TemplateData
TemplateData is a way to store information about template parameters (the description of those and of the whole template) for both humans and machines. It is used by VisualEditor and possibly other tools like Upload Wizard.
Existing template documentation
At Wikimedia Commons, it is recommended to use {{TemplateBox}} with either useTemplateData=1
or useTemplateData=only
on the /doc
subpage and transcluding it with {{Documentation}} into the template. <nowiki>
-tags can be wrapped around the arguments, if required, to avoid templates being expanded.
Newly created template documentation and imports
Another option, especially for imported templates, or for users with JSON experience, is placing raw <templatedata>
-tags into the Wikitext of the template, as described in various Wikipediae.
Wikipedia's help about TemplateData • Commons-specific information
The template {{Visible anchor}} inserts one or more HTML anchors in a page. Those locations can then be linked to using [[#link|...]] syntax. Unlike {{Anchor}}, the first parameter will be visible text on the page.
Parameter | Description | Type | Status | |
---|---|---|---|---|
Anchor name, and text to display | 1 | This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting; you can put formatting in the "text" parameter instead.
| String | required |
Second anchor name | 2 | This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting. | String | suggested |
Third anchor name | 3 | This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting. | String | optional |
Fourth anchor name | 4 | This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting. | String | optional |
Fifth anchor name | 5 | This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting. | String | optional |
Sixth anchor name | 6 | This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting. | String | optional |
Seventh anchor name | 7 | This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting. | String | optional |
Eighth anchor name | 8 | This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting. | String | optional |
Ninth anchor name | 9 | This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting. | String | optional |
Tenth anchor name | 10 | This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting. | String | optional |
Display text | text | Overrides the display of parameter 1, but is not an anchor name. May be formatted.
| Content | suggested |
Language code | lang | Applies the specified ISO 639 or IETF language tag as an attribute to the HTML of the displayed text. Useful for screen readers and other assistive technologies.
| Line | optional |
See also
[edit]- {{Anchor}}
- {{Anchored list}}
- {{Shortcut}}
- Help:Link § Section linking (anchors) (Shortcut: COM:ANCHOR)