Difference between revisions of "Template:URL"
		
		
		
		
		
		
		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|}}}  | 
| − | + |             -->{{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}}<!--  | ||
             -->}}<!--  |              -->}}<!--  | ||
          -->}}<!--  |           -->}}<!--  | ||