Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:Portal/Layout: Difference between revisions

Template page
Joe Beaudoin Jr. (talk | contribs)
No edit summary
Joe Beaudoin Jr. (talk | contribs)
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 2: Line 2:
     Master layout wrapper for all BattlestarWiki portals.
     Master layout wrapper for all BattlestarWiki portals.


     REQUIRED PARAMETERS
     REQUIRED
     ───────────────────
     ─────────────────────────────────────────────────────────────────
     |title=           Human-readable portal title
     |title=         Human-readable portal title
                          e.g. "Re-imagined Battlestar Galactica"
                        e.g. "Re-imagined Battlestar Galactica"
    |badge=            Short badge text shown beside the title
     |pagename=       Base page name (no "Portal:" prefix), used for
                          e.g. "RDM · 2003–2009"
                        edit links and sub-page transclusions.
     |pagename=         The base page name of this portal, used for
                        e.g. "Battlestar Galactica (RDM)"
                          edit links and sub-page transclusions.
                          e.g. "Battlestar Galactica (RDM)"
                          (do NOT include the "Portal:" prefix)
    |breadcrumb=      Wikitext breadcrumb trail.
                          e.g. "[[Main Page]] › [[Portal:Overview|Portals]] › Re-imagined Series"
    |active_series=    Exact label of the active series nav pill.
                          e.g. "Re-imagined Series (RDM)"


     STATS BAR PARAMETERS  (all optional; omitted stats are hidden)
     OPTIONAL DISPLAY
     ───────────────────────────────────────────────────────────────
     ─────────────────────────────────────────────────────────────────
     |stat_category=   Category name (no prefix) for live article count.
     |badge=         Short badge beside the title  e.g. "RDM · 2003–2009"
    |stat_episodes=    e.g. 73
     |breadcrumb=     Wikitext breadcrumb e.g. "[[Main Page]] › [[Portal:Overview|Portals]] › Re-imagined Series"
     |stat_characters=  e.g. 62
     |active_series= Label of the active series nav pill
     |stat_seasons=     e.g. 4
                        e.g. "Re-imagined Series (RDM)"
    |stat_year=        e.g. 2003


     DYNAMIC WIDGET PARAMETERS
     STATS BAR  (all optional; missing ones are simply omitted)
     ──────────────────────────
     ─────────────────────────────────────────────────────────────────
     |image_category=   Category name for the random image slider.
     |stat_category=   Category name (no prefix) — article count is
     |newest_categoryCategory name for the newest-article widget.
                          fetched live by JS and injected into the span
                          with class portal-stat-count.
    |stat_episodes=    Static number e.g. 73
     |stat_charactersStatic number e.g. 62
    |stat_seasons=    Static number e.g. 4
    |stat_year=        Static year  e.g. 2003


     CONTENT SLOT PARAMETERS (wikitext / transclusions)
    IMAGE CAROUSEL
     ─────────────────────────────────────────────────────
    ─────────────────────────────────────────────────────────────────
    |image_category=  Category name on media.battlestarwiki.org used
                          as fallback when /ImageList sub-page doesn't
                          exist. e.g. "RDM" (resolves to Category: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, to hide it from
     |portal_exclude=  Full title of this portal to hide from the
                           the related-portals grid.
                           related-portals grid.
                           e.g. "Portal:Battlestar Galactica (RDM)"
                           e.g. "Portal:Battlestar Galactica (RDM)"


     VISIBILITY FLAGS  (default "yes"; set to "no" to hide)
     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 -->
    HEADER: title, badge, breadcrumb, stats
    ═══════════════════════════════════════════ -->
<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">{{#invoke:Portal|stats|category={{{stat_category|}}}|episodes={{{stat_episodes|}}}|characters={{{stat_characters|}}}|seasons={{{stat_seasons|}}}|year={{{stat_year|}}}}}</div>}}
{{#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}}}">&hellip;</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 portal-stat-count" data-category="{{{stat_characters}}}">&hellip;</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 -->
    SERIES NAVIGATION PILLS
    ═══════════════════════════════ -->
{{Portal/SeriesNav|active={{{active_series|}}}}}
{{Portal/SeriesNav|active={{{active_series|}}}}}


<!-- ═══════════════════════════════
<!-- MAIN GRID -->
    MAIN TWO-COLUMN GRID
    ═══════════════════════════════ -->
<div class="portal-main-grid">
<div class="portal-main-grid">


<!-- ─────────────────────────────
<!-- LEFT COLUMN -->
    LEFT / MAIN 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-hero" id="portal-widget-slider" data-category="{{{image_category|}}}">
<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>&#32;[[Portal:{{{pagename}}}/ImageList|<span class="portal-widget-edit">[edit list]</span>]]|}}</div>
<div class="portal-hero-bg"></div>
<div class="portal-widget-body portal-slider-wrapper">{{#invoke:Portal|randomImage|category={{{image_category|}}}|size=500px}}<div class="portal-slider-nav" data-category="{{{image_category|}}}"><button class="portal-slider-prev" aria-label="Previous"></button><span class="portal-slider-dots"></span><button class="portal-slider-next" aria-label="Next">›</button><span class="portal-slider-counter"></span>{{#if:{{{image_category|}}}|&#32;<a class="portal-slider-source" href="/wiki/Category:{{{image_category|}}}">Browse category ↗</a>|}}</div>
<div class="portal-hero-overlay"></div>
</div><!-- /.portal-widget-body -->
<div class="portal-hero-content"><div class="portal-hero-caption"></div></div>
</div><!-- /.portal-widget#slider -->
<div class="portal-hero-nav"><span class="portal-hero-prev" role="button" tabindex="0" aria-label="Previous image">&#x2039;</span><span class="portal-hero-dots"></span><span class="portal-hero-next" role="button" tabindex="0" aria-label="Next image">&#x203a;</span></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|}}}|&#32;in [[Portal:{{{pagename}}}|{{{title}}}]]}}</span><span class="portal-widget-edit">[[Special:NewPages|browse all]]</span></div>
<div class="portal-widget-head"><span class="portal-widget-title">Newest article{{#if:{{{newest_category|}}}|&#32;[[Portal:{{{pagename}}}|{{{title}}}]]}}</span><span class="portal-widget-edit">[[Special:NewPages|browse all]]</span></div>
<div class="portal-widget-body">{{#invoke:Portal|newestPage|category={{{newest_category|}}}}}</div>
<div class="portal-widget-body"><div class="portal-newest-inner" data-category="{{{newest_category|}}}"><!-- populated by portal JS --></div></div>
{{#if:{{{newest_category|}}}|<div class="portal-widget-foot"><span>Pulled from [[:Category:{{{newest_category|}}}]]</span><span>[[Special:NewPages|See all new articles →]]</span></div>|}}
{{#if:{{{newest_category|}}}|<div class="portal-widget-foot"><span>Filtered to [[:Category:{{{newest_category|}}}]]</span>[[Special:NewPages|See all new articles →]]</div>}}
</div><!-- /.portal-widget#newest -->
</div><!--/#portal-widget-newest-->
}}
}}


Line 109: Line 112:
<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><!-- /.portal-widget#intro -->
</div><!--/#portal-widget-intro-->
}}
}}


{{#ifeq:{{{show_selected|yes}}}|yes|{{#if:{{{selected_article|}}}|
{{#ifeq:{{{show_selected|yes}}}|yes|{{#ifexist:Portal:{{{pagename}}}/Selected article|
<div class="portal-widget" id="portal-widget-selected">
<div class="portal-widget" id="portal-widget-selected">
<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">{{Portal:{{{pagename}}}/Selected article}}</div>
</div><!-- /.portal-widget#selected -->
</div><!--/#portal-widget-selected-->
}}}}
|}}}}


{{#if:{{{characters|}}}|
{{#if:{{{characters|}}}|
Line 123: Line 126:
<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><!-- /.portal-widget#characters -->
</div><!--/#portal-widget-characters-->
}}
}}


Line 130: Line 133:
<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><!-- /.portal-widget#episodes -->
</div><!--/#portal-widget-episodes-->
}}
}}


{{#if:{{{featured_episode|}}}|
{{#if:{{{featured_episodes|}}}|
<div class="portal-widget" id="portal-widget-featured">
<div class="portal-widget" id="portal-widget-featured" data-episodes="{{{featured_episodes}}}">
<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><span class="portal-widget-meta portal-featured-nav"><span class="portal-featured-prev" role="button" tabindex="0">&#x2039;</span><span class="portal-featured-dots"></span><span class="portal-featured-next" role="button" tabindex="0">&#x203a;</span></span></div>
<div class="portal-widget-body">{{{featured_episode}}}</div>
<div class="portal-widget-body portal-featured-body"><!-- populated by portal JS --></div>
</div><!-- /.portal-widget#featured -->
</div><!--/#portal-widget-featured-->
}}
}}


Line 144: Line 147:
<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><!-- /.portal-widget#dyk -->
</div><!--/#portal-widget-dyk-->
}}
}}


</div><!-- /.portal-main-col -->
</div><!--/.portal-main-col-->


<!-- ─────────────────────────────
<!-- SIDEBAR -->
    RIGHT SIDEBAR
    ───────────────────────────── -->
<div class="portal-sidebar">
<div class="portal-sidebar">


Line 157: Line 158:
<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|category={{{stat_category|}}}}}</div>
<div class="portal-widget-body">{{#invoke:Portal|colonialCalendar}}</div>
</div><!-- /.portal-widget#calendar -->
</div><!--/#portal-widget-calendar-->
}}
}}


Line 165: Line 166:
<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><!-- /.portal-widget#related -->
</div><!--/#portal-widget-related-->
}}
}}


Line 172: Line 173:
<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><!-- /.portal-widget#subportals -->
</div><!--/#portal-widget-subportals-->
}}
}}


Line 179: Line 180:
<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><!-- /.portal-widget#todo -->
</div><!--/#portal-widget-todo-->
}}
}}


{{#if:{{{categories|}}}|
{{#if:{{{browse_topics|}}}|
<div class="portal-widget" id="portal-widget-categories">
<div class="portal-widget" id="portal-widget-browse">
<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">Browse by topic</span></div>
<div class="portal-widget-body">{{{categories}}}</div>
<div class="portal-widget-body"><div class="portal-browse-bar">{{{browse_topics}}}</div></div>
</div><!-- /.portal-widget#categories -->
</div><!--/#portal-widget-browse-->
}}
}}


{{#if:{{{orphans|}}}|
{{#if:{{{stat_category|}}}|
<div class="portal-widget" id="portal-widget-orphans">
<div class="portal-widget" id="portal-widget-orphans" data-category="{{{stat_category}}}">
<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><span class="portal-widget-meta"><small>no incoming links</small></span></div>
<div class="portal-widget-body">{{{orphans}}}</div>
<div class="portal-widget-body"><div class="portal-orphans-inner"><!-- populated by portal JS --></div></div>
</div><!-- /.portal-widget#orphans -->
</div><!--/#portal-widget-orphans-->
}}
}}


{{#if:{{{podcasts|}}}|
{{#if:{{{show_podcasts|yes}}}|{{#ifexist:Portal:{{{pagename}}}/Podcasts|
<div class="portal-widget" id="portal-widget-podcasts">
<div class="portal-widget" id="portal-widget-podcasts">
<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">[browse]</span>]]</div>
<div class="portal-widget-body">{{{podcasts}}}</div>
<div class="portal-widget-body"><div class="portal-podcast-teaser">Episode podcasts — from cast, crew, and producers — are available for all seasons. [[Portal:{{{pagename}}}/Podcasts|Browse all episode podcasts →]]</div></div>
</div><!-- /.portal-widget#podcasts -->
</div><!--/#portal-widget-podcasts-->
}}
|}}}}


</div><!-- /.portal-sidebar -->
</div><!--/.portal-sidebar-->


</div><!-- /.portal-main-grid -->
</div><!--/.portal-main-grid-->
</div><!-- /.portal-page -->
</div><!--/.portal-page-->

Latest revision as of 13:57, 16 April 2026

{{{title}}}


Newest articlebrowse all







On this day in BSG[[Portal:{{{pagename}}}/Calendar|[edit]]]
April 16
Real-world BSG broadcast history
No recorded BSG events on this date.