Difference between revisions of "Template:Citation/make link"
From Self-sufficiency
(add check if #titleparts does anything) |
(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 06:36, 2 August 2009
{{{2}}}
[edit]
Documentation