Template:Anchor: Difference between revisions

2,446 bytes added ,  16 years ago
after testing in Template:Anchor/sandbox and Template:Anchor/testcases, version 2.0 : backward-compatible but will accept up to 10 {{Anchor|One|Two|Three}} anchors (plus new doc)
(more docs)
(after testing in Template:Anchor/sandbox and Template:Anchor/testcases, version 2.0 : backward-compatible but will accept up to 10 {{Anchor|One|Two|Three}} anchors (plus new doc))
Line 1:
<noinclude>{{#ifeq:{{SUBPAGENAME}}|sandbox|{{Template sandbox notice}}
<span id="{{{1|anchor}}}"/><noinclude>
}}
This template manually adds an [[HTML element#Links and anchors|HTML anchor]] to a page at the location of its invocation.
</noinclude><!--
-->{{#if:{{{ 1|}}}|<SPAN ID="{{{ 1|}}}" /><!--
-->{{#if:{{{ 2|}}}|<SPAN ID="{{{ 2|}}}" /><!--
-->{{#if:{{{ 3|}}}|<SPAN ID="{{{ 3|}}}" /><!--
-->{{#if:{{{ 4|}}}|<SPAN ID="{{{ 4|}}}" /><!--
-->{{#if:{{{ 5|}}}|<SPAN ID="{{{ 5|}}}" /><!--
-->{{#if:{{{ 6|}}}|<SPAN ID="{{{ 6|}}}" /><!--
-->{{#if:{{{ 7|}}}|<SPAN ID="{{{ 7|}}}" /><!--
-->{{#if:{{{ 8|}}}|<SPAN ID="{{{ 8|}}}" /><!--
-->{{#if:{{{ 9|}}}|<SPAN ID="{{{ 9|}}}" /><!--
-->{{#if:{{{10|}}}|<SPAN ID="{{{10|}}}" /><!--
-->{{#if:{{{11|}}}
|<DIV STYLE="background-color:yellow">[[Template:Anchor]]: too much anchors</DIV><!--
-->}}<!--
-->}} }} }} }} }} }} }} }} }} }}<noinclude>
<!--
PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE
YOU CAN EDIT THE TEMPLATE DOCUMENTATION BELOW THIS COMMENT
-->
==Usage:==
 
This template manuallyinserts addsone anor more [[HTML element#Links and anchors|HTML anchor]]s toin a page at the location of its invocation., enabling direct #Links to this location.
Usage:
<pre>{{anchor|foo}}</pre>
 
; Code : <CODE><NOWIKI>Before{{</NOWIKI>{{PAGENAME}}<NOWIKI>|Foo|Bar & Baz|Three}}After</NOWIKI></CODE>
With this you can link to <nowiki>[[Page#foo]]</nowiki> to have people following the link arrive at the anchor location.
; Gives : Before{{{{PAGENAME}}|Foo|Bar & Baz|Three}}After
 
The template will handle up to 10 anchor names, but could very easily be extended to do twice or more. If you accidentally use more than 10 anchors, the template will output a bold error message to let you know about it instead of silently ignoring your extra anchors.
 
Anchor names shouldn't include characters "#" (hash), "|" (pipe) or "=" (equal). On the other hand, special characters such as " " (space), "," (comma), "&" (ampersand), etc. can be used directly both in anchors and links, because Wikipedia will process them automatically into an URL-acceptable format.
 
==Linking==
 
After that, you can have links sending directly to the line you marked:
 
* With <CODE><NOWIKI>[[#Bar & Baz|link label]]</NOWIKI></CODE> when linking from the same page
* With <CODE><NOWIKI>[[Article name#Bar & Baz|link label]]</NOWIKI></CODE> when linking from another page
 
==Technical notes==
 
* The template is based on <CODE><NOWIKI><SPAN ID="anchor" /></NOWIKI></CODE>
* The final HTML page (as outputted by Wikipedia to the reader's browser) will have converted it to <CODE><NOWIKI><SPAN ID="anchor"></SPAN></NOWIKI></CODE> instead.
* The more backward-compatible <CODE><NOWIKI><A NAME="anchor" ID="anchor"></A></NOWIKI></CODE> is used by Wikipedia's own headings but disabled for editors in the wikicode and thus not used here.
 
{{pp-semi-protected| small=yes | reason=No need for such template to be anon-editable. }}
 
<!-- PLEASE ADD CATEGORIES BELOW THIS LINE, THANKS. -->
 
[[Category:Function templates|{{PAGENAME}}]]
[[Category:Templates using ParserFunctions|{{PAGENAME}}]]
 
<!-- PLEASE ADD INTERWIKIS BELOW THIS LINE, THANKS. -->
 
[[de:Vorlage:Anker]]
<!--[[en:Template:Anchor]]-->
[[fr:Modèle:Ancre]]
[[de:Vorlage:Anker]]
[[ru:Шаблон:Anchor]]
[[sl:Predloga:Sidro]]
 
</noinclude>
Anonymous user