Template:URL: Difference between revisions
From Zoophilia Wiki
Jump to navigationJump to search
meta>Verdy p 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 |
meta>Verdy p 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:/=<!-- | -->|ftp:/=<!-- an FTP URL is a valid URI scheme and MUST NOT imply a default "http://" (as generated in the #default case) | ||
-->[{{#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:{{lc:{{padleft:|4|{{#titleparts:{{{1|}}}|1|3}}}}}}|www.<!-- | |||
-->|{{Str right|{{#titleparts:{{{1|}}}|1|3}}|4}}<!-- | |||
-->|{{#titleparts:{{{1|}}}||3}}<!-- | |||
-->}}<!-- | -->}}<!-- | ||
-->}}<!-- | |||
-->{{#if:{{#titleparts:{{{1|}}}||4}}<!-- rest of the ressource path | |||
-->|/{{#titleparts:{{{1|}}}||4}}<!-- | |||
-->}}<!-- | -->}}<!-- | ||
-->}}<!-- | -->}}<!-- | ||
-->]<!-- | -->]<!-- | ||
-->|#default=<!-- | -->|#default=<!-- Warning! this case implies a default "http://" URI scheme, and should NOT occur if there's another accepted URI scheme in the URL | ||
-->[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:{{lc:{{padleft:|4|{{#titleparts:{{{1|}}}|1|1}}}}}}|www.<!-- | |||
-->|{{Str right|{{#titleparts:{{{1|}}}|1|1}}|4}}<!-- | |||
-->|{{#titleparts:{{{1|}}}|1|1}}<!-- | |||
-->}}<!-- | -->}}<!-- | ||
-->}}<!-- | |||
-->{{#if:{{#titleparts:{{{1|}}}||2}}<!-- rest of the ressource path | |||
-->|/{{#titleparts:{{{1|}}}||2}}<!-- | |||
-->}}<!-- | -->}}<!-- | ||
-->}}<!-- | -->}}<!-- |