Difference between revisions of "Template:ShortLink"
m (→Examples)  | 
				|||
| (20 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
<includeonly>{{#ifeq:{{{plain}}}|yes|<span class="plainlinks">|}}{{#ifexpr:{{#len:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}}} > {{{count|35}}}|[{{{url|}}} {{#ifeq:{{{domainbold}}}|yes|'''}}{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}{{#ifeq:{{{domainbold}}}|yes|'''}}{{#ifeq:{{{domainonly}}}|yes||{{#sub:{{#replace:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}}}|0|{{#expr:{{{count|35}}}-{{#len:{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}}}}}  | <includeonly>{{#ifeq:{{{plain}}}|yes|<span class="plainlinks">|}}{{#ifexpr:{{#len:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}}} > {{{count|35}}}|[{{{url|}}} {{#ifeq:{{{domainbold}}}|yes|'''}}{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}{{#ifeq:{{{domainbold}}}|yes|'''}}{{#ifeq:{{{domainonly}}}|yes||{{#sub:{{#replace:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}}}|0|{{#expr:{{{count|35}}}-{{#len:{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}}}}}  | ||
}}}}{{{suffix|…}}}]|  | }}}}{{{suffix|…}}}]|  | ||
| − | {{#ifeq:{{{domainbold}}}|yes|[{{{url|}}} '''{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}'''{{#sub:{{#replace:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}}}|0|{{{count|35}}}}}]|[{{{url|}}} {{#ifeq:{{{domainonly}}}|yes|{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}{{#ifexpr:{{#len:{{#sub:{{#replace:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}}}|0|{{{count|35}}}}}>  | + | {{#ifeq:{{{domainbold}}}|yes|[{{{url|}}} '''{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}'''{{#sub:{{#replace:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}}}|0|{{{count|35}}}}}]|[{{{url|}}} {{#ifeq:{{{domainonly}}}|yes|{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}{{#ifexpr:{{#len:{{#sub:{{#replace:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}}}|0|{{{count|35}}}}}}}>1|{{{suffix|…}}}}}|{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}}}]}}}}{{#ifeq:{{{plain}}}|yes|</span>|}}</includeonly><noinclude>__NOTOC__  | 
| − | }}}}{{#ifeq:{{{plain}}}|yes|</span>|  | ||
| − | |||
| − | |||
==Usage==  | ==Usage==  | ||
| − | This shortens external URLs. It may not be useful for single usage on a page but for mass output, e.g. via another template.   | + | This shortens external URLs. It may not be useful for single usage on a page but for mass output, e.g. via another template. In DPL it can can be used in combination with <tt>addexternallink=true</tt> and <tt>[[DPL:Manual_-_DPL_parameters:_Controlling_output_format#format|%EXTERNALLINK%]]</tt> in the output.<br>The link text also no more contains the "http://" and "www." prefixes. This makes it even shorter and prevents unexperienced users from wrong copy-paste since they see more clearly that this is not the complete URL instead of just "…" at the end.<br>Note: Requires [http://www.mediawiki.org/wiki/Extension:StringFunctions Extension:StringFunctions]  | 
===Usage===  | ===Usage===  | ||
| Line 21: | Line 18: | ||
*'''url''': required  | *'''url''': required  | ||
:Set the full URL <nowiki>http://...</nowiki>  | :Set the full URL <nowiki>http://...</nowiki>  | ||
| − | *'''suffix''': optional / default: "…" (not ...)  | + | *'''suffix''': optional / default: "…" (not "...")  | 
:Adds an suffix at the end of the shortened string. It is not recommend to set an empty suffix.  | :Adds an suffix at the end of the shortened string. It is not recommend to set an empty suffix.  | ||
*'''plain''': optional / default: no  | *'''plain''': optional / default: no  | ||
| − | :Returns   | + | :Returns each link in a span with class=[http://www.mediawiki.org/wiki/Plainlinks plainlinks]. Note that you should have this set up in you CSS. Also note that your page code is more clear when you set class="plainlinks" for the element that contains all your links.  | 
*'''domainonly''': optional / default: no  | *'''domainonly''': optional / default: no  | ||
:domainonly=yes will only display the domain (including subdomains if given). A setting for count or forceprefix is useless here.  | :domainonly=yes will only display the domain (including subdomains if given). A setting for count or forceprefix is useless here.  | ||
| Line 30: | Line 27: | ||
:domainbold=yes will highlight the domain bold. This is useful for lists of many different external URLs. The prefix is also stripped for URLs shorter than count.  | :domainbold=yes will highlight the domain bold. This is useful for lists of many different external URLs. The prefix is also stripped for URLs shorter than count.  | ||
| − | + | ==Examples==  | |
<pre>{{ShortLink|url=http://semeb.com/dpldemo/index.php?title=Template:ShortLink}}</pre>  | <pre>{{ShortLink|url=http://semeb.com/dpldemo/index.php?title=Template:ShortLink}}</pre>  | ||
| − | The URL (stripped: without "http://" and "www.") has 45 characters. That's more than count (default 35).<br>  | + | The URL (stripped: without "http://", "https://" and "www.") has 45 characters. That's more than count (default 35). Result:<br> {{ShortLink|url=http://semeb.com/dpldemo/index.php?title=Template:ShortLink}}  | 
<pre>{{ShortLink|url=http://www.imdb.com|suffix=....}}</pre>  | <pre>{{ShortLink|url=http://www.imdb.com|suffix=....}}</pre>  | ||
| − | The (stripped) URL is shorter than the count (default 35). It will be fully returned without suffix.<  | + | The (stripped) URL is shorter than the count (default 35). It will be fully returned without suffix. Result:<br> {{ShortLink|url=http://www.imdb.com|suffix=....}}  | 
<pre>{{ShortLink  | <pre>{{ShortLink  | ||
| − | |url=  | + | |url=https://www.google.de/search?q=DLP&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a  | 
|count=50}}</pre>  | |count=50}}</pre>  | ||
| − | We use a count of 50.<br>  | + | We use a count of 50. Result:<br>{{ShortLink|url=https://www.google.de/search?q=DLP&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a|count=50}}  | 
<pre>{{ShortLink  | <pre>{{ShortLink  | ||
|url=http://www.google.de/search?q=DLP&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a  | |url=http://www.google.de/search?q=DLP&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a  | ||
|count=50|suffix='''....'''|plain=yes}}</pre>  | |count=50|suffix='''....'''|plain=yes}}</pre>  | ||
| − | We add a custom suffix and use class="plainlinks".<br>  | + | We add a custom suffix and use class="plainlinks". Result:<br>{{ShortLink|url=http://www.google.de/search?q=DLP&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a|count=50|suffix='''....'''|plain=yes}}  | 
<pre>*{{ShortLink|url=http://commons.wikimedia.org/wiki/Commons:Village_pump/Archive/2008Sep#Hack_for_search_suggestion_field_width_will_be_obsolete  | <pre>*{{ShortLink|url=http://commons.wikimedia.org/wiki/Commons:Village_pump/Archive/2008Sep#Hack_for_search_suggestion_field_width_will_be_obsolete  | ||
| Line 57: | Line 54: | ||
*{{ShortLink|url=http://www.imdb.com|count=50|domainbold=yes}}  | *{{ShortLink|url=http://www.imdb.com|count=50|domainbold=yes}}  | ||
| − | <pre>*{{ShortLink|url=http://www.mediawiki.org/wiki/Manual:Configuration_settings_%28alphabetical%29|domainonly=yes}}  | + | <pre>*{{ShortLink|url=http://www.mediawiki.org/wiki/Manual:Configuration_settings_%28alphabetical%29|plain=yes|domainonly=yes}}  | 
| − | *{{ShortLink|url=http://us.imdb.com/help/|domainonly=yes}}  | + | *{{ShortLink|url=http://us.imdb.com/help/|plain=yes|domainonly=yes}}  | 
| − | *{{ShortLink|url=http://google.com|domainonly=yes}}  | + | *{{ShortLink|url=http://google.com|plain=yes|domainonly=yes}}  | 
| − | *{{ShortLink|url=http://google.com/|domainonly=yes}}  | + | *{{ShortLink|url=http://google.com/|plain=yes|domainonly=yes}}  | 
| − | *{{ShortLink|url=http://google.com/  | + | *{{ShortLink|url=http://google.com/123|plain=yes|domainonly=yes}}</pre>  | 
| − | We only want the domain. Result   | + | We only want the domain. Since those are short it's useful to use plain=yes. Result:  | 
| − | *{{ShortLink|url=http://www.mediawiki.org/wiki/Manual:Configuration_settings_%28alphabetical%29|domainonly=yes}}  | + | *{{ShortLink|url=http://www.mediawiki.org/wiki/Manual:Configuration_settings_%28alphabetical%29|plain=yes|domainonly=yes}}  | 
| − | *{{ShortLink|url=http://us.imdb.com/help/|domainonly=yes}}  | + | *{{ShortLink|url=http://us.imdb.com/help/|plain=yes|domainonly=yes}}  | 
| − | *{{ShortLink|url=http://google.com|domainonly=yes}}  | + | *{{ShortLink|url=http://google.com|plain=yes|domainonly=yes}}  | 
| − | *{{ShortLink|url=http://google.com/|domainonly=yes}}  | + | *{{ShortLink|url=http://google.com/|plain=yes|domainonly=yes}}  | 
| − | *{{ShortLink|url=http://google.com/  | + | *{{ShortLink|url=http://google.com/123|plain=yes|domainonly=yes}}  | 
| + | |||
| + | For practical examples see some [[Template:ShortLink/Examples|DPL output]].  | ||
| − | + | See also {{Templink|Short}}.  | |
Latest revision as of 23:17, 24 July 2009
Usage
This shortens external URLs. It may not be useful for single usage on a page but for mass output, e.g. via another template. In DPL it can can be used in combination with addexternallink=true and %EXTERNALLINK% in the output.
The link text also no more contains the "http://" and "www." prefixes. This makes it even shorter and prevents unexperienced users from wrong copy-paste since they see more clearly that this is not the complete URL instead of just "…" at the end.
Note: Requires Extension:StringFunctions
Usage
{{ShortLink
|url    =
|count  =
|suffix =
|plain  =(yes)
|domainonly  =(yes)
|domainbold  =(yes)
}}
- count: optional / default: 35
 
- The number of displayed characters. It counts and returns the string without "http://" and "www." (if the URL is longer than the default 35 characters).
 
- url: required
 
- Set the full URL http://...
 
- suffix: optional / default: "…" (not "...")
 
- Adds an suffix at the end of the shortened string. It is not recommend to set an empty suffix.
 
- plain: optional / default: no
 
- Returns each link in a span with class=plainlinks. Note that you should have this set up in you CSS. Also note that your page code is more clear when you set class="plainlinks" for the element that contains all your links.
 
- domainonly: optional / default: no
 
- domainonly=yes will only display the domain (including subdomains if given). A setting for count or forceprefix is useless here.
 
- domainbold: optional / default: no
 
- domainbold=yes will highlight the domain bold. This is useful for lists of many different external URLs. The prefix is also stripped for URLs shorter than count.
 
Examples
{{ShortLink|url=http://semeb.com/dpldemo/index.php?title=Template:ShortLink}}
The URL (stripped: without "http://", "https://" and "www.") has 45 characters. That's more than count (default 35). Result:
 Expression error: Unrecognized punctuation character "{".
{{ShortLink|url=http://www.imdb.com|suffix=....}}
The (stripped) URL is shorter than the count (default 35). It will be fully returned without suffix. Result:
 Expression error: Unrecognized punctuation character "{".
{{ShortLink
|url=https://www.google.de/search?q=DLP&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a
|count=50}}
We use a count of 50. Result:
Expression error: Unrecognized punctuation character "{".
{{ShortLink
|url=http://www.google.de/search?q=DLP&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a
|count=50|suffix='''....'''|plain=yes}}
We add a custom suffix and use class="plainlinks". Result:
Expression error: Unrecognized punctuation character "{".
*{{ShortLink|url=http://commons.wikimedia.org/wiki/Commons:Village_pump/Archive/2008Sep#Hack_for_search_suggestion_field_width_will_be_obsolete
|count=50|domainbold=yes}}
*{{ShortLink|url=http://commons.wikimedia.org/wiki/Main_Page|count=50|domainbold=yes}}
*{{ShortLink|url=http://www.imdb.com|count=50|domainbold=yes}}
We highlight the domain. Result:
- Expression error: Unrecognized punctuation character "{".
 - Expression error: Unrecognized punctuation character "{".
 - Expression error: Unrecognized punctuation character "{".
 
*{{ShortLink|url=http://www.mediawiki.org/wiki/Manual:Configuration_settings_%28alphabetical%29|plain=yes|domainonly=yes}}
*{{ShortLink|url=http://us.imdb.com/help/|plain=yes|domainonly=yes}}
*{{ShortLink|url=http://google.com|plain=yes|domainonly=yes}}
*{{ShortLink|url=http://google.com/|plain=yes|domainonly=yes}}
*{{ShortLink|url=http://google.com/123|plain=yes|domainonly=yes}}
We only want the domain. Since those are short it's useful to use plain=yes. Result:
- Expression error: Unrecognized punctuation character "{".
 - Expression error: Unrecognized punctuation character "{".
 - Expression error: Unrecognized punctuation character "{".
 - Expression error: Unrecognized punctuation character "{".
 - Expression error: Unrecognized punctuation character "{".
 
For practical examples see some DPL output.
See also {{Short}}.