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

From blackwiki
Jump to navigation Jump to search
imported>Fullstop
m (m)
imported>Fullstop
(block format merger and move comments out of line)
Line 1: Line 1:
 
{{#switch:{{#titleparts:{{{1|}}}|2}}
 
{{#switch:{{#titleparts:{{{1|}}}|2}}
  |Http:/|Https:/|Ftp:/ = [{{{1}}} {{{2|}}}] <!-- its a regular url= or chapter-url= -->
+
  |Http:/|Https:/|Ftp:/ = [{{{1}}} {{{2|}}}]
  |None                = {{{2|}}} <!-- "none" used to stop chapter-url= from defaulting to url= -->
+
  |<!--if empty-->|None = <span>{{{2|}}}</span>
|<!-- is empty-->     = {{{2|}}}           <!-- (nil) when editor did not define url= -->
+
  |#default            = [[:{{{1}}}|{{{2|{{{1}}}}}}]]
  |#default            = [[:{{{1}}}|{{{2|{{{1}}}}}}]] <!-- its internal, not an external link -->
 
 
}}<noinclude>
 
}}<noinclude>
 +
<!-- Code notes:
 +
  1. The switch cases on the first line are for regular url= or chapter-url=
 +
  2. The switch cases on the second line are for empty first param, or for "none" in first param.
 +
    Editors can use "none" to stop chapter-url= from defaulting to the value of url=
 +
    The benign <span> is to to stop italicized "'foo' & 'bar'" from becoming "'''foo' & 'bar'''"
 +
  3. The #default constructs an internal link since that is what the editor
 +
    seems to have passed in url=
 +
-->
 
{{documentation}}
 
{{documentation}}
 
</noinclude>
 
</noinclude>

Revision as of 13:43, 28 July 2009

50px 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".