Difference between revisions of "Template:URL"

From annadreambrush.com/wiki
Jump to navigation Jump to search
imported>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)
imported>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|}}}
            -->{{#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
              -->{{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=<!--
+
       -->|#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|}}}
            -->{{#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
              -->{{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 01:43, 11 October 2010

Template documentation[create]