Difference between revisions of "Template:URL"
(Created page with "<includeonly>{{#invoke:URL|url|1={{{1|}}}|2={{{2|}}}}}</includeonly><noinclude>{{documentation}}</noinclude>") |
m (Transforming from URL Wiki Style to older Version without LUA integration) |
||
Line 1: | Line 1: | ||
− | <includeonly>{{# | + | <includeonly>{{#if:{{{1|}}}|<!-- |
+ | --><span class="url"><!-- | ||
+ | -->{{#ifeq:{{#titleparts:{{lc:x{{{1|}}}}}|1|1}}|{{lc:x{{{1|}}}}}|<!-- work-around when titleparts doesn't accept the URL and returns the full string without a capital: don't attempt to transform the displayed URL | ||
+ | -->[{{#if:1|{{{1|}}}}} {{#if:{{{2|}}}|{{#if:1|{{{2|}}}}}|{{#if:1|{{{1|}}}}}}}]<!-- These "#if:1" pseudo-tests (always true) allow trimming leading spaces in their text parameter | ||
+ | -->|<!-- | ||
+ | -->{{#switch:{{lc:{{#titleparts:{{{1|}}}|2}}}} | ||
+ | |https:/ | ||
+ | |http:/ | ||
+ | |ftp:/=<!-- Matches https:/ or http:/ or ftp:/ | ||
+ | -->[{{#if:1|{{{1|}}}}} <!-- This #if:1 allows trimming leading spaces in the full URL: {{{1|}}} | ||
+ | -->{{#if:{{{2|}}}|{{#if:1|{{{2|}}}}}| <!-- This #if:1 allows trimming leading spaces in the specified display text : {{{2|}}} | ||
+ | -->{{lc:<!-- domain name in lowercase | ||
+ | -->{{#titleparts:{{{1|}}}|1|3}}<!-- | ||
+ | -->}}<!-- | ||
+ | -->{{#if:{{#titleparts:{{{1|}}}||4}}<!-- rest of the path | ||
+ | -->|/{{#titleparts:{{{1|}}}||4}}<!-- | ||
+ | -->}}<!-- | ||
+ | -->}}<!-- | ||
+ | -->]<!-- | ||
+ | -->|#default=<!-- Not https:/ or http:/ or ftp:/ | ||
+ | -->[http://{{#if:1|{{{1|}}}}} <!-- This #if:1 allows trimming leading spaces in the full URL: {{{1|}}} | ||
+ | -->{{#if:{{{2|}}}|{{#if:1|{{{2|}}}}}| <!-- This #if:1 allows trimming leading spaces in the specified display text : {{{2|}}} | ||
+ | -->{{lc:<!-- domain name in lowercase | ||
+ | -->{{#titleparts:{{{1|}}}|1|1}}<!-- | ||
+ | -->}}<!-- | ||
+ | -->{{#if:{{#titleparts:{{{1|}}}||2}}<!-- rest of the path | ||
+ | -->|/{{#titleparts:{{{1|}}}||2}}<!-- | ||
+ | -->}}<!-- | ||
+ | -->}}<!-- | ||
+ | -->]<!-- | ||
+ | -->}}<!-- | ||
+ | -->}}<!-- | ||
+ | --></span><!-- | ||
+ | -->|<!-- | ||
+ | -->{{#if:{{{2|}}}|{{{2|}}}|<!-- | ||
+ | -->{{tlx|URL|''example.com''|''optional display text''}}<!-- | ||
+ | -->}}<!-- | ||
+ | -->}}</includeonly><noinclude>{{documentation}}</noinclude> |
Latest revision as of 12:27, 17 July 2015
Note to editors: Please don't categorize this template by editing it directly. Instead, place the category in its documentation page, in its "includeonly" section.
This template can be used to create a formatted external link.
- Note - this template is for formatting the appearance of displayed URLs, while making them machine-readable as part of emitted microformat meta-data.
If you wish to display text instead of the URL (e.g. "BBC website" instead of bbc.co.uk), please do not use this template.
For web-based references, please see Wikipedia:Citation templates
Usage
-
{{URL|1=url name|2=optional display text}}
- 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 is deprecated.
Warning: The parameter 1 must be numbered explicitly if the URL contains an equal sign, as is common in the query string. 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; otherwise it will override the value of the first parameter.
Examples
Code | Result |
---|---|
{{ URL }}
|
{{URL|example.com|optional display text}}
|
{{ URL | }}
|
{{URL|example.com|optional display text}}
|
{{ URL | EXAMPLE.com }}
|
example.com |
{{ URL | example.com }}
|
example.com |
{{ URL | http://example.com }}
|
example.com |
{{ URL | www.example.com }}
|
www.example.com |
{{ URL | http://www.example.com }}
|
www.example.com |
{{ URL | https://www.example.com }}
|
www.example.com |
{{ URL | ftp://www.example.com }}
|
www.example.com |
{{ URL | ftp://ftp.example.com }}
|
ftp.example.com |
{{ URL | http://www.example.com/ }}
|
www.example.com |
{{ URL | http://www.example.com/path }}
|
www.example.com/path |
{{ URL | irc://irc.example.com/channel }}
|
irc://irc.example.com/channel |
{{ URL | www.example.com/foo }}
|
www.example.com/foo |
{{ URL | http://www.example.com/path/ }}
|
www.example.com/path/ |
{{ URL | www.example.com/foo/ }}
|
www.example.com/foo/ |
{{ URL | 1=http://www.example.com/path?section=17 }}
|
www.example.com/path?section=17 |
{{ URL | 1=www.example.com/foo?page=42 }}
|
www.example.com/foo?page=42 |
{{ URL | www.example.com | example.com }}
|
example.com |
{{ URL | http://www.example.com/foo | link }}
|
link (Deprecated) |
{{ URL | www.example.com/foo | link }}
|
link (Deprecated) |
{{ URL | http://www.example.com/foo/ | link }}
|
link (Deprecated) |
{{ URL | www.example.com/foo/ | link }}
|
link (Deprecated) |
Microformat
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
<templatedata>{ "description": "A template to display and format a URL", "params": {
"1": { "label": "URL", "description": "The URL to be linked", "type": "string", "required": true }, "2": { "label": "Display text", "description": "The text to be displayed instead of the URL. Deprecated", "type": "string", "required": false }
}}</templatedata>
See also
- {{ConditionalURL}}
- {{official website}}
- {{plain link}}