|
|
(10 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.|}}|/|}}}}}}
| + | delete me |
− | }}}}{{{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}}}}}]|{{#ifeq:{{{forceprefix}}}|yes|{{{url|}}}|[{{{url|}}} {{#ifeq:{{{domainonly}}}|yes|{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}{{#ifexpr:{{#len:{{#replace:{{#explode:{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}|/|}}}}|0|}}|/|}}}} > 0|{{{suffix|…}}}|}}|{{#replace:{{#replace:{{#replace:{{{url|}}}|http://|}}|https://|}}|www.|}}}}]}}
| |
− | }}}}{{#ifeq:{{{plain}}}|yes|</span>|}}</includeonly><noinclude>__NOTOC__
| |
− | <pre>This is not finished yet.</pre>
| |
− | | |
− | ==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. It can be used in DPL 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===
| |
− | <pre>{{ShortURL
| |
− | |url =
| |
− | |count =
| |
− | |suffix =
| |
− | |plain =(yes)
| |
− | |domainonly =(yes)
| |
− | |domainbold =(yes)
| |
− | }}</pre>
| |
− | *'''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 <nowiki>http://...</nowiki>
| |
− | *'''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 [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.
| |
− | *'''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===
| |
− | <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).<br>Result: {{ShortURL|url=http://semeb.com/dpldemo/index.php?title=Template:ShortURL}}
| |
− | | |
− | <pre>{{ShortURL|url=http://www.imdb.com|suffix=....}}</pre>
| |
− | The (stripped) URL is shorter than the count (default 35). It will be fully returned without suffix.<bR>Result: {{ShortURL|url=http://www.imdb.com|suffix=....}}
| |
− | | |
− | <pre>{{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}}</pre>
| |
− | We use a count of 50.<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}}
| |
− | | |
− | <pre>{{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>
| |
− | 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
| |
− | |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>
| |
− | 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
| |
− | |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.mediawiki.org/wiki/Manual:Configuration_settings_%28alphabetical%29|domainonly=yes}}
| |
− | *{{ShortURL|url=http://us.imdb.com/help/|domainonly=yes}}
| |
− | *{{ShortURL|url=http://google.com/help/|domainonly=yes}}</pre>
| |
− | We only want the domain. Result:
| |
− | *{{ShortURL|url=http://www.mediawiki.org/wiki/Manual:Configuration_settings_%28alphabetical%29|domainonly=yes}}
| |
− | *{{ShortURL|url=http://us.imdb.com/help/|domainonly=yes}}
| |
− | *{{ShortURL|url=http://google.com/help/|domainonly=yes}}
| |
− | | |
− | | |
− | For practical examples see: [[Template:ShortURL/Examples/Examples]].
| |