Template:URL

Jump to navigation Jump to search
Template documentation[view] [edit] [history] [purge]

This template can be used to create a formatted external link. It formats the appearance of displayed URLs, while making them machine-readable as part of emitted microformat meta-data, inside templates such as infoboxes.

Note: If you wish to display text instead of the URL (e.g. website instead of example.com), please do not use this template. Instead, consider using normal wiki markup or Template:Official website. Displaying text instead of the url will render the microformat data invalid.

For web-based references, please see Starfleet:Citation templates.

Usage[edit source]

  • {{URL|example.com}}
    • The first parameter is parsed to see if it takes the form of a complete URL. If it doesn't start with a URI scheme (such as "http:", "https:", or "ftp:"), an "http://" prefix will be prepended to the specified generated target URL of the link.
    • Parameter 2 ({{URL|url name|optional display text}}) is deprecated. See note above for more information and alternative templates.

URL with = character should use numbered parameters[edit source]

If the URL contains an equals sign, as is common in a query string, the parameter |1= should be used for the URL ({{URL|1=example.com}}). This applies when the value of the URL is unknown, for example when this template is used in another template specifying the effective URL as a variable value. The deprecated second parameter for the displayed text, if present in legacy uses, must also be explicitly numbered if the first parameter is explicitly numbered ({{URL|1=url name|2=optional display text}}); otherwise it will override the value of the first parameter.

Code Result
{{ URL | 1=https://example.com/?id=42 }} example.com?id=42
{{ URL | 1=https://example.com/?id=42 | 2=Title }} Title

The template attempts to handle simple cases where a URL containing an equals sign is specified without the necessary |1=, but it is still better practice to pass it in.

Examples[edit source]

The template displays an instructional message if there is no input:

  • {{URL| }}{{URL|example.com|optional display text}}

The template wraps the output in <span class="url">...</span> (see § Microformat) and adds <wbr/> before displayed periods:

  • {{URL | www.example.com }}www.example.com
    <span class="url">[http://www.example.com www<wbr/>.example<wbr/>.com]</span>

The use of http://, https://, a protocol-relative URL, or a different protocol is preserved in the URL but is not shown in the link text:

  • {{URL | http://www.example.com }}www.example.com
    <span class="url">[http://www.example.com www<wbr/>.example<wbr/>.com]</span>
  • {{URL | https://www.example.com }}www.example.com
    <span class="url">[https://www.example.com www<wbr/>.example<wbr/>.com]</span>
  • {{URL | //www.example.com }}www.example.com
    <span class="url">[//www.example.com www<wbr/>.example<wbr/>.com]</span>
  • {{URL | ftp://www.example.com }}www.example.com
    <span class="url">[ftp://www.example.com www<wbr/>.example<wbr/>.com]</span>
  • {{URL | ftp://ftp.example.com }}ftp.example.com
    <span class="url">[ftp://ftp.example.com ftp<wbr/>.example<wbr/>.com]</span>
  • {{URL | irc://irc.example.com/channel }}irc.example.com/channel
    <span class="url">[irc://irc.example.com/channel irc<wbr/>.example<wbr/>.com<wbr/>/channel]</span>

If the path is only a slash (/) it is not displayed in the link text:

  • {{URL | http://example.com/ }}example.com
    <span class="url">[http://example.com/ example<wbr/>.com]</span>

The template also adds <wbr/> before any displayed slashes (/) in the path:

  • {{URL | example.com/path }}example.com/path
    <span class="url">[http://example.com/path example<wbr/>.com<wbr/>/path]</span>
  • {{URL | https://example.com/path }}example.com/path
    <span class="url">[https://example.com/path example<wbr/>.com<wbr/>/path]</span>
  • {{URL | www.example.com/path/ }}www.example.com/path/
    <span class="url">[http://www.example.com/path/ www<wbr/>.example<wbr/>.com<wbr/>/path<wbr/>/]</span>
  • {{URL | https://www.example.com/path/ }}www.example.com/path/
    <span class="url">[https://www.example.com/path/ www<wbr/>.example<wbr/>.com<wbr/>/path<wbr/>/]</span>

Upper case in the domain name is preserved in the URL, but not in the link text (upper case in the path is not changed):

  • {{URL | EXAMPLE.com }}example.com
    <span class="url">[http://EXAMPLE.com example<wbr/>.com]</span>
  • {{URL | ExampleExample.com }}exampleexample.com
    <span class="url">[http://ExampleExample.com exampleexample<wbr/>.com]</span>
  • {{URL | ExampleExample.com/PathPath }}exampleexample.com/PathPath
    <span class="url">[http://ExampleExample.com/PathPath exampleexample<wbr/>.com<wbr/>/PathPath]</span>

For a URL containing an equal sign (=), use |1=:

  • {{URL |1= example.com/path?page=42 }}example.com/path?page=42
    <span class="url">[http://example.com/path?page=42 example<wbr/>.com<wbr/>/path?page=42]</span>
  • {{URL |1= https://example.com/path?page=42 }}example.com/path?page=42
    <span class="url">[https://example.com/path?page=42 example<wbr/>.com<wbr/>/path?page=42]</span>

The template currently supports an optional second parameter which is used as the link text, though its use is discouraged (see note):

  • {{URL | www.example.com | example.com }}example.com
    <span class="url">[http://www.example.com example.com]</span>
  • {{URL | exampleexample.com | ExampleExample.com }}ExampleExample.com
    <span class="url">[http://exampleexample.com ExampleExample.com]</span>
  • {{URL |1= example.com/path?page=42 |2= example.com }}example.com
    <span class="url">[http://example.com/path?page=42 example.com]</span>

The URL may be obtained from Wikidata as shown in this example for Lua error in Module:Wikibase at line 40: attempt to index field 'wikibase' (a nil value). (Q23317), where the property Lua error in Module:Wikibase at line 40: attempt to index field 'wikibase' (a nil value). (P856) contains Lua error in Module:Wd at line 162: attempt to index field 'wikibase' (a nil value).:

Microformat[edit source]

The template wraps the displayed URL with a class="url" so that it is included in any parent microformat which takes a URL parameter – see our microformats project.

TemplateData[edit source]

This is the TemplateData documentation for this template used by VisualEditor and other tools; see the monthly error report for this template.

TemplateData for URL

A template to display and format a URL, inside other tempates

Template parameters

ParameterDescriptionTypeStatus
URL1

The URL to be linked

Stringrequired
Display text2

The text to be displayed instead of the URL. Deprecated

Stringdeprecated

See also[edit source]

External links[edit source]