Template:Anchor/doc: Difference between revisions
m (1 revision imported) |
No edit summary |
||
Line 1: | Line 1: | ||
{{Documentation subpage}} | {{Documentation subpage}} | ||
{{lua|Module:Anchor}} | {{lua|Module:Anchor}} | ||
<!-- PLEASE ADD CATEGORIES AT THE END OF THIS PAGE, ND INTERWIKIS LINKS TO WIKIDATA --> | <!-- PLEASE ADD CATEGORIES AT THE END OF THIS PAGE, ND INTERWIKIS LINKS TO WIKIDATA --> | ||
The template <nowiki>{{</nowiki>[[{{ns:Template}}:{{BASEPAGENAME}}|{{lc:{{BASEPAGENAME}}}}]]<nowiki>}}</nowiki> inserts one or more | The template <nowiki>{{</nowiki>[[{{ns:Template}}:{{BASEPAGENAME}}|{{lc:{{BASEPAGENAME}}}}]]<nowiki>}}</nowiki> inserts one or more HTML fragment identifiers (anchor names) in a page. Those locations can then be linked to using <code><nowiki>[[#Location|...]]</nowiki></code> syntax. {{#ifeq:{{BASEPAGENAME}}|Visible anchor| Unlike {{tl|Anchor}}, the first parameter will be visible text on the page.|}} (Usually the first letter of the ''location'' is capitalised to reflect the common capitalisation used in section headers.) | ||
== Examples == | == Examples == | ||
Line 16: | Line 15: | ||
{|class="wikitable" style="float:right" | {|class="wikitable" style="float:right" | ||
!Character | !Character | ||
! | !Code | ||
!Template | !Template | ||
!Meaning | !Meaning | ||
Line 23: | Line 22: | ||
|<code>&quot;</code> <br /><code>&#34;</code> | |<code>&quot;</code> <br /><code>&#34;</code> | ||
|{{N/a}} | |{{N/a}} | ||
|(double) | |(double) quotation mark | ||
|- | |- | ||
|# | |# | ||
|<code>&#35;</code> | |<code>&#35;</code> | ||
|{{N/a}} | |{{N/a}} | ||
|hash | |||
|- | |- | ||
|| | || | ||
|<code>&#124;</code> | |<code>&#124;</code> | ||
|{{tl|!}} | |{{tl|!}} | ||
|pipe | |||
|- | |- | ||
|= | |= | ||
|<code>&#61;</code> | |<code>&#61;</code> | ||
|{{tl|{{=}}}} | |{{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 {{tl|!}} and {{tl|{{=}}}}, respectively. Markup code such as {{tag|sup|o}} and {{tag|sub|o}} (superscript and subscript) cannot be used. Most other characters, including white space and punctuation, are not a problem. | * 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 {{tl|!}} and {{tl|{{=}}}}, respectively. Markup code such as {{tag|sup|o}} and {{tag|sub|o}} (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 <code><nowiki>#location</nowiki></code> 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]]. | * Anchor names should be unique on a page, and should not duplicate any heading titles. Duplicate anchors will not work as expected since the <code><nowiki>#location</nowiki></code> 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 [[w: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 {{nowrap|1="<code><nowiki>/* {{anchor|Issues}}Limitations */ New issue</nowiki></code>"}}. Also, when the section is saved, browsers may not return to the section. Consider using <code><nowiki><span id="..."></span></nowiki></code> directly, rather than using the anchor template, when in a section title. | * 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 {{nowrap|1="<code><nowiki>/* {{anchor|Issues}}Limitations */ New issue</nowiki></code>"}}. Also, when the section is saved, browsers may not return to the section. Consider using <code><nowiki><span id="..."></span></nowiki></code> 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. | * Anchor links are case sensitive in some browsers, so treat all anchor links as case sensitive. | ||
Line 85: | Line 84: | ||
=== See also === | === See also === | ||
* {{tl|Shortcut}} | * {{tl|Shortcut}} | ||
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox|| | <includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox|| |
Latest revision as of 07:27, 11 July 2016
This is a documentation subpage for Template:Anchor. It contains usage information, categories and other content that is not part of the original template page. |
Uses 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.)
Examples[edit source]
{{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.- 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"></span>
Section title == - 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]]
.
Limitations[edit source]
Character | Code | Template | Meaning |
---|---|---|---|
" | " "
|
N/A | (double) quotation mark |
# | #
|
N/A | hash |
|
|
{{!}} | pipe | |
= | =
|
{{}} | 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 {{!}} 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. - 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 w: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="..."></span>
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[edit source]
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:
|+ {{anchor|FooX}} A table caption
and the following forms of cell are valid:
!{{anchor|Foo1}} A header cell
!style="background:white;" |{{anchor|Foo2}} A header cell with styling
|{{anchor|Foo3}} A data cell
|rowspan=2 |{{anchor|Foo4}} A data cell spanning two rows
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:
!{{anchor|Foo1}} |A header cell
!style="background:white;" {{anchor|Foo2}} |A header cell with styling
|{{anchor|Foo3}} |A data cell
|rowspan=2 {{anchor|Foo4}} |A data cell spanning two rows
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:
{| 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
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[edit source]
TemplateData for Anchor
The template {{anchor}} inserts one or more HTML anchors in a page. Those locations can then be linked to using [[#location|...]] syntax. The parameters here are for convenience; no parameter name is required in the template itself.
Parameter | Description | Type | Status | |
---|---|---|---|---|
First anchor | 1 | First anchor; Only the first anchor is required. | String | required |
Second anchor | 2 | Second anchor. | String | optional |
Third anchor | 3 | 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. | String | optional |
See also[edit source]
- {{Shortcut}}