Difference between revisions of "Template:Infobox"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
− | <includeonly> | + | <includeonly><!-- |
− | + | Restore the "three special pagename characters". | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | {{PAGENAME}} always return the page name with occurrences of the characters ", & and ' replaced with ", & and ', respectively. While this normally doesn't cause any harm, it doesn't play nice with the search links generated by this template (especially for Redmine), so {{PAGENAME}} goes through a series of nested RegExp queries to undo those replacements before actually being processed and stored on {{#var:tl_infobox_autotitle}}. | |
− | |||
− | + | -->{{#vardefine:tl_infobox_searchfix|{{#regex:{{#regex:{{#regex:{{#var:tl_lowercase_title|{{PAGENAME}}}}|/"/|"}}|/&/|&}}|/'/|'}}}}<!-- | |
− | |||
− | |||
− | | | ||
+ | Strip console from title | ||
− | + | -->{{#vardefine:tl_infobox_autotitle|{{#regex:{{#var:tl_infobox_searchfix}}|/\((Arcade{{!}}C64{{!}}Genesis{{!}}MSX{{!}}NES{{!}}SNES{{!}}SMS{{!}}TurboGrafx-16{{!}}Wii{{!}}GC{{!}}WiiWare{{!}}Triforce{{!}}Metroid Prime\: Trilogy)\)/|}}}}<!-- | |
− | |||
− | |||
− | </includeonly> | + | Store GameIDs in a variable so we can check that GameIDs exist for the page |
− | <noinclude> | + | |
+ | -->{{#vardefine:tl_infobox_ids|{{#dpl: | ||
+ | |mode=inline | ||
+ | |inlinetext=<nowiki>, </nowiki> | ||
+ | |linksto={{FULLPAGENAME}} | ||
+ | |redirects=only | ||
+ | |titlematch=______ | ||
+ | |notcategory=Not GameID | ||
+ | }}}}<!-- | ||
+ | |||
+ | Get GameIDs again, this time in a format usable for searching the issue tracker | ||
+ | |||
+ | -->{{#vardefine:tl_infobox_searchids|{{#dpl: | ||
+ | |mode=userformat | ||
+ | |format=,%TITLE%,+, | ||
+ | |linksto={{FULLPAGENAME}} | ||
+ | |redirects=only | ||
+ | |titlematch=______ | ||
+ | |notcategory=Not GameID | ||
+ | }}}}<!-- | ||
+ | |||
+ | Wikitable | ||
+ | |||
+ | -->{| class="{{#ifeq:{{{collapsible|}}}|yes|collapsible {{{state|autocollapse}}}}} infobox vevent" style="float:{{{align|right}}}; width:{{{width|300px}}}; font-size:90%; text-align:left;" cellspacing="0" cellpadding="3" | ||
+ | |- | ||
+ | ! colspan=2 style="font-size:110%; text-align:center;" class="summary" | ''{{#tag:nowiki|{{#var:tl_infobox_autotitle|{{PAGENAME}}}}}}''<!-- nowiki tag is needed here for Chindōchō!! Pole no Daibōken --> | ||
+ | {{#ifeq:{{{show image|}}}|yes|<table style="width:100%;font-size:90%; background:none;">|{{!}}-}} | ||
+ | {{#if:{{{image|}}}| | ||
+ | {{!}} colspan="2" style="text-align:center;" {{!}} {{{image|}}}<br />{{{caption|}}} | ||
+ | }} | ||
+ | {{#ifeq:{{{show image|}}}|yes|</table>}} | ||
+ | {{Alternating rows table section | ||
+ | |es=background:#f0f0f0; | ||
+ | |{{#if:{{{channeltype|}}}| {{!}} '''Type''' {{!!}} {{{channeltype|}}}}}<!-- | ||
+ | |||
+ | Make sure to update Template:Vgrelease along with the developer and publisher regexes | ||
+ | |||
+ | --> | ||
+ | |{{#if:{{{developer|}}}|{{!}}'''[[:Category:Developers|Developer(s)]]'''{{!!}}{{#ifeq:{{#regex:{{{developer|}}}|/>/rs|}}|| | ||
+ | <!--List-->{{#regex:{{{developer|}}}|/([^,]+)(,? ?)/rs|[[:Category:$1 (Developer)|$1]][[Category:$1 (Developer)]]$2}}| | ||
+ | <!--Regional List-->{{#regex:{{{developer|}}}|/({{#regex:{{{developer|}}}|/.*?(?:JP{{!}}NA{{!}}CA{{!}}EU{{!}}FR{{!}}DE{{!}}IT{{!}}NL{{!}}SC{{!}}SP{{!}}AUS{{!}}RU{{!}}KO{{!}}TW{{!}}SA).*?>.*?>\s*([^\[{{!}}<]*).*?>/rs|$1{{!}}}}#NOMATCH#)/rs|[[:Category:$1 (Developer)|$1]][[Category:$1 (Developer)]]}}}} | ||
+ | }} | ||
+ | |{{#if:{{{publisher|}}}|{{!}}'''[[:Category:Publishers|Publisher(s)]]'''{{!!}}{{#ifeq:{{#regex:{{{publisher|}}}|/>/rs|}}|| | ||
+ | <!--List-->{{#regex:{{{publisher|}}}|/([^,]+)(,? ?)/rs|[[:Category:$1 (Publisher)|$1]][[Category:$1 (Publisher)]]$2}}| | ||
+ | <!--Regional List-->{{#regex:{{{publisher|}}}|/({{#regex:{{{publisher|}}}|/.*?(?:JP{{!}}NA{{!}}CA{{!}}EU{{!}}FR{{!}}DE{{!}}IT{{!}}NL{{!}}SC{{!}}SP{{!}}AUS{{!}}RU{{!}}KO{{!}}TW{{!}}SA).*?>.*?>\s*([^\[{{!}}<]*).*?>/rs|$1{{!}}}}#NOMATCH#)/rs|[[:Category:$1 (Publisher)|$1]][[Category:$1 (Publisher)]]}}}} | ||
+ | }} | ||
+ | |{{#if:{{{series|}}}|{{!}} '''[[:Category:Series|Series]]''' {{!!}}{{#vardefine:tl_infobox_series|{{#regex:{{{series|}}}|/''/|}}}}{{#vardefine:tl_infobox_seriescheck|{{#regex:{{#var:tl_infobox_series}}|/^\s*([^,]*).*/|$1}}}}{{#while:|{{#var:tl_infobox_seriescheck}}|{{#if:{{#var:tl_infobox_serieshaslooped}}|, <nowiki/>|{{#vardefine:tl_infobox_serieshaslooped|true}}}}''[[:Category:{{#var:tl_infobox_seriescheck}} (Series)|{{#var:tl_infobox_seriescheck}}]]''[[Category:{{#var:tl_infobox_seriescheck}} (Series)]]{{#ifexist:Category:{{#var:tl_infobox_seriescheck}} (Series)||[[Category:Pages with redlink series]]}}{{#vardefine:tl_infobox_series|{{#regex:{{#var:tl_infobox_series}}|/^\s*([^,]*)(,? ?)/|}}}}{{#vardefine:tl_infobox_seriescheck|{{#regex:{{#var:tl_infobox_series}}|/^\s*([^,]*).*/|$1}}}}}}{{#if:{{#var:tl_infobox_serieshaslooped}}||[[Category:Game pages with misformatted series]]}}}} | ||
+ | |{{#ifpageincat:Platforms||{{!}} '''[[:Category:Platforms|Platform(s)]]''' {{!!}}{{#ifpageincat:Virtual Console games|[[Virtual Console]]{{#ifpageincat:NES games|, [[NES]]|{{#ifpageincat:TurboGrafx-16 games|, [[TurboGrafx-16]]|{{#ifpageincat:SNES games|, [[SNES]]|{{#ifpageincat:Sega Genesis games|, [[Sega Genesis]]|{{#ifpageincat:Arcade games|, [[Arcade]]|{{#ifpageincat:Neo Geo games|, [[Neo Geo]]|{{#ifpageincat:Nintendo 64 games|, [[Nintendo 64]]|{{#ifpageincat:Commodore 64 games|, [[Commodore 64]]|{{#ifpageincat:Sega Master System games|, [[Sega Master System]]|{{#ifpageincat:MSX games|, [[MSX]]|[[Category:Pages missing platform category]]}}}}}}}}}}}}}}}}}}}}|{{#ifpageincat:Wii games|[[Wii]]|{{#ifpageincat:GameCube games|[[GameCube]]|{{#ifpageincat:WiiWare games|[[WiiWare]]|{{#ifpageincat:Wii Channels|[[Wii Channels]]|{{#ifpageincat:Triforce games|[[Triforce]]|{{#ifpageincat:Wii U vWii|[[:Category:Wii U vWii|Wii U vWii]]|[[Category:Pages missing platform category]]}}}}}}}}}}}}}}}} | ||
+ | |{{#if:{{{released|{{{release|}}}}}}| {{!}} {{nowrap|'''[[:Category:Initial release year|Release date(s)]]'''}} {{!!}} {{{released|{{{release}}}}}} {{#regex:{{{released|}}}|/.*?(\d\d\d\d).*/rs|[[Category:$1 (Initial release year)]]|1}}|[[Category:Game pages without release date(s)]]}} | ||
+ | |{{#if:{{{genre|}}}|{{!}}'''[[:Category:Genres|Genre(s)]]'''{{!!}}{{#regex:{{#regex:{{{genre|}}}|/''/|}}|/([^,]+)(,? ?)/rs|[[:Category:$1 (Genre)|$1]][[Category:$1 (Genre)]]$2}}|[[Category:Game pages without genre]]}} | ||
+ | |{{#if:{{{mode|{{{modes|}}}}}}|{{!}}'''[[:Category:Game mode|Mode(s)]]'''{{!!}}{{#regex:{{#regex:{{{modes|}}}|/(Single-player{{!}}Multi(-)?player{{!}}Co-op{{!}}LAN{{!}}Online)/rsi|[[:Category:$1 (Game mode)|$1]][[Category:$1 (Game mode)]]$2}}|/\((\d{1,2}{{!}}\*)\)/|([[:Category:$1 (Players supported)|$1]][[Category:$1 (Players supported)]])}}{{#ifeq:{{{modes|}}}|Single-player|[[Category:Single-player only (Game mode)]][[Category:1 (Players supported)]]|}}|{{#if:{{#regex:{{{genre|}}}|/Utility/}}||[[Category:Game pages without modes of play]]}}}} | ||
+ | |{{#if:{{{input|}}}|{{!}}'''[[:Category:Input supported|Input methods]]'''{{!!}}{{#regex:{{{input|}}}|/(Wii Remote{{!}}Nunchu(c)?k{{!}}Dance Pad{{!}}Wii Balance Board{{!}}USB Keyboard{{!}}Skylander Portal{{!}}Active Heart Rate Monitor{{!}}Cyberbike{{!}}Ubisoft Camera{{!}}Nintendo DS{{!}}Game( )?Boy Advance{{!}}uDraw GameTablet{{!}}Drawsome Tablet{{!}}Wii MotionPlus{{!}}TaTaCon{{!}}DK Bongos{{!}}(GameCube{{!}}Classic{{!}}Shinkansen{{!}}Drum{{!}}Guitar{{!}}Keyboard{{!}}Turntable{{!}}Ride{{!}}Arcade) Controller{{!}}Wii Speak{{!}}USB Microphone{{!}}GameCube Microphone{{!}}Microphone)/rsi|[[:Category:$1 (Input supported)|$1]][[Category:$1 (Input supported)]]$2}}|[[Category:Game pages without possible inputs]]}} | ||
+ | |{{#ifpageincat:Disambiguation pages||{{!}} '''[[:Category:Rating|Compatibility]]''' {{!!}}{{ratings|{{PAGENAME}}}}{{#regex:{{ratings|{{PAGENAME}}}}|/.*?Stars(\d)\.png.*/|[[Category:$1 stars (Rating)]]<br /><span style="display:inline-block;width:118px;text-align:center;font-size:8pt;font-weight:bold;color:#666;">{{#switch:{{#regex:{{ratings|{{PAGENAME}}}}|/.*?Stars(\d)\.png.*/|$1}}|=Unknown|0=Unknown|1=Broken|2=Intro/Menu|3=Starts|4=Playable|5=Perfect|$1}}</span>}}}} | ||
+ | |{{!}} '''[[GameIDs]]''' {{!!}} {{#var:tl_infobox_ids}} | ||
+ | |{{!}} '''See also...''' {{!!}} | ||
+ | {{#ifeq:{{#var:tl_infobox_autotitle}}|{{#var:tl_infobox_searchfix}}||{{#ifexist:{{#var:tl_infobox_autotitle}} (Arcade)|{{#ifeq:{{#var:tl_infobox_autotitle}} (Arcade)|{{#var:tl_infobox_searchfix}}||[[{{#var:tl_infobox_autotitle}} (Arcade)|Arcade Version]]<br /> | ||
+ | }}}}{{#ifexist:{{#var:tl_infobox_autotitle}} (C64)|{{#ifeq:{{#var:tl_infobox_autotitle}} (C64)|{{#var:tl_infobox_searchfix}}||[[{{#var:tl_infobox_autotitle}} (C64)|C64 Version]]<br /> | ||
+ | }}}}{{#ifexist:{{#var:tl_infobox_autotitle}} (Genesis)|{{#ifeq:{{#var:tl_infobox_autotitle}} (Genesis)|{{#var:tl_infobox_searchfix}}||[[{{#var:tl_infobox_autotitle}} (Genesis)|Genesis Version]]<br /> | ||
+ | }}}}{{#ifexist:{{#var:tl_infobox_autotitle}} (MSX)|{{#ifeq:{{#var:tl_infobox_autotitle}} (MSX)|{{#var:tl_infobox_searchfix}}||[[{{#var:tl_infobox_autotitle}} (MSX)|MSX Version]]<br /> | ||
+ | }}}}{{#ifexist:{{#var:tl_infobox_autotitle}} (NES)|{{#ifeq:{{#var:tl_infobox_autotitle}} (NES)|{{#var:tl_infobox_searchfix}}||[[{{#var:tl_infobox_autotitle}} (NES)|NES Version]]<br /> | ||
+ | }}}}{{#ifexist:{{#var:tl_infobox_autotitle}} (SNES)|{{#ifeq:{{#var:tl_infobox_autotitle}} (SNES)|{{#var:tl_infobox_searchfix}}||[[{{#var:tl_infobox_autotitle}} (SNES)|SNES Version]]<br /> | ||
+ | }}}}{{#ifexist:{{#var:tl_infobox_autotitle}} (SMS)|{{#ifeq:{{#var:tl_infobox_autotitle}} (SMS)|{{#var:tl_infobox_searchfix}}||[[{{#var:tl_infobox_autotitle}} (SMS)|SMS Version]]<br /> | ||
+ | }}}}{{#ifexist:{{#var:tl_infobox_autotitle}} (TurboGrafx-16)|{{#ifeq:{{#var:tl_infobox_autotitle}} (TurboGrafx-16)|{{#var:tl_infobox_searchfix}}||[[{{#var:tl_infobox_autotitle}} (TurboGrafx-16)|TurboGrafx-16 Version]]<br /> | ||
+ | }}}}{{#ifexist:{{#var:tl_infobox_autotitle}} (Triforce)|{{#ifeq:{{#var:tl_infobox_autotitle}} (Triforce)|{{#var:tl_infobox_searchfix}}||[[{{#var:tl_infobox_autotitle}} (Triforce)|Triforce Version]]<br /> | ||
+ | }}}}{{#ifexist:{{#var:tl_infobox_autotitle}} (GC)|{{#ifeq:{{#var:tl_infobox_autotitle}} (GC)|{{#var:tl_infobox_searchfix}}||[[{{#var:tl_infobox_autotitle}} (GC)|GameCube Version]]<br /> | ||
+ | }}}}{{#ifexist:{{#var:tl_infobox_autotitle}} (WiiWare)|{{#ifeq:{{#var:tl_infobox_autotitle}} (WiiWare)|{{#var:tl_infobox_searchfix}}||[[{{#var:tl_infobox_autotitle}} (WiiWare)|WiiWare Version]]<br /> | ||
+ | }}}}{{#ifexist:{{#var:tl_infobox_autotitle}} (Wii)|{{#ifeq:{{#var:tl_infobox_autotitle}} (Wii)|{{#var:tl_infobox_searchfix}}||[[{{#var:tl_infobox_autotitle}} (Wii)|Wii Version]]<br /> | ||
+ | }}}}{{#ifexist:{{#var:tl_infobox_autotitle}} (Metroid Prime: Trilogy)|{{#ifeq:{{#var:tl_infobox_autotitle}} (Metroid Prime: Trilogy)|{{#var:tl_infobox_searchfix}}||[[{{#var:tl_infobox_autotitle}} (Metroid Prime: Trilogy)|Trilogy Version]]<br /> | ||
+ | }}}}}} | ||
+ | {{#if:{{{forumlink|}}}|[{{{forumlink|}}} Dolphin Forum thread]|[https://www.google.com/search?q=site:forums.dolphin-emu.org+{{urlencode:{{#var:tl_infobox_autotitle}}|QUERY}} Search Dolphin Forums][[Category:Game pages without Dolphin forum link]]}}<br /> | ||
+ | {{#if:{{#var:tl_infobox_searchids}}|[https://bugs.dolphin-emu.org/projects/emulator/search?q={{urlencode:"{{#var:tl_infobox_autotitle}}"|QUERY}}+{{#var:tl_infobox_searchids}}&all_words=&open_issues=1 Open Issues]|[https://bugs.dolphin-emu.org/projects/emulator/search?q={{urlencode:{{#var:tl_infobox_autotitle}}|QUERY}}&open_issues=1 Open Issues]}}<br /> | ||
+ | {{#if:||[https://www.google.com/search?q={{urlencode:{{#var:tl_infobox_autotitle}}|QUERY}} Search Google]<br />}} | ||
+ | {{#if:{{{wikipedia|}}}|[[wikipedia:{{{wikipedia|}}}|Wikipedia page]]|[[wikipedia:{{#var:tl_infobox_autotitle}}|Search Wikipedia]]}}<br /> | ||
+ | {{#incat:Ships with debugging symbols|[[Ships with Debugging Symbols|Debug Symbol Files]]}} | ||
+ | }} | ||
+ | |} | ||
+ | </includeonly><noinclude> | ||
{{documentation}} | {{documentation}} | ||
− | |||
</noinclude> | </noinclude> |
Revision as of 04:20, 10 October 2020
[create] Template documentation
Editors can experiment in this template's sandbox (create) and testcases (create) pages. Please add categories and interwikis to the /doc subpage. Subpages of this template. |