Template:Portal/Layout: Difference between revisions
Template page
More actions
No edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
Master layout wrapper for all BattlestarWiki portals. | Master layout wrapper for all BattlestarWiki portals. | ||
REQUIRED | REQUIRED | ||
───────────────────────────────────────────────────────────────── | |||
|title= | |title= Human-readable portal title | ||
e.g. "Re-imagined Battlestar Galactica" | |||
|pagename= Base page name (no "Portal:" prefix), used for | |||
edit links and sub-page transclusions. | |||
|pagename= | e.g. "Battlestar Galactica (RDM)" | ||
OPTIONAL DISPLAY | |||
───────────────────────────────────────────────────────────────── | |||
| | |badge= Short badge beside the title e.g. "RDM · 2003–2009" | ||
|breadcrumb= Wikitext breadcrumb e.g. "[[Main Page]] › [[Portal:Overview|Portals]] › Re-imagined Series" | |||
| | |active_series= Label of the active series nav pill | ||
| | e.g. "Re-imagined Series (RDM)" | ||
STATS BAR (all optional; missing ones are simply omitted) | |||
───────────────────────────────────────────────────────────────── | |||
| | |stat_category= Category name (no prefix) — article count is | ||
| | fetched live by JS and injected into the span | ||
with class portal-stat-count. | |||
|stat_episodes= Static number e.g. 73 | |||
|stat_characters= Static number e.g. 62 | |||
|stat_seasons= Static number e.g. 4 | |||
|stat_year= Static year e.g. 2003 | |||
CONTENT | IMAGE CAROUSEL | ||
───────────────────────────────────────────────────────────────── | |||
|image_category= Category name on media.battlestarwiki.org used | |||
as fallback when /ImageList sub-page doesn't | |||
exist. e.g. "Images (RDM)" | |||
The /ImageList sub-page path is derived | |||
automatically from |pagename=. | |||
NEWEST ARTICLE | |||
───────────────────────────────────────────────────────────────── | |||
|newest_category= Category name used to filter newest articles. | |||
e.g. "Characters (RDM)" | |||
CONTENT SLOTS (each accepts wikitext / sub-page transclusions) | |||
───────────────────────────────────────────────────────────────── | |||
|intro= | |intro= | ||
|selected_article= | |selected_article= | ||
| Line 44: | Line 54: | ||
|podcasts= | |podcasts= | ||
PORTAL TYPE | PORTAL TYPE & RELATED PORTALS | ||
───────────────────────────────────────────────────────────────── | |||
|portal_type= "series" (default) or "topic" | |portal_type= "series" (default) or "topic" | ||
|portal_exclude= Full title of this portal | |portal_exclude= Full title of this portal to hide from the | ||
related-portals grid. | |||
e.g. "Portal:Battlestar Galactica (RDM)" | e.g. "Portal:Battlestar Galactica (RDM)" | ||
VISIBILITY FLAGS (default | VISIBILITY FLAGS (default yes; set to "no" to suppress a widget) | ||
───────────────────────────────────────────────────────────────── | |||
|show_stats= | |show_stats= yes/no | ||
|show_slider= | |show_slider= yes/no | ||
|show_newest= | |show_newest= yes/no | ||
|show_selected= | |show_selected= yes/no | ||
|show_calendar= | |show_calendar= yes/no | ||
|show_related= | |show_related= yes/no | ||
--> | --> | ||
<div class="portal-page"> | <div class="portal-page"> | ||
<!-- | <!-- HEADER --> | ||
<div class="portal-header"> | <div class="portal-header"> | ||
<div class="portal-header-top"> | <div class="portal-header-top"> | ||
| Line 70: | Line 78: | ||
{{#if:{{{breadcrumb|}}}|<div class="portal-breadcrumb">{{{breadcrumb}}}</div>}} | {{#if:{{{breadcrumb|}}}|<div class="portal-breadcrumb">{{{breadcrumb}}}</div>}} | ||
<div class="portal-header-links">[[Battlestar Wiki:Galactipedians Quorum|Quorum]] · [[Portal:Overview|Overview]] · [[Battlestar Wiki:News|News]] · [[Portal:Blogs|Blogs]]</div> | <div class="portal-header-links">[[Battlestar Wiki:Galactipedians Quorum|Quorum]] · [[Portal:Overview|Overview]] · [[Battlestar Wiki:News|News]] · [[Portal:Blogs|Blogs]]</div> | ||
</div><!-- /.portal-header-top --> | </div><!--/.portal-header-top--> | ||
{{#ifeq:{{{show_stats|yes}}}|yes|<div class="portal-stats-bar">{{# | {{#ifeq:{{{show_stats|yes}}}|yes|<div class="portal-stats-bar">{{#if:{{{stat_category|}}}|<div class="portal-stat"><span class="portal-stat-num portal-stat-count" data-category="{{{stat_category}}}">…</span><div class="portal-stat-label">articles</div></div>}}{{#if:{{{stat_episodes|}}}|<div class="portal-stat"><div class="portal-stat-num">{{{stat_episodes}}}</div><div class="portal-stat-label">episodes</div></div>}}{{#if:{{{stat_characters|}}}|<div class="portal-stat"><div class="portal-stat-num">{{{stat_characters}}}</div><div class="portal-stat-label">characters</div></div>}}{{#if:{{{stat_seasons|}}}|<div class="portal-stat"><div class="portal-stat-num">{{{stat_seasons}}}</div><div class="portal-stat-label">seasons</div></div>}}{{#if:{{{stat_year|}}}|<div class="portal-stat"><div class="portal-stat-num">{{{stat_year}}}</div><div class="portal-stat-label">first aired</div></div>}}</div>}} | ||
</div><!-- /.portal-header --> | </div><!--/.portal-header--> | ||
<!-- | <!-- SERIES NAV PILLS --> | ||
{{Portal/SeriesNav|active={{{active_series|}}}}} | {{Portal/SeriesNav|active={{{active_series|}}}}} | ||
<!-- | <!-- MAIN GRID --> | ||
<div class="portal-main-grid"> | <div class="portal-main-grid"> | ||
<!-- | <!-- LEFT COLUMN --> | ||
<div class="portal-main-col"> | <div class="portal-main-col"> | ||
{{#ifeq:{{{show_slider|yes}}}|yes| | {{#ifeq:{{{show_slider|yes}}}|yes| | ||
<div class="portal-widget" id="portal-widget-slider"> | <div class="portal-widget" id="portal-widget-slider"> | ||
<div class="portal-widget-head"><span class="portal-widget-title">Portal image gallery</span>{{#if:{{{image_category|}}}|<span class="portal-widget-meta">[[Category:{{{image_category|}}}|{{{image_category|}}}]]</span> | <div class="portal-widget-head"><span class="portal-widget-title">Portal image gallery</span>{{#if:{{{image_category|}}}|<span class="portal-widget-meta">[[:Category:{{{image_category|}}}|{{{image_category|}}}]]</span>}} [[Portal:{{{pagename}}}/ImageList|<span class="portal-widget-edit">[edit list]</span>]]</div> | ||
<div class="portal-widget-body portal-slider-wrapper"> | <div class="portal-widget-body portal-slider-wrapper"><!-- server-rendered first image: picked daily by Module:Portal --><div class="portal-slider-nav" data-category="{{{image_category|}}}" data-listpage="Portal:{{{pagename}}}/ImageList"><button class="portal-slider-prev" aria-label="Previous image">‹</button><span class="portal-slider-dots"></span><button class="portal-slider-next" aria-label="Next image">›</button><span class="portal-slider-counter"></span>{{#if:{{{image_category|}}}| <a class="portal-slider-source" href="https://media.battlestarwiki.org/wiki/Category:{{{image_category|}}}">Browse gallery ↗</a>}}</div> | ||
</div><!-- /.portal-widget-body --> | </div><!--/.portal-widget-body--> | ||
</div><!-- / | </div><!--/#portal-widget-slider--> | ||
}} | }} | ||
{{#ifeq:{{{show_newest|yes}}}|yes| | {{#ifeq:{{{show_newest|yes}}}|yes| | ||
<div class="portal-widget" id="portal-widget-newest"> | <div class="portal-widget" id="portal-widget-newest"> | ||
<div class="portal-widget-head"><span class="portal-widget-title">Newest article{{#if:{{{newest_category|}}}|  | <div class="portal-widget-head"><span class="portal-widget-title">Newest article{{#if:{{{newest_category|}}}| — [[Portal:{{{pagename}}}|{{{title}}}]]}}</span><span class="portal-widget-edit">[[Special:NewPages|browse all]]</span></div> | ||
<div class="portal-widget-body">{{# | <div class="portal-widget-body"><div class="portal-newest-inner"{{#if:{{{newest_category|}}}| data-category="{{{newest_category}}}"}}><!-- populated by portal JS --></div></div> | ||
{{#if:{{{newest_category|}}}|<div class="portal-widget-foot"><span> | {{#if:{{{newest_category|}}}|<div class="portal-widget-foot"><span>Filtered to [[:Category:{{{newest_category|}}}]]</span><a href="/wiki/Special:NewPages">See all new articles →</a></div>}} | ||
</div><!-- / | </div><!--/#portal-widget-newest--> | ||
}} | }} | ||
| Line 109: | Line 111: | ||
<div class="portal-widget-head"><span class="portal-widget-title">The {{{title}}} Portal</span>[[Portal:{{{pagename}}}/Introduction|<span class="portal-widget-edit">[edit]</span>]]</div> | <div class="portal-widget-head"><span class="portal-widget-title">The {{{title}}} Portal</span>[[Portal:{{{pagename}}}/Introduction|<span class="portal-widget-edit">[edit]</span>]]</div> | ||
<div class="portal-widget-body">{{{intro}}}</div> | <div class="portal-widget-body">{{{intro}}}</div> | ||
</div><!-- / | </div><!--/#portal-widget-intro--> | ||
}} | }} | ||
| Line 116: | Line 118: | ||
<div class="portal-widget-head"><span class="portal-widget-title">Selected article</span>[[Portal:{{{pagename}}}/Selected article|<span class="portal-widget-edit">[edit]</span>]]</div> | <div class="portal-widget-head"><span class="portal-widget-title">Selected article</span>[[Portal:{{{pagename}}}/Selected article|<span class="portal-widget-edit">[edit]</span>]]</div> | ||
<div class="portal-widget-body">{{{selected_article}}}</div> | <div class="portal-widget-body">{{{selected_article}}}</div> | ||
</div><!-- / | </div><!--/#portal-widget-selected--> | ||
}}}} | }}}} | ||
| Line 123: | Line 125: | ||
<div class="portal-widget-head"><span class="portal-widget-title">Characters</span>[[Portal:{{{pagename}}}/Characters|<span class="portal-widget-edit">[edit]</span>]]</div> | <div class="portal-widget-head"><span class="portal-widget-title">Characters</span>[[Portal:{{{pagename}}}/Characters|<span class="portal-widget-edit">[edit]</span>]]</div> | ||
<div class="portal-widget-body">{{{characters}}}</div> | <div class="portal-widget-body">{{{characters}}}</div> | ||
</div><!-- / | </div><!--/#portal-widget-characters--> | ||
}} | }} | ||
| Line 130: | Line 132: | ||
<div class="portal-widget-head"><span class="portal-widget-title">Episode Guide</span>[[Portal:{{{pagename}}}/Episode Guide|<span class="portal-widget-edit">[edit]</span>]]</div> | <div class="portal-widget-head"><span class="portal-widget-title">Episode Guide</span>[[Portal:{{{pagename}}}/Episode Guide|<span class="portal-widget-edit">[edit]</span>]]</div> | ||
<div class="portal-widget-body">{{{episode_guide}}}</div> | <div class="portal-widget-body">{{{episode_guide}}}</div> | ||
</div><!-- / | </div><!--/#portal-widget-episodes--> | ||
}} | }} | ||
| Line 137: | Line 139: | ||
<div class="portal-widget-head"><span class="portal-widget-title">Featured Episode</span>[[Portal:{{{pagename}}}/Featured Episode|<span class="portal-widget-edit">[edit]</span>]]</div> | <div class="portal-widget-head"><span class="portal-widget-title">Featured Episode</span>[[Portal:{{{pagename}}}/Featured Episode|<span class="portal-widget-edit">[edit]</span>]]</div> | ||
<div class="portal-widget-body">{{{featured_episode}}}</div> | <div class="portal-widget-body">{{{featured_episode}}}</div> | ||
</div><!-- / | </div><!--/#portal-widget-featured--> | ||
}} | }} | ||
| Line 144: | Line 146: | ||
<div class="portal-widget-head"><span class="portal-widget-title">Did you know…</span>[[Portal:{{{pagename}}}/Did you know|<span class="portal-widget-edit">[edit]</span>]]</div> | <div class="portal-widget-head"><span class="portal-widget-title">Did you know…</span>[[Portal:{{{pagename}}}/Did you know|<span class="portal-widget-edit">[edit]</span>]]</div> | ||
<div class="portal-widget-body portal-dyk-body">{{{did_you_know}}}</div> | <div class="portal-widget-body portal-dyk-body">{{{did_you_know}}}</div> | ||
</div><!-- / | </div><!--/#portal-widget-dyk--> | ||
}} | }} | ||
</div><!-- /.portal-main-col --> | </div><!--/.portal-main-col--> | ||
<!-- | <!-- SIDEBAR --> | ||
<div class="portal-sidebar"> | <div class="portal-sidebar"> | ||
| Line 157: | Line 157: | ||
<div class="portal-widget" id="portal-widget-calendar"> | <div class="portal-widget" id="portal-widget-calendar"> | ||
<div class="portal-widget-head"><span class="portal-widget-title">On this day in BSG</span>[[Portal:{{{pagename}}}/Calendar|<span class="portal-widget-edit">[edit]</span>]]</div> | <div class="portal-widget-head"><span class="portal-widget-title">On this day in BSG</span>[[Portal:{{{pagename}}}/Calendar|<span class="portal-widget-edit">[edit]</span>]]</div> | ||
<div class="portal-widget-body">{{#invoke:Portal|colonialCalendar | <div class="portal-widget-body">{{#invoke:Portal|colonialCalendar}}</div> | ||
</div><!-- / | </div><!--/#portal-widget-calendar--> | ||
}} | }} | ||
| Line 165: | Line 165: | ||
<div class="portal-widget-head"><span class="portal-widget-title">Related portals</span></div> | <div class="portal-widget-head"><span class="portal-widget-title">Related portals</span></div> | ||
<div class="portal-widget-body">{{#invoke:Portal|relatedPortals|type={{{portal_type|series}}}|exclude={{{portal_exclude|}}}}}</div> | <div class="portal-widget-body">{{#invoke:Portal|relatedPortals|type={{{portal_type|series}}}|exclude={{{portal_exclude|}}}}}</div> | ||
</div><!-- / | </div><!--/#portal-widget-related--> | ||
}} | }} | ||
| Line 172: | Line 172: | ||
<div class="portal-widget-head"><span class="portal-widget-title">Subportals</span>[[Portal:{{{pagename}}}/Subportals|<span class="portal-widget-edit">[edit]</span>]]</div> | <div class="portal-widget-head"><span class="portal-widget-title">Subportals</span>[[Portal:{{{pagename}}}/Subportals|<span class="portal-widget-edit">[edit]</span>]]</div> | ||
<div class="portal-widget-body">{{{subportals}}}</div> | <div class="portal-widget-body">{{{subportals}}}</div> | ||
</div><!-- / | </div><!--/#portal-widget-subportals--> | ||
}} | }} | ||
| Line 179: | Line 179: | ||
<div class="portal-widget-head"><span class="portal-widget-title">Things you can do</span>[[Portal:{{{pagename}}}/Things you can do|<span class="portal-widget-edit">[edit]</span>]]</div> | <div class="portal-widget-head"><span class="portal-widget-title">Things you can do</span>[[Portal:{{{pagename}}}/Things you can do|<span class="portal-widget-edit">[edit]</span>]]</div> | ||
<div class="portal-widget-body">{{{things_to_do}}}</div> | <div class="portal-widget-body">{{{things_to_do}}}</div> | ||
</div><!-- / | </div><!--/#portal-widget-todo--> | ||
}} | }} | ||
| Line 186: | Line 186: | ||
<div class="portal-widget-head"><span class="portal-widget-title">Categories</span>[[Portal:{{{pagename}}}/Categories|<span class="portal-widget-edit">[edit]</span>]]</div> | <div class="portal-widget-head"><span class="portal-widget-title">Categories</span>[[Portal:{{{pagename}}}/Categories|<span class="portal-widget-edit">[edit]</span>]]</div> | ||
<div class="portal-widget-body">{{{categories}}}</div> | <div class="portal-widget-body">{{{categories}}}</div> | ||
</div><!-- / | </div><!--/#portal-widget-categories--> | ||
}} | }} | ||
| Line 193: | Line 193: | ||
<div class="portal-widget-head"><span class="portal-widget-title">Orphaned articles</span>[[Portal:{{{pagename}}}/Orphans|<span class="portal-widget-edit">[edit]</span>]]</div> | <div class="portal-widget-head"><span class="portal-widget-title">Orphaned articles</span>[[Portal:{{{pagename}}}/Orphans|<span class="portal-widget-edit">[edit]</span>]]</div> | ||
<div class="portal-widget-body">{{{orphans}}}</div> | <div class="portal-widget-body">{{{orphans}}}</div> | ||
</div><!-- / | </div><!--/#portal-widget-orphans--> | ||
}} | }} | ||
| Line 200: | Line 200: | ||
<div class="portal-widget-head"><span class="portal-widget-title">Episode podcasts</span>[[Portal:{{{pagename}}}/Podcasts|<span class="portal-widget-edit">[edit]</span>]]</div> | <div class="portal-widget-head"><span class="portal-widget-title">Episode podcasts</span>[[Portal:{{{pagename}}}/Podcasts|<span class="portal-widget-edit">[edit]</span>]]</div> | ||
<div class="portal-widget-body">{{{podcasts}}}</div> | <div class="portal-widget-body">{{{podcasts}}}</div> | ||
</div><!-- / | </div><!--/#portal-widget-podcasts--> | ||
}} | }} | ||
</div><!-- /.portal-sidebar --> | </div><!--/.portal-sidebar--> | ||
</div><!-- /.portal-main-grid --> | </div><!--/.portal-main-grid--> | ||
</div><!-- /.portal-page --> | </div><!--/.portal-page--> | ||