Template:Anchor/doc

The template inserts one or more HTML fragment identifiers (anchor names) in a page. Those locations can then be linked to using  syntax.

Examples
1.
 * could be linked to with  …  from within the same article,
 * or it could be linked to with  …  from other articles and from redirects.

2. Anchors can be more suitable for inter-article linking than section titles are. For example:
 * Section title ==
 * Here, links via  Article name  would remain valid even if the section were renamed. Consider using after the section title to generate a HTML comment alerting other editors to the purpose of anchors used in this manner. See Limitations for the editing problems this use introduces.
 * The following is an example of what not to do:
 * Here, the link  Article name  would take the user to the section, but could undesirably hide the section title from view.
 * Here, the link  Article name  would take the user to the section, but could undesirably hide the section title from view.

3. The template can be used to create multiple anchors with a single call. For example,
 * will create three anchors that can then be linked to with  ,    and   .
 * will create three anchors that can then be linked to with  </tt>,   </tt> and   </tt>.

4. If the text to be displayed must differ from the anchor (e.g. because it contains brackets for linking), the  parameter can be used:
 * this will result in a link that constitutes an anchor of its own.|}}
 * this will result in a link that constitutes an anchor of its own.|}}

Limitations

 * 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 "&amp;#" codes shown for them here. Or, the pipe symbol and equals sign can be worked around with ! and =, respectively. Markup code such as and  (superscript and subscript) cannot be used. Most other characters, including white space and punctuation, are not a problem.
 * 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 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 " ". 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. Consider using after the section title to generate a HTML comment alerting other editors to the purpose of anchors used in this manner, so they do not move the anchor out of the section heading when they notice the deleterious effects on their edit summary.
 * Anchor links are case sensitive in some browsers, so treat all anchor links as case sensitive.

Use in tables
Anchors may be used within tables, subject to certain restrictions. The template may be used in the caption and cells of a table, but not those portions of a table that are outside the caption and cells. It is used on the table's caption thus: and the following forms of cell are valid:  You need to ensure that the  is not in that portion of the markup intended for the classes, styles etc. Thus,  cannot be placed anywhere on lines that begin with   (start of table) or   (new row), and the following forms of cell are not valid:  If it is necessary for an anchor to be in any of these positions, a different technique is used - the   attribute. This is placed in that portion of the markup where the classes, styles etc. may be used, as follows: The   attribute may appear before, between or after any other attributes that may be present, but only one   attribute may be used in each of these areas.

TemplateData
{ "description": "The template inserts one or more HTML anchors in a page. Those locations can then be linked to using … syntax.  The parameters here are for convenience; no parameter name is required in the template itself.", "params": { "1": {   "label": "First anchor", "description": "First anchor; Only the first anchor is required.", "type": "string", "required": true }, "2": {    "label": "Second anchor", "description": "Second anchor.", "type": "string", "required": false }, "3": {    "label": "Third anchor", "description": "Third anchor. For additional anchors, just type in 4 as the parameter name for the next, 5 for the next after that, and so on.", "type": "string", "required": false } }}