Difference between revisions of "Template:Citation/make link"

From blackwiki
Jump to navigation Jump to search
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.)
imported>Fuhghettaboutit
m (Changed protection level of Template:Citation/make link: when I changed this to add template editors, I didn't realize it had cascding protection—so all my change did was make it appear as if it could be edited by them ([Edit=Allow only administrator...)
 
(9 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{#switch:{{#titleparts:x{{{1|}}}|2}}
+
{{#if:{{{1|}}}
|X|Xnone|XNone = {{{2}}}
+
  |[{{{1}}} {{{2}}}]
  |Xhttp:/|Xhttps:/|Xftp:/|x{{{1|}}} = [{{{1}}} {{{2}}}]
+
  |{{{2}}}
  |#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 nonempty when called from {{Citation/core}}.
 
   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 {{Citation/core}} than here.
 
     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
+
-->{{documentation}}</noinclude>
    not about a book or chapter.
 
  4. The colon in "[[:" prevents images from being expanded.
 
  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
 
    not a valid page title, and #titleparts returns it unchanged instead of
 
    upper-casing the "x".
 
-->
 
{{documentation}}
 
</noinclude>
 

Latest revision as of 02:17, 13 November 2015

{{{2}}}

Template documentation[view] [edit] [history] [purge]

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:

  1. If the first parameter is empty, it returns the second parameter as plain text.
  2. 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".