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

From blackwiki
Jump to navigation Jump to search
imported>Smith609
(Detect non-hyperlinks and wikilink them per comment on talk page)
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...)
 
(24 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{#if: {{{1|}}}  
+
{{#if:{{{1|}}}
  | {{#switch:{{#ifeq:{{substr|{{{1}}}|0|7}}|http://|1}}{{#ifeq:{{substr|{{{1}}}|0|6}}|ftp://|1}}{{#ifeq:{{substr|{{{1}}}|0|8}}|https://|1}}
+
|[{{{1}}} {{{2}}}]
   | 1=[{{{1}}} {{{2|}}}]
+
|{{{2}}}
   | [[{{{1}}}|{{{2|}}}]]
+
}}<noinclude><!--
}}
+
  Code notes (here so that people /read/ it)
  | {{{2|}}}  
+
   1. Parameter #2 is always nonempty when called from {{Citation/core}}.
}}<noinclude>
+
   2. It's up to {{Citation/core}} to stop italicized "'foo' & 'bar'" from becoming
{{pp-template|small=yes}}
+
    "'''foo' & 'bar'''". Citation/core does this by having a <nowiki></nowiki>
{{documentation}}
+
    at both beginning and end of the call to this template. Since this is only
</noinclude>
+
    needed once, it's more efficient to do it in {{Citation/core}} than here.
 +
-->{{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".