Template:URL: Difference between revisions

From TEPwiki, Urth's Encyclopedia
Jump to navigation Jump to search
Content added Content deleted
m (work-around when titleparts does not work (for example presence of %xx URL-encoding in the path or in the query string):don't transform the displayed URL)
m (simplify tests for presence of parameter 2, and of the titleparts limitation and its work-round ; additional fix for "ftp://" URLs)
Line 1: Line 1:
<includeonly>{{#if:{{{1|}}}|<!--
<includeonly>{{#if:{{{1|}}}|<!--
--><span class="url"><!--
--><span class="url"><!--
-->{{#ifeq:{{#titleparts:{{{1|}}}|1|1}}|{{{1|}}}|<!-- work-around when titleparts doesn't accept the URL and returns the full string instead: don't attempt to transform the displayed URL
-->[{{#if:1|{{{1|}}}}}]<!-- This #if:1 allows trimming leading spaces in the full URL: {{{1|}}}
-->|<!--
-->{{#switch:{{lc:{{#titleparts:{{{1|}}}|2}}}}<!--
-->{{#switch:{{lc:{{#titleparts:{{{1|}}}|2}}}}<!--
-->|https:/<!--
-->|https:/<!--
-->|http:/<!--
-->|http:/<!--
-->|ftp:/=<!-- an FTP URL is a valid URI scheme and MUST NOT imply a default "http://" (as generated in the #default case)
-->|ftp:/=<!--
-->[{{#if:1|{{{1|}}}}} <!-- This #if:1 allows trimming leading spaces in the full URL: {{{1|}}}
-->[{{#if:1|{{{1|}}}}} <!-- This #if:1 allows trimming leading spaces in the full URL: {{{1|}}}
-->{{#if:{{{2|}}}|{{{2|}}}|<!--
-->{{#if:{{{2|}}}|{{#if:1|{{{2|}}}}}| <!-- This #if:1 allows trimming leading spaces in the specified display text : {{{2|}}}
-->{{lc:<!-- domain name in lowercase
-->{{#ifeq:{{#titleparts:{{{1|}}}|1|3}}|{{{1|}}}|{{{1|}}}|<!-- work-around when titleparts doesn't accept the URL and returns the full string instead : don't attempt to transform the displayed URL
-->{{lc:<!-- domain name in lowercase
-->{{#ifeq:{{lc:{{padleft:|4|{{#titleparts:{{{1|}}}|1|3}}}}}}|www.<!--
-->{{#ifeq:{{lc:{{padleft:|4|{{#titleparts:{{{1|}}}|1|3}}}}}}|www.<!--
-->|{{Str right|{{#titleparts:{{{1|}}}|1|3}}|4}}<!--
-->|{{Str right|{{#titleparts:{{{1|}}}|1|3}}|4}}<!--
-->|{{#titleparts:{{{1|}}}||3}}<!--
-->|{{#titleparts:{{{1|}}}||3}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{#titleparts:{{{1|}}}||4}}<!-- rest of the ressource path
-->|/{{#titleparts:{{{1|}}}||4}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{#titleparts:{{{1|}}}||4}}<!-- rest of the ressource path
-->|/{{#titleparts:{{{1|}}}||4}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->]<!--
-->]<!--
-->|#default=<!-- Warning! this case implies a default "http://" URI scheme, and should NOT occur if there's another accepted URI scheme in the URL
-->|#default=<!--
-->[http://{{#if:1|{{{1|}}}}} <!-- This #if:1 allows trimming leading spaces in the full URL: {{{1|}}}
-->[http://{{#if:1|{{{1|}}}}} <!-- This #if:1 allows trimming leading spaces in the full URL: {{{1|}}}
-->{{#if:{{{2|}}}|{{{2|}}}|<!--
-->{{#if:{{{2|}}}|{{#if:1|{{{2|}}}}}| <!-- This #if:1 allows trimming leading spaces in the specified display text : {{{2|}}}
-->{{lc:<!-- domain name in lowercase
-->{{#ifeq:{{#titleparts:{{{1|}}}|1|1}}|{{{1|}}}|{{{1|}}}|<!-- work-around when titleparts doesn't accept the URL and returns the full string instead : don't attempt to transform the displayed URL
-->{{lc:<!-- domain name in lowercase
-->{{#ifeq:{{lc:{{padleft:|4|{{#titleparts:{{{1|}}}|1|1}}}}}}|www.<!--
-->{{#ifeq:{{lc:{{padleft:|4|{{#titleparts:{{{1|}}}|1|1}}}}}}|www.<!--
-->|{{Str right|{{#titleparts:{{{1|}}}|1|1}}|4}}<!--
-->|{{Str right|{{#titleparts:{{{1|}}}|1|1}}|4}}<!--
-->|{{#titleparts:{{{1|}}}|1|1}}<!--
-->|{{#titleparts:{{{1|}}}|1|1}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{#titleparts:{{{1|}}}||2}}<!-- rest of the ressource path
-->|/{{#titleparts:{{{1|}}}||2}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{#titleparts:{{{1|}}}||2}}<!-- rest of the ressource path
-->|/{{#titleparts:{{{1|}}}||2}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->}}<!--

Revision as of 19:43, 10 October 2010