Template:Visible anchor

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

{{{1}}}

Template documentationview · edit · history · purge ]
This documentation is transcluded from Template:Visible anchor/doc.

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 Manual of Style: Headers 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>JSON</templatedata> ./. {{TemplateBox}}
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.

Discussion
There is an ongoing discussion about that matter. Feel invited to comment if you are experienced in either way, your time permits and if you like to share your opinion or to make a suggestion.


Wikipedia's help about TemplateDataCommons-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.

Template parameters[Edit template data]

ParameterDescriptionTypeStatus
Anchor name, and text to display1

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.

Example
start-of-content
Stringrequired
Second anchor name2

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringsuggested
Third anchor name3

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Fourth anchor name4

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Fifth anchor name5

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Sixth anchor name6

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Seventh anchor name7

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Eighth anchor name8

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Ninth anchor name9

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Tenth anchor name10

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Display texttext

Overrides the display of parameter 1, but is not an anchor name. May be formatted.

Example
Properties of CO<sub>2</sub>
Contentsuggested
Language codelang

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.

Example
en-US; fr; etc.
Lineoptional

See also

[edit]