Difference between revisions of "Template:Citation/make link"
Jump to navigation
Jump to search
imported>Fullstop (add check if #titleparts does anything) |
imported>Eubulides (Fix problem with wikilinks to articles whose names do not begin with a letter, e.g., ! (album). See Template:Citation/make link/testcases.) |
||
| Line 1: | Line 1: | ||
| − | {{#switch:{{#titleparts: | + | {{#switch:{{#titleparts:x{{{1|}}}|2}} |
| − | | | + | |X|Xnone|XNone = {{{2}}} |
| − | | | + | |Xhttp:/|Xhttps:/|Xftp:/|x{{{1|}}} = [{{{1}}} {{{2}}}] |
| − | |#default | + | |#default = [[:{{{1}}}|{{{2}}}]] |
}}<noinclude> | }}<noinclude> | ||
<!-- Code notes (here so that people /read/ it) | <!-- Code notes (here so that people /read/ it) | ||
| − | 1. Parameter #2 is always | + | 1. Parameter #2 is always nonempty when called from {{Citation/core}}. |
2. It's up to {{Citation/core}} to stop italicized "'foo' & 'bar'" from becoming | 2. It's up to {{Citation/core}} to stop italicized "'foo' & 'bar'" from becoming | ||
"'''foo' & 'bar'''". Citation/core does this by having a <nowiki></nowiki> | "'''foo' & 'bar'''". Citation/core does this by having a <nowiki></nowiki> | ||
at both beginning and end of the call to this template. Since this is only | at both beginning and end of the call to this template. Since this is only | ||
| − | needed once, it's more efficient to do it in | + | needed once, it's more efficient to do it in {{Citation/core}} than here. |
3. "None" is safe to use as a magic word here, as the Wikipedia article [[None]] is | 3. "None" is safe to use as a magic word here, as the Wikipedia article [[None]] is | ||
not about a book or chapter. | not about a book or chapter. | ||
4. The colon in "[[:" prevents images from being expanded. | 4. The colon in "[[:" prevents images from being expanded. | ||
| − | 5. The | + | 5. The leading "x" checks whether #titleparts rejected the argument as not |
| − | + | being a valid page title. For example, if the argument contains "%" it is | |
| − | the | + | not a valid page title, and #titleparts returns it unchanged instead of |
| + | upper-casing the "x". | ||
--> | --> | ||
{{documentation}} | {{documentation}} | ||
</noinclude> | </noinclude> | ||
Revision as of 05:36, 2 August 2009
{{{2}}}
| This template is used on approximately 4,500 pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them.
Transclusion count updated automatically (see documentation). |
This template is a "subroutine" of {{Citation/core}} used for conditionally making links for the chapter= and title= fields in a citation.
It is invoked as:
- {{Citation/make link
- | 1 = <value of IncludedWorkURL= or URL= or PMC= parameters>
- | 2 = <value of IncludedWorkTitle= or Title= parameters>
- }}
It uses the following algorithm:
- If the first parameter is empty, it returns the second parameter as plain text.
- If the first parameter is a URL, it returns the second parameter wrapped inside an external link to the first.
This "subroutine" is designed for {{Citation/core}} and makes assumptions that may not be valid elsewhere.
Examples:
- "
{{Citation/make link||BBC News front page}}" produces "BBC News front page". - "
{{Citation/make link|http://news.bbc.co.uk/|BBC News front page}}" produces "BBC News front page".
| The above documentation is transcluded from Template:Citation/make link/doc. (edit | history) Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. Please add categories to the /doc subpage. Subpages of this template. |