Difference between revisions of "Template:ShortURL"

From FollowTheScore
Jump to: navigation, search
Line 1: Line 1:
<includeonly>{{#ifeq:{{{plain}}}|yes|<span class="plainlinks">|}}{{#ifexpr:{{#len:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}}} > {{#expr:{{{count|35}}}{{#ifeq:{{{forcecount}}}|yes||+{{{tolerance|5}}}}}}}|[{{{url|}}} {{#ifeq:{{{domainbold}}}|yes|'''}}{{#explode:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|/|}}{{#ifeq:{{{domainbold}}}|yes|'''}}{{#ifeq:{{{domainonly}}}|yes||{{#sub:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|{{#explode:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|/|}}}}|0|
+
<includeonly>{{#ifeq:{{{plain}}}|yes|<span class="plainlinks">|}}{{#ifexpr:{{#len:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}}} > {{#expr:{{{count|35}}}|[{{{url|}}} {{#ifeq:{{{domainbold}}}|yes|'''}}{{#explode:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|/|}}{{#ifeq:{{{domainbold}}}|yes|'''}}{{#ifeq:{{{domainonly}}}|yes||{{#sub:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|{{#explode:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|/|}}}}|0|
 
{{#expr:{{{count|35}}}-{{#len:{{#explode:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|/|}}}}}}
 
{{#expr:{{{count|35}}}-{{#len:{{#explode:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|/|}}}}}}
 
}}}}{{{suffix|…}}}]|
 
}}}}{{{suffix|…}}}]|
 
{{#ifeq:{{{domainforce}}}|yes|[{{{url|}}} {{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}]|
 
{{#ifeq:{{{domainforce}}}|yes|[{{{url|}}} {{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}]|
{{#ifeq:{{{domainbold}}}|yes|[{{{url|}}} '''{{#explode:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|/|}}'''{{#sub:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|{{#explode:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|/|}}}}|0|{{#expr:{{{count|35}}}{{#ifeq:{{{forcecount}}}|yes||+{{{tolerance|5}}}}}}}}}]
+
{{#ifeq:{{{domainbold}}}|yes|[{{{url|}}} '''{{#explode:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|/|}}'''{{#sub:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|{{#explode:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|/|}}}}|0|{{{count|35}}}}}]
 
|{{#ifeq:{{{forceprefix}}}|yes|{{{url|}}}}}|[{{{url|}}} {{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}]
 
|{{#ifeq:{{{forceprefix}}}|yes|{{{url|}}}}}|[{{{url|}}} {{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}]
 
}}
 
}}
Line 19: Line 19:
 
|suffix =
 
|suffix =
 
|plain  =(yes)
 
|plain  =(yes)
 +
|forceprefix =(yes)
 
|domainonly  =(yes)
 
|domainonly  =(yes)
 
|domainbold  =(yes)
 
|domainbold  =(yes)
 
|domainforce =(yes)
 
|domainforce =(yes)
|tolerance  =
 
|forcecount  =(yes)
 
 
}}</pre>
 
}}</pre>
 
*'''count''': optional / default: 35
 
*'''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).
 
: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).
:It uses a tolerance of 5. So if you define count=10 the string will not be shortened if it is between 1 and 15 characters long.
 
 
*'''url''': required
 
*'''url''': required
 
:Set the full URL <nowiki>http://...</nowiki>
 
:Set the full URL <nowiki>http://...</nowiki>
Line 34: Line 32:
 
*'''plain''': optional / default: no
 
*'''plain''': optional / default: no
 
:Returns the link in spans with the [http://www.mediawiki.org/wiki/Plainlinks plainlinks] class. 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.
 
:Returns the link in spans with the [http://www.mediawiki.org/wiki/Plainlinks plainlinks] class. 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.
 +
*'''forceprefix''': optional / default: no
 +
:Will not remove the "http://" and "www." prefix. I.e. if no "www." is in given it won't be returned.
 
*'''domainonly''': optional / default: no
 
*'''domainonly''': optional / default: no
:domainonly=yes will only display the domain (including subdomains if given). A setting for count is useless here.
+
: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''': 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.
 
: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.
*'''tolerance''': optional / default: 5
 
:Override the default tolerance.
 
*'''forcecount''': optional / default: no
 
:forcecount=yes overrides the (default) tolerance and forces a strict count.
 
  
 
===Examples===
 
===Examples===
 
<pre>{{ShortURL|url=http://semeb.com/dpldemo/index.php?title=Template:ShortURL}}</pre>
 
<pre>{{ShortURL|url=http://semeb.com/dpldemo/index.php?title=Template:ShortURL}}</pre>
The URL (stripped: without "http://" and "www") has 45 characters. That's more than count (default 35) + tolerance (default 5) = "emplate:ShortURL" > 5.<br>Result: {{ShortURL|url=http://semeb.com/dpldemo/index.php?title=Template:ShortURL}}
+
The URL (stripped: without "http://" and "www.") has 45 characters. That's more than count (default 35).<br>Result: {{ShortURL|url=http://semeb.com/dpldemo/index.php?title=Template:ShortURL}}
  
 
<pre>{{ShortURL|url=http://www.imdb.com|suffix=....}}</pre>
 
<pre>{{ShortURL|url=http://www.imdb.com|suffix=....}}</pre>
Line 91: Line 87:
 
*{{ShortURL|url=http://commons.wikimedia.org/wiki/Main_Page|count=50|domainbold=yes}}
 
*{{ShortURL|url=http://commons.wikimedia.org/wiki/Main_Page|count=50|domainbold=yes}}
 
*{{ShortURL|url=http://www.imdb.com|count=50|domainbold=yes}}
 
*{{ShortURL|url=http://www.imdb.com|count=50|domainbold=yes}}
 
<pre>{{ShortURL|url=http://www.mediawiki.org/wiki/Manual:Configuration|domainonly=yes}}</pre>
 
The (stripped) URL is exactly count + tolerance = 40 charcters long.<br>Result:{{ShortURL|url=http://www.mediawiki.org/wiki/Manual:Configuration|domainonly=yes}}
 
  
  
 
For practical examples see: [[Template:ShortURL/Examples/Examples]].
 
For practical examples see: [[Template:ShortURL/Examples/Examples]].
 
 
For forcecount and tolerance examples see {{Templink|Short}}.
 

Revision as of 03:14, 24 July 2009

The template

This is not finished yet.

Usage

This shortens external URLs. It may not be useful for single usage on a page but for list output and esp. in combination with addexternallink=true and %EXTERNALLINK% in the output. Consider that shortened URLs may cause wrong copy-paste by unexperienced users.
Note: Requires Extension:StringFunctions

Usage

{{ShortURL
|url    =
|count  =
|suffix =
|plain  =(yes)
|forceprefix =(yes)
|domainonly  =(yes)
|domainbold  =(yes)
|domainforce =(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 the link in spans with the plainlinks class. 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.
  • forceprefix: optional / default: no
Will not remove the "http://" and "www." prefix. I.e. if no "www." is in given it won't be returned.
  • 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

{{ShortURL|url=http://semeb.com/dpldemo/index.php?title=Template:ShortURL}}

The URL (stripped: without "http://" and "www.") has 45 characters. That's more than count (default 35).
Result: delete me

{{ShortURL|url=http://www.imdb.com|suffix=....}}

The (stripped) URL is shorter than the count (default 35). It will be fully returned without suffix.
Result: delete me

{{ShortURL
|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}}

We use a count of 50.
Result: delete me

{{ShortURL
|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: delete me

{{ShortURL
|url=http://commons.wikimedia.org/wiki/Commons:Village_pump/Archive/2008Sep#Hack_for_search_suggestion_field_width_will_be_obsolete
|count=50
|domainbold=yes}}

We highlight the domain.
Result: delete me

{{ShortURL|url=http://www.mediawiki.org/wiki/Manual:Configuration_settings_%28alphabetical%29|domainonly=yes}} and 
{{ShortURL|url=http://commons.wikimedia.org/wiki/Category:Icons|domainonly=yes}}

We only want the domain.
Result: delete me and delete me

*{{ShortURL|url=http://commons.wikimedia.org/wiki/Commons:Village_pump/Archive/2008Sep#Hack_for_search_suggestion_field_width_will_be_obsolete
|count=50|domainforce=yes}}
*{{ShortURL|url=http://commons.wikimedia.org/wiki/Main_Page|count=50|domainforce=yes}}
*{{ShortURL|url=http://www.imdb.com|count=50|domainforce=yes}}

When you use this template in another template or DPL output, it might useful if the URLs all look the same. Therefor we use domainforce. The last URLs are actually shorter than the count but the prefix strip is forced. Result:

  • delete me
  • delete me
  • delete me
*{{ShortURL|url=http://commons.wikimedia.org/wiki/Commons:Village_pump/Archive/2008Sep#Hack_for_search_suggestion_field_width_will_be_obsolete
|count=50|domainbold=yes}}
*{{ShortURL|url=http://commons.wikimedia.org/wiki/Main_Page|count=50|domainbold=yes}}
*{{ShortURL|url=http://www.imdb.com|count=50|domainbold=yes}}

Whenever domainbold is used the prefix strip is forced (domainforce doesn't need to be set). Result:

  • delete me
  • delete me
  • delete me


For practical examples see: Template:ShortURL/Examples/Examples.