Changes

Jump to: navigation, search

Template:Card query

18,445 bytes added, 4 months ago
support Cross Duel monsters sometimes having both Level and Rank
<templatestyles src="Template:Card query/styles.css" />
<!-- the actual query the user wants - at the top so we can do fun stuff auto-determining the needed medium/type
-->{{ #vardefine: $query_query cq_query | {{ #invoke: string | replace | {{{1|}}}|%s*::%s*|::|plain=false}}<!-- strip whitespace around :: -->}}{{ #vardefine: $query_query_lc cq_query_lc | {{ lc: {{ #var: $query_query cq_query }} }}}}{{ #arraydefinevardefine: @check_query $cq_query_normalized | {{ #replace: {{ #var: $query_query_lc cq_query_lc }} | <nowiki/> string:: | :: }}}}{{ #vardefine: $query_medium cq_query_normalized | {{ #invoke: string | replace |{{ #var: $cq_query_normalized }}|::([<>≤≥!+])|::^%1|plain=false}}<!-- fold comparators for easier matching -->}}{{ #vardefine: $cq_query_normalized | {{ #invoke: string | replace |{{ #var: $cq_query_normalized }}|::([^{{!}}%[%]]+){{!}}{{!}}|::^%1{{!}}{{!}}|plain=false}}<!-- detect || alternation -->}}{{ #vardefine: $cq_medium | {{ #switch: {{ #replace: {{ #replace: {{ #replace: {{ #replace: {{ lc: {{{medium}}} }} }} | - }} | ! }} | yugioh }}
| ocg | tcg | ocg/tcg | tcg/ocg | official = official
| ocgonly = ocg-only | tcgonly = tcg-only | rushduel = rush duel | anime = anime | animeonly = anime-only | manga = manga | mangaonly = manga-only | vg | videogame = {{ #if: {{ #pos: {{ #var: $cq_query_lc }} | release:: }} || vg}}
| vgonly | videogameonly = vg-only
| dl | duellinks = duel links | nonofficial = non-official | #default = {{ #if: {{{medium|}}} | {{ #vardefine: $query_medium_unknown cq_medium_unknown | 1 }} }}
}}
}}<!-- also update the properties on [[Template:Card list]] when updating these -->{{ #vardefine: $query_medium_query cq_medium_query | {{ #switch: {{ #var: $query_medium cq_medium }} | official = [[Class 1Concept::OfficialCG cards]] | ocg-only = [[Medium::OCG-only]] | tcg-only = [[Medium::TCG-only]] | rush duel = [[Concept:Rush Duel cards]] | anime = [[Medium:Concept:Animecards]] | anime-only = [[Category:Anime cards with no OCG/TCG counterpart]] | manga = [[Medium:Concept:Mangacards]] | manga-only = [[Category:Manga cards with no OCG/TCG counterpart]] | vg = <q>[[Medium:Concept:Video gamecards]] OR [[Class 4::VG]]</q> | vg-only = [[Category:Video game cards with no OCG/TCG counterpart]] | duel links = [[Concept:Duel Links cards]] | non-official = <q>[[Medium:Concept:Animecards]] OR [[Medium:Concept:Mangacards]] OR [[Medium:Concept:Video game]] OR [[Class 4::VGcards]]</q>
}}
}}{{ #vardefine: $query_query_mediumcq_query_medium
| {{ #if:
{{ #pos: {{ #var: $query_query_lc cq_query_lc }} | official }} {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | ::ocg }} {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | ::tcg }} {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | {{!!}}ocg }} {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | {{!!}}tcg }}
| official
| {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | anime }} | {{ #if: {{ #pos: {{ #var: $cq_query }} | Fairy Tale (anime) }} || anime }} | {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | manga }}
| manga
| {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | video game }} {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | ::vg }}
| vg
}}
}}
}}
}}{{ #if: {{ #var: $query_query_medium }} | {{ #vardefine: $query_medium_query }}}}{{ #vardefine: $query_card_type cq_card_type | {{ #switch: {{ #replace: {{ #replace: {{ #replace: {{ lc: {{{type}}} }} }} | cards }} | card }} | monster = monster | spell = spell | trap = trap
| speedspell = speed spell
| virus skill = virusskill | ??? = ??? | character = character | equip = equip | illusion = illusion | legendarydragon = legendary dragon | ritual = ritual | slotmachinepowerunit = slot machine power unit | trapmonster = trap monster
| trap-spell | trapspell | spell-trap | spelltrap = trap spell
| trap-equip | trapequip virus = trap-equip | ??? = ???virus
| spell/trap | s/t | nonmonster | non-monster = non-monster
| tip playable = playable | unplayable = unplayable | nongame = non-game | command = command | checklist = checklist | faq = faq | rule = tiprule | strategy = strategy | faq ticket = ticket | tip = tip | all | any = faqany | #default = {{ #if: {{{type|}}} | {{ #vardefine: $query_card_type_unknown cq_card_type_unknown | 1 }} }} }}}}{{ #if: {{ #var: $cq_medium }} | {{ #if: {{ #var: $cq_card_type }} | {{ #switch: {{ #var: $cq_medium }}, {{ #var: $cq_card_type }} | official, monster | official, spell | official, trap | official, non-monster | duel links, monster | duel links, non-monster | rush duel, monster | rush duel, non-monster | anime, monster | anime, non-monster | manga, monster | manga, non-monster = <!-- already covered by concepts --> | #default = [[((Card query)) medium and type value::{{ #var: $cq_medium }}, {{ #var: $cq_card_type }}| ]] }} }}}}{{ #vardefine: $cq_card_type | {{ #var: $cq_card_type | {{ #vardefine: $cq_monster_count | {{ #ask: {{ #var: $cq_medium_query }}{{ #var: $cq_query }}[[Card type::Monster Card]] | format=count }} }}{{ #vardefine: $cq_nonmonster_count | {{ #ask: {{ #var: $cq_medium_query }}{{ #var: $cq_query }}[[Concept:Non-monster cards]] | format=count }} }}{{ #vardefine: $cq_spell_count | {{ #ask: {{ #var: $cq_medium_query }}{{ #var: $cq_query }}[[Card type::Spell Card]] | format=count }} }}{{ #vardefine: $cq_trap_count | {{ #ask: {{ #var: $cq_medium_query }}{{ #var: $cq_query }}[[Card type::Trap Card]] | format=count }} }}{{ #switch: {{ #ifexpr: {{ #var: $cq_monster_count }} > 0 | 1 | 0 }}/{{ #ifexpr: {{ #var: $cq_spell_count }} > 0 | 1 | 0 }}/{{ #ifexpr: {{ #var: $cq_trap_count }} > 0 | 1 | 0 }}/{{ #ifexpr: {{ #var: $cq_nonmonster_count }} > 0 | 1 | 0 }} <!-- monster/nonmonster/spell/trap --> | 0/0/0/0 | 0/0/1/1 | 0/1/1/1 = non-monster<!-- maybe split out the no spell/trap case later to allow auto-determination of other stuff --> | 1/0/0/0 = monster | 0/0/1/0 | 0/1/1/0 = {{ #ifexpr: {{ #var: $cq_nonmonster_count }} = {{ #var: $cq_spell_count }} | spell | non-monster }} | 0/0/0/1 | 0/1/0/1 = {{ #ifexpr: {{ #var: $cq_nonmonster_count }} = {{ #var: $cq_trap_count }} | trap | non-monster }} | #default = monster<!-- if you get here you need to specify {{{type}}}; maybe one day {{Card query}} will have better handling for mixed-type lists --> }}
}}
}}{{ #vardefine: $query_card_type_query cq_card_type_query | {{ #switch: {{ #var: $query_card_type cq_card_type }}
| monster = [[Card type::Monster Card]]
| spell = [[Card type::Spell Card]]
| trap = [[Card type::Trap Card]]
| speed spell = [[Card type::Speed Spell Card]]
| virus skill = <q>[[Card type::Virus Skill Card]] OR [[Page type::Skill page]]</q> | ??? = [[Card type::???]] | character = [[Card type::Character Card]]
| equip = [[Card type::Equip Card]]
| illusion = [[Card type::Illusion Card]]
| legendary dragon = [[Card type::Legendary Dragon]]
| ritual = [[Card type::Ritual Card]]
| slot machine power unit = [[Card type::Slot Machine Power Unit]]
| trap monster = [[Card type::Trap Monster Card]]
| trap spell = [[Card type::Trap Spell Card]]
| trap-equip virus = [[Card type::Trap-Equip Virus Card]] | ??? = [[Card type::???]]
| non-monster = [[Concept:Non-monster cards]]
| playable = [[Concept:Playable cards]]
| unplayable = [[Concept:Unplayable cards]]
| non-game = [[Card type::Non-game card]]
| command = [[Card type::Command Card]]
| checklist = [[Card type::Checklist Card]]
| faq = [[Card type::FAQ card]]
| rule = [[Card type::Rule Card]]
| strategy = [[Card type::Strategy Card]]
| ticket = [[Card type::Ticket Card]]
| tip = [[Card type::Tip Card]]
| strategy = [[Card type::Strategy Card]]
| faq = [[Card type::FAQ Card]]
}}
}}{{ #vardefine: $query_card_type cq_concept_query | {{ #var: $query_card_type | {{ #if: {{ #posswitch: {{ #var: $query_query_lc cq_medium }} | monster }} {{ #pos: /{{ #var: $query_query_lc cq_card_type }} | primary typeofficial/monster = [[Concept:: }}CG monsters]] {{ #pos: {{ #var: $query_query_lc }} | secondary typeofficial/spell = [[Concept:: }}CG Spell Cards]] {{ #pos: {{ #var: $query_query_lc }} | attributeofficial/trap = [[Concept:: }}CG Trap Cards]] {{ #pos: {{ #var: $query_query_lc }} | {{!((}}typeofficial/non-monster = [[Concept:: }}CG non-monster cards]] {{ #pos: {{ #var: $query_query_lc }} | level:: }}duel links/monster {{ #pos: {{ #var= [[Concept: $query_query_lc }} | rank:: }}Duel Links monsters]] {{ #pos: {{ #var: $query_query_lc }} | starsduel links/non-monster = [[Concept:: }}Duel Links non-monsters]] {{ #pos: {{ #var: $query_query_lc }} | pendulum scalerush duel/monster = [[Concept:: }}Rush Duel monsters]] {{ #pos: {{ #var: $query_query_lc }} | link arrowsrush duel/non-monster = [[Concept:: }}Rush Duel non-monsters]] {{ #pos: {{ #var: $query_query_lc }} | {{!((}}atk }} {{ #pos: {{ #varanime/monster = [[Concept: $query_query_lc }} | {{!((}}?atk }}Anime monsters]] {{ #pos: {{ #var: $query_query_lc }} | {{!((}}def }} {{ #posanime/non-monster = [[Concept: {{ #var: $query_query_lc }} | {{!((}}?def }}Anime non-monsters]] {{ #pos: {{ #var: $query_query_lc }} | link ratingmanga/monster = [[Concept:: }}Manga monsters]] | monster }}<!-- might need something for Spellmanga/Trap Monsters non-monster = [[Concept:Manga non->monsters]]
}}
}}{{ #vardefine: $cq_full_query | {{ #var: $cq_concept_query | {{ #var: $cq_medium_query }}{{ #var: $cq_card_type_query }} }}{{ #var: $cq_query }}
}}<!--
of course, if it allowed using {{!}} for pipes (as it should), this could be simplified further...
-->{{ #ifeq: {{ #var: $cq_card_type }} | skill| {{ #vardefine: $cq_col_character | ?Character }}| {{ #vardefine: $query_col_card_type cq_col_japanese_name | ?Japanese name }}{{ #vardefine: $cq_col_card_type | {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | {{!((}}card type:: }} || ?Card type = }} }}}}{{ #ifeq: {{ #var: $query_card_type cq_card_type }} | monster| {{ #vardefine: $query_col_primary_type cq_col_primary_type | ?Primary type }}{{ #vardefine: $cq_col_secondary_type | {{ #ifeq: {{ #ask: {{ #var: $cq_full_query }} [[Secondary type::+]] | format=count }} | 0 || {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | {{!((}}primary secondary type:: }} | {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_normalized }} | {{!((}}secondary type::^ }} | pendulum monster ?Secondary type | {{ #ifeq: {{{extra_column}}} | Secondary type | ?Primary Secondary type }} }} | ?Primary Secondary type }} }} }}{{ #vardefine: $query_col_secondary_type cq_col_attribute | {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | {{!((}}secondary typeattribute:: }} || ?Secondary type }} }}{{ #vardefine: $query_col_attribute | {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_normalized }} | {{!((}}attribute:: ^ }} |?Attribute = [[Attribute]] }} | ?Attribute = [[Attribute]] }} }}{{ #vardefine: $query_col_type cq_col_type | {{ #if: {{ #pos: {{ #var: $cq_query_lc }} | {{!((}}type:: }} | {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_normalized }} | {{!((}}type:: ^ }} |?Type = [[Type]] }} | ?Type = [[Type]] }}
}}<!--
* if the query doesn't do anything special regarding Level, Rank, monster (sub)type, or medium, display "Level/Rank"* if the query searches for Rush Duel cards, display "Level"* if the query searches for a Link Monster (via [[Primary type::Link Monster]], [[Link Arrows::...]], or [[Link Rating::...]]), hide the column* if the query searches for Xyz Monsters (via [[Primary type::Xyz Monster]] or [[Rank::...]]/[[Rank string::...]]), display "Rank"* if the query searches for a specific Level/Rank value (e.g. [[Level::7]] or [[Rank string::?]]), hide the column* if the query searches for a nonspecific Level (e.g. [[Level::>4]]), show the column and display "Level"* if the query searches for a nonspecific Rank (e.g. [[Rank::>4]]), show the column and display "Rank"-->{{ #vardefine: $query_col_level_rank_flags cq_level_in_results | {{ #ififeq: {{ #posask: {{ #var: $query_query_lc cq_full_query }} | level[[Level string:: +]] | format=count }} | 0 || 1 | 0 }}}}{{ #ifvardefine: $cq_rank_in_results | {{ #ifeq: {{ #posask: {{ #var: $query_query_lc cq_full_query }} | rank[[Rank string:: +]] | format=count }} | 0 || 1 | 0 }}}}<!--{{ #vardefine: $cq_link_in_results | {{ #ifeq: {{ #ask: {{ #var: $query_col_level_rank_flags cq_full_query }} [[Link Rating::+]] | format=count }} | 00 0 | {{ #vardefine: $query_col_level_rank_flags | 11 1 }}}}-->{{ #vardefine: $query_col_starscq_col_level/rank/link_label | {{ #ififexpr: {{ #arraysearchvar: @check_query $cq_level_in_results | /(\0 }} + {{!((#var: $cq_rank_in_results | 0 }}\??(stars+ {{!#var: $cq_link_in_results | 0 }}level> 1 | {{ #if: {{!#var: $cq_level_in_results }} | [[Level]]/<br /> }}rank){{!#if: {{ #var: $cq_rank_in_results }}link (arrow | [[Rank]]{{!}}monster#if: {{!#var: $cq_link_in_results }}rating))| /<br / > }} | }}{{ #if: {{ #arraysearchvar: @check_query $cq_link_in_results }} | /(stars[[Link Rating|Link]] }} | {{ #if: {{!#var: $cq_level_in_results }}level | {{!}}rank)#if:{{ #pos:(<{{!#var: $cq_query_normalized }}>{{!| level:: }}\d\d?\ {{!}}\#pos: {{!#var: $cq_query_normalized }}\d)/ | stars:: }} | ?Stars string = {{ #if: {{ #arraysearchpos: @check_query {{ #var: $cq_query_normalized }} | /(xyz( pendulum)? monster)/ level::^ }} | | {{ #ifeqpos: {{ #var: $query_col_level_rank_flags cq_query_normalized }} | 10 stars::^ }} | [[Level]] }} | [[Level]] }} }}{{ #ifeqif: {{ #var: $query_col_level_rank_flags cq_rank_in_results }} | 11 {{ #if: {{ #pos: {{ #var: $cq_query_normalized }} | [[Level]]/<br /> rank:: }} {{ #pos: {{ #var: $cq_query_normalized }} | stars:: }} | {{ #if: {{ #pos: {{ #var: $cq_query_normalized }} | rank::^ }} {{ #switchpos: {{ #var: $query_col_level_rank_flags cq_query_normalized }} | 01 stars::^ }} | 11 = [[Rank]] }} | [[Rank]] }} | ?Stars string = }}{{ #if: {{ #arraysearchvar: @check_query | /(xyz( pendulum)? monster)/ $cq_link_in_results }} | | {{ #ifeqif: {{ #pos: {{ #var: $query_col_level_rank_flags cq_query_normalized }} | 10 | [[Level]] | link rating:: }} {{ #ifeqpos: {{ #var: $query_col_level_rank_flags cq_query_normalized }} | 11 stars:: }} | [[Level]]/<br /> {{ #if: {{ #pos: {{ #var: $cq_query_normalized }} | link rating::^ }} }} {{ #switchpos: {{ #var: $query_col_level_rank_flags cq_query_normalized }} | 01 stars::^ }} | 11 = [[RankLink Rating|Link]] }}
}}
| [[Link Rating|Link]] }} }} }}}}<!--I'm sure I'll pay for this eventually-->{{ #ifeq: {{{medium}}} | Cross Duel | {{ #if: {{ #var: $cq_level_in_results }} | {{ #vardefine: $cq_col_level | ?Level string = [[Level]] }} }}{{ #if: {{ #var: $cq_rank_in_results }} | {{ #vardefine: $cq_col_rank | ?Rank string = [[Rank]] }} }} | {{ #vardefine: $query_col_scale cq_col_level/rank/link | {{ #if: {{ #posvar: $cq_col_level/rank/link_label }} | ?Stars string = {{ #var: $cq_col_level/rank/link_label }} }} }}}}<!---->{{ #vardefine: $cq_col_scale | {{ #ifeq: {{ #ask: {{ #var: $query_query_lc cq_full_query }} [[Pendulum Scale::+]] | pendulum monster format=count }} | 0 || ?Pendulum Scale = [[Pendulum Scale|Scale]] }} }}{{ #vardefine: $query_col_atk cq_equal_atkdef | {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query }} | Equal ATK and DEF }} | {{#if: {{ #pos: {{ #var: $cq_query }} | !((Equal ATK and DEF }} || 1 }} }}atk }}{{ #vardefine: $cq_col_atk | {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_normalized }} | {{!((}}?atk }} | {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_normalized }} | atk::! ^ }}{{ #pos: {{ #var: $query_query_lc cq_query_normalized }} | atk::< {{!((}}def }} | ?ATK string = [[ATK]]{{ #posif: {{ #var: $query_query_lc cq_equal_atkdef }} | atk::/<br /> }} | ?ATK string = [[ATKDEF]]}}
}}
| ?ATK string = [[ATK]] }} }}{{ #if: {{ #arraysearchvar: @check_query $cq_equal_atkdef }} | /(link (arrow{{!<br />[[DEF]] }}monster{{! }}rating))/ }} | {{ #vardefineifeq: {{ #ask: {{ #var: $query_col_link_rating | ?Link Rating = cq_full_query }} [[LINKDEF string::+]] | format=count }}| 0 || {{ #vardefine: $query_col_def cq_col_def | {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_normalized }} | {{!((}}def }}{{ #pos: {{ #var: $query_query_lc }} | {{!((}}?def }} | {{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_normalized }} | def::! ^ }}{{ #pos: {{ #var: $query_query_lc cq_query_normalized }} | def::< {{!((}}atk }} | {{ #posif: {{ #var: $query_query_lc cq_equal_atkdef }} | def::> }} | ?DEF string = [[DEF]]}}
}}
| {{ #if: {{ #var: $cq_equal_atkdef }} || ?DEF string = [[DEF]]}}
}} }}
}}{{ #vardefine: $cq_col_link_rating | {{ #ifeq: {{ #ask: {{ #var: $cq_full_query }} [[Link Rating::+]] | format=count }} | 0
|| {{ #if: {{ #pos: {{ #var: $cq_query_lc }} | {{!((}}link rating:: }} | {{ #if: {{ #pos: {{ #var: $cq_query_normalized }} | {{!((}}link rating::^ }} | ?Link Rating = [[Link Rating|Link]] }} | ?Link Rating = [[Link Rating|Link]] }}
}}
}}{{ #vardefine: $cq_col_maximum_atk | {{ #ifeq: {{ #var: $cq_medium }} | rush duel | {{ #ifeq: {{ #ask: {{ #var: $cq_full_query }} [[MAXIMUM ATK::+]] | format=count }} | 0
|| {{ #if: {{ #pos: {{ #var: $cq_query_lc }} | {{!((}}maximum atk:: }} | {{ #if: {{ #pos: {{ #var: $cq_query_normalized }} | {{!((}}maximum atk::^ }} | ?MAXIMUM ATK#- = [[MAXIMUM ATK]] }} | ?MAXIMUM ATK#- = [[MAXIMUM ATK]] }}
}}
}}
}}
| {{ #vardefine: $query_col_card_type_st cq_col_property | {{ #if: {{ #pos: {{ #var: $query_col_card_type cq_query_lc }} | {{!((}}property:: }} | {{ #switchif: {{ #pos: {{ #var: $query_card_type cq_query_normalized }} | non-monster {{!((}}property::^ }} | <!-- empty --> ?Property = [[Property]] | {{ #varifeq: $query_col_card_type {{{extra_column}}} | Property | ?Property = [[Card typeProperty]] }} }} | ?Property = [[Property]] }} }}{{ #vardefineifeq: {{ #var: $query_col_property cq_card_type }} | skill || {{ #ifvardefine: $cq_col_card_type_st | {{ #posif: {{ #var: $query_query_lc cq_col_card_type }} | {{!((}}property#switch:{{ #var: $cq_card_type }} |non-monster | playable | unplayable | ?Property <!-- empty --> = {{ #var: $cq_col_card_type }} [[PropertyCard type]] }} }} }}{{ #vardefine: $query_col_card_type_st cq_col_card_type_st | {{ #if: {{ #var: $query_col_property cq_col_property }} | {{ #var: $query_col_card_type_st cq_col_card_type_st }} }} }}
}}
}}{{ #vardefine: $query_col_extra cq_col_extra | {{ #if: {{{extra_column|}}} | {{ #switch: {{{extra_column}}} | Secondary type | Property = | #default= ?{{{extra_column}}} }} }}}}{{ #vardefine: $cq_col_extra_2 | {{ #if: {{{extra_labelextra_column2|}}} | = ?{{{extra_label}}extra_column2} }} }}
}}<!--
some other stuff
-->{{ #vardefine: $query_limit cq_limit | {{ #if: {{{limit|}}} | {{ #iferror: {{ #expr: {{{limit}}} }} || {{{limit}}} }} }}}}{{ #vardefine: $query_sort cq_limit | {{ #ifexpr: {{sort#var: $cq_limit | 50 }} > 500 | 500 |{{ #var: $cq_limit | 50 }}}}<!-- $smwgQMaxInlineLimit = 500 -->}}{{ #vardefine: $query_order cq_sort | {{{ordersort|#}}}{{ #if: {{{sort|}}}| {{ #vardefineif: $query_count | {{ #explodepos: {{ {sort}}} | # }} || ,#ask: }} }}}}{{ #varvardefine: $query_medium_query cq_order | {{{order|}}}}}{{ #varvardefine: $query_card_type_query }}cq_count | {{ #explode: {{ #ask: {{ #var: $query_query cq_full_query }} | format=count }} | < }}}}{{ #vardefine: $cq_default | {{{default|}}}
}}<!--
we finally get to the actual query
-->{{ #ask: {{ #var: $query_medium_query cq_full_query }} |{{ #if: {{ #var: $cq_query_medium | {{ #var: $query_card_type_query cq_medium }} }}{{ #pos: {{ #var: $query_query cq_query_lc }} | release:: }} |{{ #ififeq: {{ #var: $query_query_medium cq_query_medium | {{ #var: $query_medium cq_medium }} }} | vg || ?English name (linked) = Name }} }} |{{ #var: $cq_col_japanese_name }} |{{ #var: $cq_col_character }} |{{ #var: $cq_col_primary_type }} |{{ #var: $cq_col_secondary_type }} |{{ #var: $cq_col_attribute }} |?Japanese name{{ #var: $cq_col_card_type_st }} |{{ #var: $query_col_primary_type cq_col_type }} |{{ #var: $query_col_secondary_type cq_col_level/rank/link }} |{{ #var: $query_col_attribute cq_col_level }} |{{ #var: $query_col_card_type_st cq_col_rank }} |{{ #var: $query_col_type cq_col_scale }} |{{ #var: $query_col_stars cq_col_atk }} |{{ #var: $query_col_scale cq_col_def }} |{{ #var: $query_col_atk cq_col_link_rating }} |{{ #var: $query_col_def cq_col_maximum_atk }} |{{ #var: $query_col_link_rating cq_col_property }} |{{ #var: $query_col_property cq_col_extra }} |{{ #var: $query_col_extra cq_col_extra_2 }} | {{ #if: {{ #var: $query_query_medium cq_query_medium | {{ #var: $cq_medium }} }}{{ #pos: {{ #var: $cq_query_lc }} | release:: }} | {{ #ifeq: {{ #var: $cq_query_medium | {{ #var: $query_medium cq_medium }} }} | vg || mainlabel = - }} | mainlabel = Name }}
| headers = plain
| class = sortable wikitable smwtable card-listcard-query-main | {{ #if: {{ #var: $query_limit cq_limit }} | limit = {{ #var: $query_limit cq_limit }} }} | {{ #if: {{ #var: $query_sort cq_sort }} | sort = {{ #var: $query_sort cq_sort }} }} | {{ #if: {{ #var: $query_order cq_order }} | order = {{ #var: $query_order cq_order }} }} | searchlabel = ... further results ({{ #exprif: {{ #var: $query_count cq_default }} - | default = {{ #var: $query_limit | 50 cq_default }} }} more) | searchlabel = <!-- nothing -->
| {{ #if: {{{debug<includeonly>|</includeonly>}}} | format = debug }}
}}{{ #ifeq: {{ #var: $cq_count }} | 0 || <!--
 
footer table - currently only has results count + links to see more results
 
-->{{ #vardefine: $cq_further_results_url | https://yugipedia.com/wiki/Special:Ask<!-- unfortunately we can't use {{fullurl:}} because we're generating only part of the URL here
-->?q={{ urlencode: {{ #var: $cq_full_query }} }}<!--
-->&p={{ urlencode: mainlabel={{ #if: {{ #var: $cq_query_medium | {{ #var: $cq_medium }} }}{{ #pos: {{ #var: $cq_query_lc }} | release:: }} | {{ #ifeq: {{ #var: $cq_query_medium | {{ #var: $cq_medium }} }} | vg | Name | -2D }} | Name }} }}<!--
-->&po={{ urlencode: {{ #if: {{ #var: $cq_query_medium | {{ #var: $cq_medium }} }}{{ #pos: {{ #var: $cq_query_lc }} | release:: }} | {{ #ifeq: {{ #var: $cq_query_medium | {{ #var: $cq_medium }} }} | vg || ?English name (linked) = Name }} }}
{{ #var: $cq_col_japanese_name }}
{{ #var: $cq_col_character }}
{{ #var: $cq_col_primary_type }}
{{ #var: $cq_col_secondary_type }}
{{ #var: $cq_col_attribute }}
{{ #var: $cq_col_card_type_st }}
{{ #var: $cq_col_type }}
{{ #var: $cq_col_level/rank/link }}
{{ #var: $cq_col_level }}
{{ #var: $cq_col_rank }}
{{ #var: $cq_col_scale }}
{{ #var: $cq_col_atk }}
{{ #var: $cq_col_def }}
{{ #var: $cq_col_link_rating }}
{{ #var: $cq_col_maximum_atk }}
{{ #var: $cq_col_property }}
{{ #var: $cq_col_extra }}
{{ #var: $cq_col_extra_2 }} }}<!--
-->&format=broadtable<!--
-->&headers=plain<!--
-->&class={{ urlencode: sortable wikitable smwtable card-list }}<!--
-->{{ #if: {{ #var: $cq_sort }} | &sort={{ urlencode: {{ #var: $cq_sort }} }}&order={{ urlencode: {{ #var: $cq_order | asc }} }} }}
}}
<table class="wikitable smwtable plainlinks card-list card-query-more-links">
<tr><td>{{ #ifexpr: {{ #var: $cq_count }} < {{ #var: $cq_limit }} + 1
| {{ #ifeq: {{ #var: $cq_count }} | 1
| Showing the only result
| Showing all {{ #var: $cq_count }} results
}}
| Showing first {{ #var: $cq_limit }} results, of {{ #var: $cq_count }} total<!--
-->{{ #ifexpr: {{ #var: $cq_count }} > {{ #var: $cq_limit }} - 1
| &nbsp;&brvbar; [{{ #var: $cq_further_results_url }}&limit={{ #var: $cq_limit }}&offset={{ #var: $cq_limit }} <!--
-->{{ #ifexpr: {{ #var: $cq_count }} < {{ #var: $cq_limit }} * 2
| {{ #ifexpr: {{ #var: $cq_count }} - {{ #var: $cq_limit }} = 1
| Show remaining result
| Show remaining {{ #expr: {{ #var: $cq_count }} - {{ #var: $cq_limit }} }} results
}}
| Show next {{ #var: $cq_limit }} results
}}]
}}<!--
-->{{ #ifexpr: {{ #var: $cq_count }} > 20
| &nbsp;&brvbar; {{ #ifexpr: {{ #var: $cq_count }} < 50
| [{{ #var: $cq_further_results_url }}&limit=20 Show first 20 results]
| Show first &#91;[{{ #var: $cq_further_results_url }}&limit=20 20]&nbsp;&middot; [{{ #var: $cq_further_results_url }}&limit=50 50]<!--
-->{{ #ifexpr: {{ #var: $cq_count }} > 100 | &nbsp;&middot; [{{ #var: $cq_further_results_url }}&limit=100 100] }}<!--
-->{{ #ifexpr: {{ #var: $cq_count }} > 250 | &nbsp;&middot; [{{ #var: $cq_further_results_url }}&limit=250 250] }}<!--
-->{{ #ifexpr: {{ #var: $cq_count }} > 500 | &nbsp;&middot; [{{ #var: $cq_further_results_url }}&limit=500 500] }}<!--
-->&#93; results
}}
}}<!--
-->{{ #ifexpr: {{ #var: $cq_count }} < 501 | &nbsp;&brvbar; [{{ #var: $cq_further_results_url }}&limit=500 Show all {{ #var: $cq_count }} results] }} <!--
-->(all links open a new page)
}}
</td></tr>
</table>
}}<!--
-->{{ #if: {{{debug<includeonly>|</includeonly>}}} | <nowiki/>
* <code>#ask</code> query($cq_full_query): <code>{{ #tag: nowiki | {{ #var: $query_medium_query }}{{ #var: $query_card_type_query }}{{ #var: $query_query cq_full_query }} }}</code>* <abbr title="query entered">$query_querycq_query</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_query cq_query }} }}</code>* <abbr title="lowercased query entered">$query_query_lccq_query_lc</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_query_lc cq_query_lc }} }}</code>* <abbr title="normalized lowercased query entered">$cq_query_normalized<nowiki>{{{medium}}}</nowiki> entered">$query_medium</abbr/abbr>: <code>{{ #tag: nowiki | {{ #var: $query_medium cq_query_normalized }} }}</code>* <abbr title="processed $query_medium ready to use on the querynormalized <nowiki>{{{medium}}}</nowiki> entered">$query_medium_querycq_medium</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_medium_query cq_medium }} }}</code>* <abbr title="type of processed $cq_medium ready to use on the medium (if for cards, to enable/disable labels)"query">$query_query_mediumcq_medium_query</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_query_medium cq_medium_query }} }}</code>* <abbr title="normalized <nowiki>{{{type}}}</nowiki> enteredof the medium (if for cards, to enable/disable labels)">$query_card_typecq_query_medium</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_card_type cq_query_medium }} }}</code>* <abbr title="processed $query_card_type ready to use on the query">$query_card_type_querynormalized </abbrnowiki>: {{{type}}}</nowiki> entered">$cq_card_type</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_card_type_query cq_card_type }} }}</code>* <abbr title="enable/disable «?Card type» columnprocessed $cq_card_type ready to use on the query">$query_col_card_typecq_card_type_query</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_col_card_type cq_card_type_query }} }}</code>* <abbr title="concept used to reduce load for queries asking for monster cards, enable/disable «?Primary type» columncommon medium+card type combos">$query_col_primary_typecq_concept_query</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_col_primary_type cq_concept_query }} }}</code>* <abbr title="for determined number of monster cards, enable/disable «?Secondary type» column"results">$query_col_secondary_typecq_monster_count</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_col_secondary_type cq_monster_count }} }}</code>* <abbr title="for monster cards, enable/disable «?Attribute» columndetermined number of nonmonster results">$query_col_attributecq_nonmonster_count</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_col_attribute cq_nonmonster_count }} }}</code>* <abbr title="for monster cards, enable/disable «?Type» columndetermined number of Spell Card results">$query_col_typecq_spell_count</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_col_type cq_spell_count }} }}</code>* <abbr title="for monster cards, enable/disable «?Stars string» columndetermined number of Trap Card results">$query_col_starscq_trap_count</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_col_stars cq_trap_count }} }}</code>* <abbr title="for monster cards, enable/disable «?Pendulum Scale» Card type» column">$query_col_scalecq_col_card_type</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_col_scale cq_col_card_type }} }}</code>* <abbr title="for monster cards, enable/disable «?Link Rating» Character» column">$query_col_link_ratingcq_col_character</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_col_link_rating cq_col_character }} }}</code>* <abbr title="for monster cards, enable/disable «?ATK string» Japanese name» column">$query_col_atkcq_col_japanese_name</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_col_atk cq_col_japanese_name }} }}</code>* <abbr title="for monster cards, enable/disable «?DEF string» Primary type» column">$query_col_defcq_col_primary_type</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_col_def cq_col_primary_type }} }}</code>* <abbr title="for Spell/Trapsmonster cards, enable/disable «?Card Secondary type» column">$query_col_card_type_stcq_col_secondary_type</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_col_card_type_st cq_col_secondary_type }} }}</code>* <abbr title="for Spell/Trapsmonster cards, enable/disable «?Property» Attribute» column">$query_col_propertycq_col_attribute</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_col_property cq_col_attribute }} }}</code>* <abbr title="to add another for monster cards, enable/disable «?Type» column">$cq_col_type<code/abbr>: <nowikicode>{{{extra_column#tag: nowiki | {{ #var: $cq_col_type }}}}</nowikicode>* </codeabbr title="whether any results have a value stored in Property:Level string">$cq_level_in_results</abbr>: <code>{{ #tag: nowiki | {{{extra_column|}#var: $cq_level_in_results }} }}</code>* <abbr title="to add whether any results have a label to the new columnvalue stored in Property:Rank string">$cq_rank_in_results<code/abbr>: <nowikicode>{{#tag: nowiki | {extra_label{ #var: $cq_rank_in_results }}}}</nowikicode>* </codeabbr title="whether any results have a value stored in Property:Link Rating">$cq_link_in_results</abbr>: <code>{{ #tag: nowiki | {{{extra_label|}#var: $cq_link_in_results }} }}</code>* <abbr title="full new determined label for Stars column (with label, if passed)">$query_col_extracq_col_level/rank/link_label</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_col_extra cq_col_level/rank/link_label }} }}</code>* limit: {{ #var: $query_limit | 50 }}* <abbr title="<nowiki>{{{sort}}}<<abbr title="for monster cards, enable/disable «?Stars string» column">$cq_col_level/rank/link</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_level/rank/link }} }}</code>* <abbr title="for Cross Duel monster cards, enable/disable «?Level string» column">$cq_col_level</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_level }} }}</code>* <abbr title="for Cross Duel monster cards, enable/disable «?Rank string» column">$cq_col_rank</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_rank}} }}</code>* <abbr title="for monster cards, enable/disable «?Pendulum Scale» column">$cq_col_scale</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_scale }} }}</code>* <abbr title="for monster cards, enable/disable «?Link Rating» column">$cq_col_link_rating</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_link_rating }} }}</code>* <abbr title="whether the query only returns results with same ATK/DEF">$cq_equal_atkdef</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_equal_atkdef }} }}</code>* <abbr title="for monster cards, enable/disable «?ATK string» column">$cq_col_atk</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_atk }} }}</code>* <abbr title="for monster cards, enable/disable «?DEF string» column">$cq_col_def</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_def }} }}</code>* <abbr title="for monster cards, enable/disable «?MAXIMUM ATK» column">$cq_col_maximum_atk</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_maximum_atk }} }}</code>* <abbr title="for Spell/Traps, enable/disable «?Card type» column">$cq_col_card_type_st</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_card_type_st }} }}</code>* <abbr title="for Spell/Traps, enable/disable «?Property» column">$cq_col_property</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_property }} }}</code>* <abbr title="to add an extra column"><code><nowiki>{{{extra_column}}}</nowiki></code></abbr>: <code>{{ #tag: nowiki | {{{extra_column|}}} }}</code>* <abbr title="to add a second extra column"><code><nowiki>{{{extra_column2}}}</nowiki></code></abbr>: <code>{{ #tag: nowiki | {{{extra_column2|}}} }}</code>* <abbr title="full new column (with label, if passed)">$cq_col_extra</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_extra }} }}</code>* <abbr title="second full new column (with label, if passed)">$cq_col_extra_2</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_extra_2 }} }}</code>* limit: {{ #var: $cq_limit | 50 }}* <abbr title="<nowiki>{{{sort}}}</nowiki>, for sorting the results by property">$cq_sort</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_sort }} }}</code>* <abbr title="<nowiki>{{{order}}}</nowiki>, for sorting ordering the results by propertyvalues">$query_sortcq_order</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_sort cq_order }} }}</code>* <abbr title="<nowiki>{{{orderdefault}}}</nowiki>, for ordering the to be displayed if a query has no results by values">$query_ordercq_default</abbr>: <code>{{ #tag: nowiki | {{ #var: $query_order cq_default }} }}</code>* <abbr title="results count">$query_countcq_count</abbr>: {{ #var: $query_count cq_count }}
}}<!--
we have to blank the column variables to keep from polluting subsequent transclusions (since they aren't always defined above, and therefore aren't guaranteed to be blank from previous transclusions)
-->{{ #vardefine: $query_col_card_typecq_col_japanese_name}}{{ #vardefine: $query_col_card_type_stcq_col_character}}{{ #vardefine: $query_col_primary_typecq_col_card_type}}{{ #vardefine: $query_col_secondary_typecq_col_card_type_st}}{{ #vardefine: $query_col_attributecq_col_primary_type}}{{ #vardefine: $query_col_typecq_col_secondary_type}}{{ #vardefine: $query_col_level_rank_flagscq_col_attribute}}{{ #vardefine: $query_col_starscq_col_type}}{{ #vardefine: $query_col_scalecq_col_level_rank_flags}}{{ #vardefine: $query_col_atkcq_col_level/rank/link}}{{ #vardefine: $query_col_defcq_col_level}}{{ #vardefine: $query_col_link_ratingcq_col_rank}}{{ #vardefine: $query_col_propertycq_col_scale}}{{ #vardefine: $query_col_extracq_col_atk}}{{ #vardefine: $query_limitcq_col_def}}{{ #vardefine: $query_sortcq_col_link_rating}}{{ #vardefine: $query_ordercq_col_maximum_atk}}{{ #vardefine: $query_countcq_col_property}}{{ #vardefine: $cq_col_extra}}{{ #vardefine: $cq_col_extra_2}}{{ #vardefine: $cq_limit}}{{ #vardefine: $cq_sort}}{{ #vardefine: $cq_order}}{{ #vardefine: $cq_default}}{{ #vardefine: $cq_count
}}<!--
last, any tracking categories/properties
-->{{ #if: {{{t|}}} |<!-- stuff we don't want applied if {{Card query}} is added via another template (e.g. by {{Card list}}) --> | [[((Card query)) query value::{{ #replace: {{ #replace: {{ #replace: {{ #var: $cq_query }} | {{!}} | &#124; }} | {{!(}} | &#91; }} | {{)!}} | &#93; }}| ]]}}{{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | card category }} {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | s/t class }} {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | rfp:: }}<!-- replace with "Banishing" --> {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | remove from play }}<!-- replace with "banish" --> {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | removes from play }}<!-- replace with "banishes" --> {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | removed from play }}<!-- replace with "banished" --> {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | removing from play }}<!-- replace with "banishing" --> {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | monster type :: }}<!-- replace with "Primary type" or "Secondary type" as appropriate --> {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | life points:: }}<!-- replace with "LP" --> {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | token monster }}<!-- replace with "Monster Token" --> {{ #pos: {{ #var: $cq_query_lc }} | ?atk }}<!-- replace with "ATK string" (usually) --> {{ #pos: {{ #var: $cq_query_lc }} | ?def }}<!-- replace with "DEF string" (usually) --> {{ #pos: {{ #var: $cq_query_lc }} | ?level }}<!-- replace with "Level string" (usually) --> {{ #pos: {{ #var: $cq_query_lc }} | ?rank }}<!-- replace with "Rank string" (usually) --> {{ #pos: {{ #var: $cq_query_lc }} | ?stars }}<!-- replace with "Stars string" (usually) --> {{ #ifeq: {{ lc: {{{extra_column}}} }} | card category | 1 }} {{ #ifeq: {{ lc: {{{extra_column}}} }} | s/t class | 1 }} {{ #ifeq: {{ lc: {{{extra_column}}} }} | rfp | 1 }}<!-- replace with "Banishing" --> {{ #ifeq: {{ lc: {{{extra_column}}} }} | monster type | 1 }}<!-- replace with "Primary type" or "Secondary type" as appropriate --> {{ #ifeq: {{ lc: {{{extra_column}}} }} | life points | 1 }}<!-- replace with "LP" --> {{ #ifeq: {{ lc: {{{extra_column}}} }} | ?atk | 1 }}<!-- replace with "ATK string" (usually) --> {{ #ifeq: {{ lc: {{{extra_column}}} }} | ?def | 1 }}<!-- replace with "DEF string" (usually) --> {{ #ifeq: {{ lc: {{{extra_column}}} }} | ?level | 1 }}<!-- replace with "Level string" (usually) --> {{ #ifeq: {{ lc: {{{extra_column}}} }} | ?rank | 1 }}<!-- replace with "Rank string" (usually) --> {{ #ifeq: {{ lc: {{{extra_column}}} }} | ?stars | 1 }}<!-- replace with "Stars string" (usually) --> {{ #ifeq: {{ lc: {{{extra_column2}}} }} | card category | 1 }} {{ #ifeq: {{ lc: {{{extra_column2}}} }} | s/t class | 1 }} {{ #ifeq: {{ lc: {{{extra_column2}}} }} | rfp | 1 }}<!-- replace with "Banishing" --> {{ #ifeq: {{ lc: {{{extra_column2}}} }} | monster type | 1 }}<!-- replace with "Primary type" or "Secondary type" as appropriate --> {{ #ifeq: {{ lc: {{{extra_column2}}} }} | life points | 1 }}<!-- replace with "LP" --> {{ #ifeq: {{ lc: {{{extra_column2}}} }} | ?atk | 1 }}<!-- replace with "ATK string" (usually) --> {{ #ifeq: {{ lc: {{{extra_column2}}} }} | ?def | 1 }}<!-- replace with "DEF string" (usually) --> {{ #ifeq: {{ lc: {{{extra_column2}}} }} | ?level | 1 }}<!-- replace with "Level string" (usually) --> {{ #ifeq: {{ lc: {{{extra_column2}}} }} | ?rank | 1 }}<!-- replace with "Rank string" (usually) --> {{ #ifeq: {{ lc: {{{extra_column2}}} }} | ?stars | 1 }}<!-- replace with "Stars string" (usually) -->
| [[Category:((Card query)) transclusions querying deprecated properties]]
}}{{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | class 1 }} {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | medium:: }}
| [[Category:((Card query)) transclusions which should use (((medium)))]]
}}{{ #if: {{ #var: $query_medium_unknown cq_medium_unknown }}
| [[Category:((Card query)) transclusions with an unknown (((medium))) value]]
}}{{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | card type:: }}
| [[Category:((Card query)) transclusions which should use (((type)))]]
}}{{ #if: {{ #var: $query_card_type_unknown cq_card_type_unknown }}
| [[Category:((Card query)) transclusions with an unknown (((type))) value]]
}}{{ #if: {{{2|}}}{{{?Primary type|}}}{{{?Type|}}}{{{?Attribute|}}}{{{?Stars|}}}{{{?ATK string|}}}{{{?DEF string|}}}
| [[Category:((Card query)) transclusions which were improperly converted from hardcoded queries]]
}}{{ #if: {{{extra_column|}}}
| [[Category:Queries with an extra column]]{{ #if: {{{extra_column2|}}} | [[Category:Queries with two extra columns]]{{ #ifeq: {{{extra_column}}} | {{{extra_headerextra_column2}}} | [[Category:((Card query)) transclusions with an unnecessary extra_headerduplicate extra_column and extra_column2]] }}
}}
| {{ #if: {{{extra_headerextra_column2|}}} | [[Category:Queries with an extra column]][[Category:((Card query)) transclusions with an unnecessary extra_headerextra_column2 but no extra_column]]
}}
}}{{ #if: {{{sort|}}}
}}{{ #if: {{{order|}}}
| [[Category:Queries with a custom order]]
}}{{ #if: {{{default|}}}
| [[Category:Queries with a custom default value]]
}}{{ #if: {{{limit|}}}
| {{ #iferror: {{ #expr: {{{limit}}} }}
| {{ #ifeq: {{{limit}}} | 50
| [[Category:((Card query)) transclusions with an unnecessary limit]]
| {{ #ifexpr: {{{limit}}} > 500 | [[Category:((Card query)) transclusions with a limit above $smwgQMaxInlineLimit]] | [[Category:Queries with a custom limit]] }}
}}
}}
}}{{ #if: {{ #pos: {{ #var: $query_query cq_query }} | {{!}}{{!}} }} {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | {{))!}} or {{!((}} }}
| [[Category:Queries with disjunctions]]
}}{{ #if: {{ #pos: {{ #var: $query_query }} | {{))!}}{{!((}} }} {{ #posreplace: {{ #var: $query_query cq_query }} }} | {{))!}} {{!((}} }}
| [[Category:Queries with multiple terms]]
}}{{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | <q> }}
| [[Category:Queries with subqueries]]
}}{{ #if: {{ #pos: {{ #var: $query_query cq_query }} | ::~ }} {{ #pos: {{ #var: $query_query cq_query }} | {{!}}{{!}}~ }} {{ #pos: {{ #var: $query_query cq_query }} | {{!((}}~ }} {{ #pos: {{ #var: $cq_query }} | ::!~ }} {{ #pos: {{ #var: $query_query cq_query }} | {{!}}{{!}}!~ }} {{ #pos: {{ #var: $cq_query }} | {{!((}}!~ }}
| [[Category:Queries with a like comparator]]
}}{{ #if: {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | ::like: }} {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | {{!}}{{!}}like: }} {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | ::nlike: }} {{ #pos: {{ #var: $query_query_lc cq_query_lc }} | {{!}}{{!}}nlike: }}
| [[Category:Queries with a like comparator]][[Category:Queries using LIKE/NOT LIKE SQL notation]]
}}{{ #if: {{ #pos: {{ #replace: {{ #var: $query_query cq_query }} | ::!~ }} | ::! }} {{ #pos: {{ #replace: {{ #var: $query_query cq_query }} | {{!}}{{!}}!~ }} | {{!}}{{!}}! }} {{ #pos: {{ #replace: {{ #var: $cq_query }} | {{!((}}!~ }} | {{!((}}! }}
| [[Category:Queries with a not equal comparator]]
}}{{ #if: {{ #pos: {{ #var: $query_query cq_query }} | ::< }} {{ #pos: {{ #var: $query_query cq_query }} | ::> }} {{ #pos: {{ #var: $query_query cq_query }} | ::≤ }} {{ #pos: {{ #var: $query_query cq_query }} | ::≥ }} {{ #pos: {{ #var: $query_query cq_query }} | {{!}}{{!}}< }} {{ #pos: {{ #var: $query_query cq_query }} | {{!}}{{!}}> }} {{ #pos: {{ #var: $query_query cq_query }} | {{!}}{{!}}≤ }} {{ #pos: {{ #var: $query_query cq_query }} | {{!}}{{!}}≥ }} {{ #pos: {{ #var: $cq_query }} | {{!((}}< }} {{ #pos: {{ #var: $cq_query }} | {{!((}}> }} {{ #pos: {{ #var: $cq_query }} | {{!((}}≤ }} {{ #pos: {{ #var: $cq_query }} | {{!((}}≥ }}
| [[Category:Queries with comparators]]
}}{{ #if: {{ #pos: {{ #var: $cq_query }} | ::+ }}
{{ #pos: {{ #var: $cq_query }} | {{!}}{{!}}+ }}
{{ #pos: {{ #var: $cq_query }} | {{!((}}+ }}
| [[Category:Queries with wildcards]]
}}{{ #if: {{ #pos: {{ #var: $cq_query_lc }} | english name }}
{{ #pos: {{ #var: $cq_query_lc }} | page name }}
{{ #pos: {{ #var: $cq_query }} | {{!((}}~ }}
{{ #pos: {{ #var: $cq_query }} | {{!((}}! }}
{{ #pos: {{ #var: $cq_query }} | {{!((}}< }}
{{ #pos: {{ #var: $cq_query }} | {{!((}}> }}
{{ #pos: {{ #var: $cq_query }} | {{!((}}≤ }}
{{ #pos: {{ #var: $cq_query }} | {{!((}}≥ }}
{{ #pos: {{ #var: $cq_query }} | {{!((}}+ }}
| [[Category:Queries which specify cards for inclusion/exclusion]]
}}{{ #if: {{ #pos: {{ #var: $cq_query }} | <> }}
| [[Category:Queries with a bad comparator]]
}}{{ #invoke: check for unknown parameters | check
| unknown = [[Category:((Card query)) transclusions using unknown parameters]]
| showblankpositional = 1
| preview = unknown <nowiki>{{Card query}}</nowiki> parameter "_VALUE_"
| 1 | medium | type
| extra_column | extra_column2
| limit | sort | order | default
| debug | t
}}<noinclude>
{{Documentation}}</noinclude>

Navigation menu