Template:IB-Level: Difference between revisions
Jump to navigation
Jump to search
Render all level infobox parameters consistently in VisualEditor and normal views |
Use supported div wrappers for the VisualEditor-compatible infobox |
||
| Line 1: | Line 1: | ||
< | <div class="portable-infobox expanded-ve-infobox pi-background pi-border-color pi-theme-default"> | ||
<h2 class="pi-item pi-item-spacing pi-title pi-secondary-background">{{{name|{{PAGENAME}}}}}</h2> | <h2 class="pi-item pi-item-spacing pi-title pi-secondary-background">{{{name|{{PAGENAME}}}}}</h2> | ||
< | <div class="pi-item pi-image">[[File:{{#replace:{{{image|Placeholder.png}}}|File:|}}|300px]]</div> | ||
{{#if:{{{game|}}}{{{released|}}}{{{levelnumber|}}}{{{difficultymain|}}}|< | {{#if:{{{game|}}}{{{released|}}}{{{levelnumber|}}}{{{difficultymain|}}}|<div class="pi-item pi-group pi-border-color expanded-infobox-horizontal"> | ||
{{#if:{{{game|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="game"><h3 class="pi-data-label pi-secondary-font">Game</h3><div class="pi-data-value pi-font">{{{game|}}}</div></div>}} | {{#if:{{{game|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="game"><h3 class="pi-data-label pi-secondary-font">Game</h3><div class="pi-data-value pi-font">{{{game|}}}</div></div>}} | ||
{{#if:{{{released|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="released"><h3 class="pi-data-label pi-secondary-font">Released</h3><div class="pi-data-value pi-font">{{{released|}}}</div></div>}} | {{#if:{{{released|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="released"><h3 class="pi-data-label pi-secondary-font">Released</h3><div class="pi-data-value pi-font">{{{released|}}}</div></div>}} | ||
{{#if:{{{levelnumber|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="levelnumber"><h3 class="pi-data-label pi-secondary-font">Level</h3><div class="pi-data-value pi-font">{{{levelnumber|}}}</div></div>}} | {{#if:{{{levelnumber|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="levelnumber"><h3 class="pi-data-label pi-secondary-font">Level</h3><div class="pi-data-value pi-font">{{{levelnumber|}}}</div></div>}} | ||
{{#if:{{{difficultymain|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="difficultymain"><h3 class="pi-data-label pi-secondary-font">Difficulty</h3><div class="pi-data-value pi-font">{{{difficultymain|}}}</div></div>}} | {{#if:{{{difficultymain|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="difficultymain"><h3 class="pi-data-label pi-secondary-font">Difficulty</h3><div class="pi-data-value pi-font">{{{difficultymain|}}}</div></div>}} | ||
</ | </div>}} | ||
{{#if:{{{id|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="id"><h3 class="pi-data-label pi-secondary-font">ID</h3><div class="pi-data-value pi-font">{{{id|}}}</div></div>}} | {{#if:{{{id|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="id"><h3 class="pi-data-label pi-secondary-font">ID</h3><div class="pi-data-value pi-font">{{{id|}}}</div></div>}} | ||
{{#if:{{{creator|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="creator"><h3 class="pi-data-label pi-secondary-font">Creator(s)</h3><div class="pi-data-value pi-font">{{{creator|}}}</div></div>}} | {{#if:{{{creator|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="creator"><h3 class="pi-data-label pi-secondary-font">Creator(s)</h3><div class="pi-data-value pi-font">{{{creator|}}}</div></div>}} | ||
| Line 13: | Line 13: | ||
{{#if:{{{created|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="created"><h3 class="pi-data-label pi-secondary-font">Created</h3><div class="pi-data-value pi-font">{{{created|}}}</div></div>}} | {{#if:{{{created|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="created"><h3 class="pi-data-label pi-secondary-font">Created</h3><div class="pi-data-value pi-font">{{{created|}}}</div></div>}} | ||
{{#if:{{{updated|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="updated"><h3 class="pi-data-label pi-secondary-font">Last updated</h3><div class="pi-data-value pi-font">{{{updated|}}}</div></div>}} | {{#if:{{{updated|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="updated"><h3 class="pi-data-label pi-secondary-font">Last updated</h3><div class="pi-data-value pi-font">{{{updated|}}}</div></div>}} | ||
{{#if:{{{difficulty|}}}{{{stars|}}}{{{moons|}}}{{{manaorbs|}}}{{{diamonds|}}}{{{coins|}}}{{{unvercoins|}}}{{{practicemode|}}}{{{normalmode|}}}|< | {{#if:{{{difficulty|}}}{{{stars|}}}{{{moons|}}}{{{manaorbs|}}}{{{diamonds|}}}{{{coins|}}}{{{unvercoins|}}}{{{practicemode|}}}{{{normalmode|}}}|<div class="pi-item pi-group pi-border-color expanded-infobox-horizontal"> | ||
<h2 class="pi-item pi-header pi-secondary-background">Attributes</h2> | <h2 class="pi-item pi-header pi-secondary-background">Attributes</h2> | ||
{{#if:{{{difficulty|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="difficulty"><h3 class="pi-data-label pi-secondary-font">Difficulty</h3><div class="pi-data-value pi-font">{{{difficulty|}}}</div></div>}} | {{#if:{{{difficulty|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="difficulty"><h3 class="pi-data-label pi-secondary-font">Difficulty</h3><div class="pi-data-value pi-font">{{{difficulty|}}}</div></div>}} | ||
| Line 24: | Line 24: | ||
{{#if:{{{practicemode|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="practicemode"><h3 class="pi-data-label pi-secondary-font">[[Practice Mode|Practice mode]]</h3><div class="pi-data-value pi-font">{{{practicemode|}}}</div></div>}} | {{#if:{{{practicemode|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="practicemode"><h3 class="pi-data-label pi-secondary-font">[[Practice Mode|Practice mode]]</h3><div class="pi-data-value pi-font">{{{practicemode|}}}</div></div>}} | ||
{{#if:{{{normalmode|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="normalmode"><h3 class="pi-data-label pi-secondary-font">[[Icon Kit|Normal mode]]</h3><div class="pi-data-value pi-font">{{{normalmode|}}}</div></div>}} | {{#if:{{{normalmode|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="normalmode"><h3 class="pi-data-label pi-secondary-font">[[Icon Kit|Normal mode]]</h3><div class="pi-data-value pi-font">{{{normalmode|}}}</div></div>}} | ||
</ | </div>}} | ||
{{#if:{{{length|}}}{{{objects|}}}{{{copytype|}}}|< | {{#if:{{{length|}}}{{{objects|}}}{{{copytype|}}}|<div class="pi-item pi-group pi-border-color expanded-infobox-horizontal"> | ||
{{#if:{{{length|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="length"><h3 class="pi-data-label pi-secondary-font">Length</h3><div class="pi-data-value pi-font">{{{length|}}}</div></div>}} | {{#if:{{{length|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="length"><h3 class="pi-data-label pi-secondary-font">Length</h3><div class="pi-data-value pi-font">{{{length|}}}</div></div>}} | ||
{{#if:{{{objects|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="objects"><h3 class="pi-data-label pi-secondary-font">Objects</h3><div class="pi-data-value pi-font">{{{objects|}}}</div></div>}} | {{#if:{{{objects|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="objects"><h3 class="pi-data-label pi-secondary-font">Objects</h3><div class="pi-data-value pi-font">{{{objects|}}}</div></div>}} | ||
{{#if:{{{copytype|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="copytype"><h3 class="pi-data-label pi-secondary-font">Copy type</h3><div class="pi-data-value pi-font">{{{copytype|}}}</div></div>}} | {{#if:{{{copytype|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="copytype"><h3 class="pi-data-label pi-secondary-font">Copy type</h3><div class="pi-data-value pi-font">{{{copytype|}}}</div></div>}} | ||
</ | </div>}} | ||
{{#if:{{{portals|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="portals"><h3 class="pi-data-label pi-secondary-font">[[Portals]]</h3><div class="pi-data-value pi-font">{{{portals|}}}</div></div>}} | {{#if:{{{portals|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="portals"><h3 class="pi-data-label pi-secondary-font">[[Portals]]</h3><div class="pi-data-value pi-font">{{{portals|}}}</div></div>}} | ||
{{#if:{{{sequences|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="sequences"><h3 class="pi-data-label pi-secondary-font"><abbr title="The letter denotes form; its case denotes size; a doubled letter indicates dual mode; the number of commas or periods denotes speed; a preceding period indicates mirror mode; a pipe specifies a platformer checkpoint">Sequences</abbr></h3><div class="pi-data-value pi-font">{{{sequences|}}}</div></div>}} | {{#if:{{{sequences|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="sequences"><h3 class="pi-data-label pi-secondary-font"><abbr title="The letter denotes form; its case denotes size; a doubled letter indicates dual mode; the number of commas or periods denotes speed; a preceding period indicates mirror mode; a pipe specifies a platformer checkpoint">Sequences</abbr></h3><div class="pi-data-value pi-font">{{{sequences|}}}</div></div>}} | ||
{{#if:{{{downloads|}}}{{{likes|}}}{{{rating|}}}|< | {{#if:{{{downloads|}}}{{{likes|}}}{{{rating|}}}|<div class="pi-item pi-group pi-border-color expanded-infobox-horizontal"> | ||
<h2 class="pi-item pi-header pi-secondary-background">Statistics</h2> | <h2 class="pi-item pi-header pi-secondary-background">Statistics</h2> | ||
{{#if:{{{downloads|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="downloads"><h3 class="pi-data-label pi-secondary-font">Downloads</h3><div class="pi-data-value pi-font">{{{downloads|}}}</div></div>}} | {{#if:{{{downloads|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="downloads"><h3 class="pi-data-label pi-secondary-font">Downloads</h3><div class="pi-data-value pi-font">{{{downloads|}}}</div></div>}} | ||
{{#if:{{{likes|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="likes"><h3 class="pi-data-label pi-secondary-font">Likes</h3><div class="pi-data-value pi-font">{{{likes|}}}</div></div>}} | {{#if:{{{likes|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="likes"><h3 class="pi-data-label pi-secondary-font">Likes</h3><div class="pi-data-value pi-font">{{{likes|}}}</div></div>}} | ||
{{#if:{{{rating|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="rating"><h3 class="pi-data-label pi-secondary-font">Rating</h3><div class="pi-data-value pi-font">{{{rating|}}}</div></div>}} | {{#if:{{{rating|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="rating"><h3 class="pi-data-label pi-secondary-font">Rating</h3><div class="pi-data-value pi-font">{{{rating|}}}</div></div>}} | ||
</ | </div>}} | ||
{{#if:{{{artist|}}}{{{music|}}}{{{musicid|}}}|< | {{#if:{{{artist|}}}{{{music|}}}{{{musicid|}}}|<div class="pi-item pi-group pi-border-color"> | ||
<h2 class="pi-item pi-header pi-secondary-background">Audio info</h2> | <h2 class="pi-item pi-header pi-secondary-background">Audio info</h2> | ||
{{#if:{{{artist|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="artist"><h3 class="pi-data-label pi-secondary-font">Artist(s)</h3><div class="pi-data-value pi-font">{{{artist|}}}</div></div>}} | {{#if:{{{artist|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="artist"><h3 class="pi-data-label pi-secondary-font">Artist(s)</h3><div class="pi-data-value pi-font">{{{artist|}}}</div></div>}} | ||
{{#if:{{{music|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="music"><h3 class="pi-data-label pi-secondary-font">Music</h3><div class="pi-data-value pi-font">{{{music|}}}</div></div>}} | {{#if:{{{music|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="music"><h3 class="pi-data-label pi-secondary-font">Music</h3><div class="pi-data-value pi-font">{{{music|}}}</div></div>}} | ||
{{#if:{{{musicid|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="musicid"><h3 class="pi-data-label pi-secondary-font">Music ID</h3><div class="pi-data-value pi-font">{{{musicid|}}}</div></div>}} | {{#if:{{{musicid|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="musicid"><h3 class="pi-data-label pi-secondary-font">Music ID</h3><div class="pi-data-value pi-font">{{{musicid|}}}</div></div>}} | ||
</ | </div>}} | ||
{{#if:{{{audio|}}}|< | {{#if:{{{audio|}}}|<div class="pi-item pi-group pi-border-color expanded-infobox-horizontal"> | ||
{{#if:{{{audio|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="audio"><h3 class="pi-data-label pi-secondary-font">Audio</h3><div class="pi-data-value pi-font">{{{audio|}}}</div></div>}} | {{#if:{{{audio|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="audio"><h3 class="pi-data-label pi-secondary-font">Audio</h3><div class="pi-data-value pi-font">{{{audio|}}}</div></div>}} | ||
</ | </div>}} | ||
{{#if:{{{fullaudio|}}}|< | {{#if:{{{fullaudio|}}}|<div class="pi-item pi-group pi-border-color expanded-infobox-horizontal"> | ||
{{#if:{{{fullaudio|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="fullaudio"><h3 class="pi-data-label pi-secondary-font">Full audio</h3><div class="pi-data-value pi-font">{{{fullaudio|}}}</div></div>}} | {{#if:{{{fullaudio|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="fullaudio"><h3 class="pi-data-label pi-secondary-font">Full audio</h3><div class="pi-data-value pi-font">{{{fullaudio|}}}</div></div>}} | ||
</ | </div>}} | ||
{{#if:{{{precededby|}}}{{{followedby|}}}{{{previous|}}}{{{next|}}}|< | {{#if:{{{precededby|}}}{{{followedby|}}}{{{previous|}}}{{{next|}}}|<div class="pi-item pi-group pi-border-color expanded-infobox-horizontal"> | ||
<h2 class="pi-item pi-header pi-secondary-background">Level sequence</h2> | <h2 class="pi-item pi-header pi-secondary-background">Level sequence</h2> | ||
{{#if:{{{precededby|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="precededby"><h3 class="pi-data-label pi-secondary-font">Preceded by</h3><div class="pi-data-value pi-font">{{{precededby|}}}</div></div>}} | {{#if:{{{precededby|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="precededby"><h3 class="pi-data-label pi-secondary-font">Preceded by</h3><div class="pi-data-value pi-font">{{{precededby|}}}</div></div>}} | ||
| Line 56: | Line 56: | ||
{{#if:{{{previous|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="previous"><h3 class="pi-data-label pi-secondary-font">Previous</h3><div class="pi-data-value pi-font">{{{previous|}}}</div></div>}} | {{#if:{{{previous|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="previous"><h3 class="pi-data-label pi-secondary-font">Previous</h3><div class="pi-data-value pi-font">{{{previous|}}}</div></div>}} | ||
{{#if:{{{next|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="next"><h3 class="pi-data-label pi-secondary-font">Next</h3><div class="pi-data-value pi-font">{{{next|}}}</div></div>}} | {{#if:{{{next|}}}|<div class="pi-item pi-data pi-item-spacing pi-border-color" data-source="next"><h3 class="pi-data-label pi-secondary-font">Next</h3><div class="pi-data-value pi-font">{{{next|}}}</div></div>}} | ||
</ | </div>}} | ||
</ | </div><noinclude> | ||
;Description | ;Description | ||
:This template is an infobox which provides information about a level at a glance. | :This template is an infobox which provides information about a level at a glance. | ||
Revision as of 01:31, 11 October 2026
- Description
- This template is an infobox which provides information about a level at a glance.
- Contextually, not all fields should be used at once, particularly those to do with level attributes, where only four (of difficulty, stars, moons, manaorbs, diamonds, coins, unvercoins, practicemode, normalmode) can properly display at one time. Refer to the syntax below for recommended usage between user levels and main levels.
- Syntax
{{IB-Level
|name = (automatic)
|image = (required) [specify .png image only]
|game = [main level]
|released = [main level]
|levelnumber = [main level]
|difficultymain = [main level] [specify image at x35px]
|id = [user level]
|creator = [user level]
|verifier = [user level]
|created = [user level]
|updated = [user level]
|difficulty = [user level] [specify image at x35px]
|stars = [classic level if applicable]
|moons = [platformer level if applicable]
|manaorbs = [main level (user level - unspecified, assumed under calculation)]
|diamonds = [user level if applicable]
|coins = [user level if applicable]
|unvercoins = [user level if applicable]
|practicemode = [main level if applicable] [specify image at x35px]
|normalmode = [main level] [specify image at x35px]
|length = [user level]
|objects = [user level]
|copytype = [user level]
|portals = [main level]
|sequences = [main level]
|downloads = [user level]
|likes = [user level]
|rating = [user level]
|artist =
|music =
|musicid =
|audio =
|fullaudio =
|precededby = [main level]
|followedby = [main level]
|previous = [user level]
|next = [user level]
}}
- Sample & output
{{IB-Level
|name = Spike Spike
|image =
|game =
|released =
|levelnumber =
|difficultymain =
|id = 130
|creator = RobTop
|verifier =
|created = Update 1.9
|updated = Update 2.1
|difficulty = [[File:Harder.png|x35px]]
|stars = 6
|moons =
|manaorbs =
|diamonds = 8
|coins = 3
|unvercoins =
|practicemode =
|normalmode =
|length = 20s (Short)
|objects = ?
|copytype = Password (789123)
|portals =
|sequences =
|downloads = 350,000+
|likes = 100,000+
|rating = Featured
|artist = DJVI
|music = Base After Base
|musicid =
|audio =
|fullaudio =
|precededby =
|followedby =
|previous = Block Block
|next = Saw Saw
}}
{{IB-Level
|name = Bounce ball thingy
|image = RobertTopala.png
|game = Geometry Stroll
|released = Update 6.9
|levelnumber = 42
|difficultymain = [[File:Auto.png|x35px]]
|id =
|creator =
|verifier =
|created =
|updated =
|difficulty =
|stars = 420
|moons =
|manaorbs = 9001
|diamonds =
|coins =
|unvercoins =
|practicemode = [[File:Cube004.png|x35px]]
|normalmode = [[File:Cube062.png|x35px]]
|length =
|objects =
|copytype =
|portals = Cube, Ship, Ball, UFO, Wave, Robot, Spider, Swing; Gravity, Mirror, Size, Speed, Dual, Teleportation
|sequences = C, .S, b, U,, W,,, R,,,, Sp. SwSw,
|downloads =
|likes =
|rating =
|artist = [https://zhenmuron.newgrounds.com Zhenmuron]
|music =
|musicid =
|audio = [[File:GeometryDashMenuTheme.mp3]]
|fullaudio = [[File:RandomSong06.mp3]]
|precededby = RubRub Origins
|followedby = RubRub Legacy
|previous =
|next =
}}