Template:Category handler: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
(More efficient code for the "category" parameter. No change in functionality.)
(Blacklist check moved outside {{/numbered}}. Added "basic usage check", so parameter 1 can behave normally when advanced usage. Added the evil "all" parameter that categorizes in all namespaces.)
Line 10: Line 10:


| <!--Don't categorise (result was "dontcat" or "dontcatdontcat" and so on)-->
| <!--Don't categorise (result was "dontcat" or "dontcatdontcat" and so on)-->
| <!--Check blacklist-->
| <!--If "data" is a number, return the corresponding
{{#switch:
numbered parameter, else return "data"-->
{{#ifeq: {{lc: {{{nocat|}}} }} | false
{{cat handler/numbered
| <!--"nocat=false", skip blacklist check-->
| 1 = {{{1|}}}
| 2 = {{{2|}}}
| {{#ifeq: {{lc: {{{categories|}}} }} | yes
| <!--"categories=yes", skip blacklist check-->
| 3 = {{{3|}}}
| 4 = {{{4|}}}
| {{#ifeq: {{lc: {{{category|}}} }} | yes
| <!--"category=yes", skip blacklist check-->
| 5 = {{{5|}}}
| {{cat handler/blacklist| page = {{{page|}}} }} <!--Check blacklist-->
| 6 = {{{6|}}}
| 7 = {{{7|}}}
| 8 = {{{8|}}}
| 9 = {{{9|}}}
| 10 = {{{10|}}}
| data =
{{#switch:
{{#ifeq: {{lc: {{{nocat|}}} }} | false
| <!--"nocat=false", skip blacklist check-->
| {{#ifeq: {{lc: {{{categories|}}} }} | yes
| <!--"categories=yes", skip blacklist check-->
| {{#ifeq: {{lc: {{{category|}}} }} | yes
| <!--"category=yes", skip blacklist check-->
| {{cat handler/blacklist| page = {{{page|}}} }} <!--Check blacklist-->
}}
}}
}}
}}
}}
}}
| hide = <!--Blacklist returned "hide", don't categorize-->
| hide = <!--Blacklist returned "hide", don't categorize-->
| #default =
| #default =
<!--Check what namespace, and return the data for it-->
<!--Respecting empty parameters on purpose-->
<!--Check if any namespace parameter is defined-->
{{#ifeq: h0#384!5nea+w9 | {{{all| {{{main| {{{talk| {{{user| {{{wikipedia| {{{file| {{{mediawiki| {{{template| {{{help| {{{category| {{{portal| {{{other| h0#384!5nea+w9 }}} }}} }}} }}} }}} }}} }}} }}} }}} }}} }}} }}}
| <!--No namespace parameters fed, basic usage-->
{{namespace detect
{{namespace detect
| main = {{{main| {{{other| 1 }}} }}}
| main = {{{1|}}}
| talk = {{{talk| {{{other|}}} }}}
| file = {{{1|}}}
| user = {{{user| {{{other|}}} }}}
| help = {{{1|}}}
| wikipedia = {{{wikipedia| {{{project| {{{other|}}} }}} }}}
| category = {{{1|}}}
| file = {{{file| {{{image| {{{other| 1 }}} }}} }}}
| portal = {{{1|}}}
| mediawiki = {{{mediawiki| {{{other|}}} }}}
| template = {{{template| {{{other|}}} }}}
| help = {{{help| {{{other| 1 }}} }}}
| category = {{{category| {{{other| 1 }}} }}}
| portal = {{{portal| {{{other| 1 }}} }}}
| other = {{{other|}}} <!--Namespace special or a new namespace-->
| page = {{{page|}}} <!--For testing and demonstration-->
| page = {{{page|}}} <!--For testing and demonstration-->
}}
| <!--Namespace parameters fed, advanced usage.
If "data" is a number, return the corresponding
numbered parameter, else return "data". -->
{{{all|}}}{{cat handler/numbered
| 1 = {{{1|}}}
| 2 = {{{2|}}}
| 3 = {{{3|}}}
| 4 = {{{4|}}}
| 5 = {{{5|}}}
| 6 = {{{6|}}}
| 7 = {{{7|}}}
| 8 = {{{8|}}}
| 9 = {{{9|}}}
| 10 = {{{10|}}}
| data =
<!--Check what namespace, and return the data for it.
Respecting empty parameters on purpose. -->
{{namespace detect
| main = {{{main| {{{other|}}} }}}
| talk = {{{talk| {{{other|}}} }}}
| user = {{{user| {{{other|}}} }}}
| wikipedia = {{{wikipedia| {{{project| {{{other|}}} }}} }}}
| file = {{{file| {{{image| {{{other|}}} }}} }}}
| mediawiki = {{{mediawiki| {{{other|}}} }}}
| template = {{{template| {{{other|}}} }}}
| help = {{{help| {{{other|}}} }}}
| category = {{{category| {{{other|}}} }}}
| portal = {{{portal| {{{other|}}} }}}
| other = {{{other|}}} <!--Namespace special or a new namespace-->
| page = {{{page|}}} <!--For testing and demonstration-->
}}
}}
}}
}}
}}