Difference between revisions of "Template:ShortURL"
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}}}{{#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| | ||
{{#expr:{{{count|35}}}-{{#len:{{#explode:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|/|}}}}}} | {{#expr:{{{count|35}}}-{{#len:{{#explode:{{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}|/|}}}}}} | ||
− | }}}}{{{suffix|…}}}]| | + | }}}}{{{suffix|…}}}]|{{#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:{{{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:{{{plain}}}|yes|</span>|}}</includeonly><noinclude>__NOTOC__ |
− | |{{#ifeq:{{{forceprefix}}}|yes|{{{url|}}}|[{{{url|}}} {{#replace:{{#replace:{{{url|}}}|http://|}}|www.|}}]}} | ||
− | }}}} | ||
− | {{#ifeq:{{{plain}}}|yes|</span>|}}</includeonly><noinclude>__NOTOC__ | ||
==The template== | ==The template== | ||
<pre>This is not finished yet.</pre> | <pre>This is not finished yet.</pre> | ||
Line 55: | Line 52: | ||
|plain=yes}}</pre> | |plain=yes}}</pre> | ||
We add a custom suffix and use class="plainlinks".<br>Result: {{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".<br>Result: {{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}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre>*{{ShortURL|url=http://commons.wikimedia.org/wiki/Commons:Village_pump/Archive/2008Sep#Hack_for_search_suggestion_field_width_will_be_obsolete | <pre>*{{ShortURL|url=http://commons.wikimedia.org/wiki/Commons:Village_pump/Archive/2008Sep#Hack_for_search_suggestion_field_width_will_be_obsolete | ||
Line 70: | Line 57: | ||
*{{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}}</pre> | *{{ShortURL|url=http://www.imdb.com|count=50|domainbold=yes}}</pre> | ||
− | + | We highlight the domain. Result: | |
*{{ShortURL|url=http://commons.wikimedia.org/wiki/Commons:Village_pump/Archive/2008Sep#Hack_for_search_suggestion_field_width_will_be_obsolete | *{{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}} | |count=50|domainbold=yes}} | ||
*{{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_settings_%28alphabetical%29|domainonly=yes}} and | ||
+ | {{ShortURL|url=http://commons.wikimedia.org/wiki/Category:Icons|domainonly=yes}}</pre> | ||
+ | We only want the domain.<br>Result: {{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}} | ||
For practical examples see: [[Template:ShortURL/Examples/Examples]]. | For practical examples see: [[Template:ShortURL/Examples/Examples]]. |
Revision as of 02:25, 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) }}
- 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}} *{{ShortURL|url=http://commons.wikimedia.org/wiki/Main_Page|count=50|domainbold=yes}} *{{ShortURL|url=http://www.imdb.com|count=50|domainbold=yes}}
We highlight the domain. Result:
- delete me
- delete me
- 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
For practical examples see: Template:ShortURL/Examples/Examples.