Difference between revisions of "Template:If pagename"
From Geohashing
(Fixing matching order for "/something" and "/some*".) |
(Using the parameter pipe-trick instead of #ifeq, to detect defined parameters. Much more efficient, and shorter and clearer code. Then it needs the surrounding whitespace stripping.) |
||
Line 1: | Line 1: | ||
− | <!--Check for match with full pagename | + | {{#if:x <!--Remove surrounding whitespace--> |
− | --> | + | | <!--Check for match with full pagename--> |
− | + | {{{ {{#if:{{{page|}}}| {{{page|}}} | {{FULLPAGENAME}} }} <!--Has data, or is empty but defined--> | |
− | | <!--Else, are we on a subpage or a basepage?--> | + | | <!--Else, are we on a subpage or a basepage?--> |
− | + | {{#if:{{#titleparts:{{#if:{{{page|}}}| {{{page|}}} | {{FULLPAGENAME}} }}|0|2}} | |
− | + | | <!--We are on a subpage, check for match with "User:Somepage/"--> | |
− | + | {{{ {{#titleparts:{{#if:{{{page|}}}| {{{page|}}} | {{FULLPAGENAME}} }}|1|1}}/ | |
− | + | | <!--Check for match with "Somepage/"--> | |
− | + | {{{ {{#titleparts:{{#if:{{{page|}}}| {{PAGENAME:{{{page|}}}}} | {{PAGENAME}} }}|1|1}}/ | |
− | + | | <!--Check for match with "/something"--> | |
− | + | {{{ /{{#titleparts:{{#if:{{{page|}}}| {{{page|}}} | {{FULLPAGENAME}} }}|0|-1}} | |
− | + | | <!--Check for match with "/some*"--> | |
− | + | {{{ /{{lc: {{padleft:|4| {{#titleparts:{{#if:{{{page|}}}| {{{page|}}} | {{FULLPAGENAME}} }}|0|-1}} }} }}* | |
− | + | | {{{subpage| {{{other|}}} }}} <!--Respecting empty parameter on purpose--> | |
− | + | }}} | |
− | + | }}} | |
− | + | }}} | |
− | + | }}} | |
− | }} | + | | <!--We are on a basepage, check for match with "Somepage"--> |
− | }} | + | {{{ {{#if:{{{page|}}}| {{PAGENAME:{{{page|}}}}} | {{PAGENAME}} }} |
− | }} | + | | {{{basepage| {{{other|}}} }}} <!--Respecting empty parameter on purpose--> |
− | + | }}} | |
− | + | }} <!--End if, are we on a subpage or a basepage?--> | |
− | + | }}} | |
− | |||
− | |||
− | |||
− | |||
}}<noinclude> | }}<noinclude> | ||