Sjabloon:Anchor/doc

Uit KeukenWiki

Sjabloon:Documentation subpage {{#invoke:Message box|ombox}} Sjabloon:Lua

The template {{anchor}} inserts one or more HTML fragment identifiers (anchor names) in a page. Those locations can then be linked to using [[#Location|…]] syntax. (Usually the first letter of the location is capitalised to reflect the common capitalisation used in section headers – see MOS:HEAD.)

Examples[brontekst bewerken]

1. {{anchor|Foo}}

could be linked to with [[#Foo|…]] from within the same article,
or it could be linked to with [[Article name#Foo|…]] from other articles and from redirects.

2. Anchors can be more suitable for inter-article linking than section titles are. For example:

== {{anchor|Foo}} Section title ==
Here, links via [[Article name#Foo]] would remain valid even if the section were renamed. (Note that the anchor is placed before the section name; otherwise browsers may hide the section title from view.) However, as noted under Limitations below, it may be preferable to use direct HTML rather than the template within section titles:
== <span id="Foo" /> Section title ==

3. The template can be used to create multiple 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]].

4. If the text to be displayed must differ from the anchor (e.g. because it contains brackets for linking), the text parameter can be used:

{{anchor|Foo|text=[[Foo]]}}
this will result in a link that constitutes an anchor of its own.

Limitations[brontekst bewerken]

Character Code Template Meaning
" &quot;
&#34;
N/A (double) quotation mark
# &#35; N/A hash
| &#124; Sjabloon:Tl pipe
= &#61; Sjabloon:Tl 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 and equals sign can be worked around with Sjabloon:Tl and Sjabloon:Tl, 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.
  • Anchor names should be unique on a page, and should not duplicate any heading titles. Duplicate anchors will not work as expected since the #location 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 window when that section is edited, as in "/* {{anchor|Issues}}Limitations */ New issue". Also, when the section is saved, browsers may not return to the section. Consider using <span id="..." /> directly, rather than using the anchor template, when in a section title.
  • Anchor links are case sensitive in some browsers, so treat all anchor links as case sensitive.

Use in tables[brontekst bewerken]

Anchors may be used within tables, subject to certain restrictions. The {{anchor}} 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:<source enclose=div lang=text>|+ {{#invoke:anchor|main}} A table caption</source> and the following forms of cell are valid:<source enclose=div lang=text>!{{#invoke:anchor|main}} A header cell !style="background:white;" |{{#invoke:anchor|main}} A header cell with styling |{{#invoke:anchor|main}} A data cell |rowspan=2 |{{#invoke:anchor|main}} A data cell spanning two rows</source> You need to ensure that the {{anchor}} is not in that portion of the markup intended for the classes, styles etc. Thus, {{anchor}} cannot be placed anywhere on lines that begin with {| (start of table) or |- (new row), and the following forms of cell are not valid:<source enclose=div lang=text>!{{#invoke:anchor|main}} |A header cell !style="background:white;" {{#invoke:anchor|main}} |A header cell with styling |{{#invoke:anchor|main}} |A data cell |rowspan=2 {{#invoke:anchor|main}} |A data cell spanning two rows</source> If it is necessary for an anchor to be in any of these positions, a different technique is used - the id= attribute. This is placed in that portion of the markup where the classes, styles etc. may be used, as follows:<source enclose=div lang=text>{| id=FooX class=wikitable |- id=FooY !id=Foo1 |A header cell !style="background:white;" id=Foo2 |A header cell with styling |id=Foo3 |A data cell |rowspan=2 id=Foo4 |A data cell spanning two rows</source> The id= attribute may appear before, between or after any other attributes that may be present, but only one id= attribute may be used in each of these areas.

TemplateData[brontekst bewerken]

This is the TemplateData documentation for the template used by the new VisualEditor.

Anchor

<templatedata>{ "description": "The template {{#invoke:anchor|main}} 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
 }

}}</templatedata>

See also[brontekst bewerken]