Template:Anchor
Note to editors: Please don't categorize this template by editing it directly. Instead, place the category in its documentation page, in its "includeonly" section.
The template {{anchor}} inserts one or more HTML anchors in a page. Those locations can then be linked to using [[#link|...]]
syntax.
A parameter "text" can be used to include visible text in the link target (of the first parameter). For most users, this will look the same as if the text were added after the template, but some browsers can show what was or can be linked, which is useful for finding out how to point to the position without looking at the code: {{anchor|Whatever|text=whatever}} will show up as "whatever" and can be linked to as "#Whatever".
Examples
1. {{anchor|foo}}
- could be linked to with [[#foo|...]] from within the same article,
- or it could be linked to with [[articlename#foo|...]] from other articles and from redirects.
2. Anchors can be used for linking article sections, to make the links resistant to section renaming (or section heading removal). For example,
{{anchor|foo}}
==Section title==
- Here, links via [[articlename#foo]] would remain valid even if the section were renamed or the section title removed. Do not add the anchor to the title itself, as that would make links to the title awkward, including the automatic links from edit summaries.
3. The template can be used to create up to ten anchors with a single call. For example,
{{anchor|foo|bar|baz}}
- will create three anchors that can then be linked to with [[#foo]], [[#bar]] and [[#baz]].
- Specifying more than 10 anchors will cause an error message to be displayed.
Limitations
character | Character entity reference code | template | meaning |
---|---|---|---|
" | " " |
N/a | (double) quotation mark |
# | # |
N/a | hash |
| | | |
N/a | pipe |
= | = |
N/a | equals |
- 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 can be worked around with {{!}}. Equal can be worked around by specifcying the parameter number, for example
{{anchor|1=anchor with an ='s symbol in it}}
. Markup code such as 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.
- Unlike with most templates, putting each anchor name on separate lines, for example
{{anchor
|humpty
|dumpty}}- will not work as expected.
- Anchor names should be unique on a page, and should not duplicate any heading titles. Duplicate anchors will not 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.
- If the template is added to a section title then the code will appear in the edit summary when that section is edited, as in "/* {{anchor|Issues}}Limitations */ New issue". This can be fixed by deleting the template code from the edit summary before the changes are saved. However, this fix breaks the section link in the article revision history.
- Anchor links are case sensitive in some browsers, so treat all anchor links as case sensitive, but don't use anchors that differ only if so treated.