Template:Political-party: Difference between revisions

From PoliticalSG
No edit summary
No edit summary
Line 64: Line 64:
|election_symbol={{{election_symbol|}}}
|election_symbol={{{election_symbol|}}}
|uen={{{uen|}}}
|uen={{{uen|}}}
}}</includeonly>
<!-- ── STATUS BADGE HELPER ─────────────────────────────────────── -->
<!-- Maps status string to a coloured badge, similar to how Wikipedia
    infobox company signals defunct/active state visually. -->
<includeonly>{{#switch: {{{status|}}}
| active      = <span style="display:inline-block;padding:1px 7px;border-radius:3px;background:#d4edda;color:#155724;font-size:90%;font-weight:bold;">Active</span>
| deregistered = <span style="display:inline-block;padding:1px 7px;border-radius:3px;background:#f8d7da;color:#721c24;font-size:90%;font-weight:bold;">Deregistered</span>
| merged      = <span style="display:inline-block;padding:1px 7px;border-radius:3px;background:#fff3cd;color:#856404;font-size:90%;font-weight:bold;">Merged</span>
| dissolved    = <span style="display:inline-block;padding:1px 7px;border-radius:3px;background:#e2e3e5;color:#383d41;font-size:90%;font-weight:bold;">Dissolved</span>
| #default    = {{{status|}}}
}}
}}
</includeonly>


<!-- ── DISPLAY INFOBOX ─────────────────────────────────────────── -->
<!-- ================================================================
<includeonly><div class="infobox-political-party" style="width:280px;min-width:200px;max-width:320px;float:right;clear:right;margin:0 0 1em 1.5em;font-size:88%;line-height:1.5;border:1px solid #a2a9b1;background:#f8f9fa;border-collapse:collapse;">
    DISPLAY INFOBOX
    Everything below is inside <includeonly> so nothing leaks
    onto the template page itself.
    ================================================================ -->
<div class="infobox-political-party" style="width:280px;min-width:200px;max-width:320px;float:right;clear:right;margin:0 0 1em 1.5em;font-size:88%;line-height:1.5;border:1px solid #a2a9b1;background:#f8f9fa;">


<!-- ── LOGO / IMAGE ─────────────────────────────────────────────── -->
<!-- LOGO -->
<div style="text-align:center;padding:8px 4px 4px;">
<div style="text-align:center;padding:8px 4px 4px;background:#ffffff;">{{#if:{{{image|}}}|[[File:{{{image}}}|200px|center|alt={{{name|}}} logo]]|<div style="height:60px;background:#f0f0f0;margin:0 30px;border-radius:3px;"></div>}}</div>
{{#if:{{{image|}}}
| [[File:{{{image}}}|200px|center|alt={{{name|}}} logo]]
| <!-- no image: show placeholder bar -->
  <div style="height:8px;background:#e8e8e8;margin:0 20px;border-radius:2px;"></div>
}}
</div>


<!-- ── PARTY NAME HEADER ──────────────────────────────────────── -->
<!-- COLOUR STRIPE: only rendered when colours field has a value -->
<div style="background:#2c3e50;color:#ffffff;text-align:center;padding:6px 8px;font-size:108%;font-weight:bold;line-height:1.3;">
{{#if:{{{colours|}}}|<div style="height:5px;background:{{{colours|}}};margin:0;"></div>}}
{{#if:{{{name|}}}|{{{name}}}|''Party name missing''}}
{{#if:{{{abbreviation|}}}|<br/><span style="font-size:80%;font-weight:normal;opacity:0.85;">({{{abbreviation|}}}</span>{{#if:{{{election_symbol|}}}|&nbsp;·&nbsp;Symbol:&nbsp;{{{election_symbol|}}}|}})}}
</div>


<!-- ── COLOUR STRIPE (shown only when colours field is set) ────── -->
<!-- PARTY NAME HEADER -->
{{#if:{{{colours|}}}
<div style="background:#2c3e50;color:#ffffff;text-align:center;padding:7px 8px 6px;font-size:108%;font-weight:bold;line-height:1.35;">{{#if:{{{name|}}}|{{{name}}}|''Party name missing''}}{{#if:{{{abbreviation|}}}|<br/><span style="font-size:82%;font-weight:normal;opacity:0.85;">({{{abbreviation|}}}){{#if:{{{election_symbol|}}}|&nbsp;&middot;&nbsp;{{{election_symbol|}}}}}</span>|}}</div>
| <div style="height:5px;background:{{{colours|#cccccc}}};"></div>
| <div style="height:5px;background:#cccccc;"></div>
}}


<!-- ── INFOBOX ROWS ───────────────────────────────────────────── -->
<!-- INFOBOX TABLE -->
<table style="width:100%;border-collapse:collapse;background:transparent;">
<table style="width:100%;border-collapse:collapse;background:transparent;">


<!-- Other names -->
<!-- Other names -->
{{#if:{{{other_names|}}}
{{#if:{{{other_names|}}}|<tr><th style="width:38%;padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;white-space:nowrap;">Other names</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{other_names|}}}</td></tr>}}
|<tr><th style="width:38%;padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">Other names</th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{other_names|}}}</td></tr>
}}


<!-- Status (always shown) -->
<!-- Status always shown -->
<tr><th style="width:38%;padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">Status</th>
<tr><th style="width:38%;padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:middle;font-weight:bold;background:#eaecf0;white-space:nowrap;">Status</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:middle;">{{#switch:{{{status|}}}|active=<span style="display:inline-block;padding:1px 8px;border-radius:3px;background:#d4edda;color:#155724;font-size:90%;font-weight:bold;">Active</span>|deregistered=<span style="display:inline-block;padding:1px 8px;border-radius:3px;background:#f8d7da;color:#721c24;font-size:90%;font-weight:bold;">Deregistered</span>|merged=<span style="display:inline-block;padding:1px 8px;border-radius:3px;background:#fff3cd;color:#856404;font-size:90%;font-weight:bold;">Merged</span>|dissolved=<span style="display:inline-block;padding:1px 8px;border-radius:3px;background:#e2e3e5;color:#383d41;font-size:90%;font-weight:bold;">Dissolved</span>|#default={{{status|}}}
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{#switch: {{{status|}}}
| active       = <span style="display:inline-block;padding:1px 7px;border-radius:3px;background:#d4edda;color:#155724;font-size:90%;font-weight:bold;">Active</span>
| deregistered = <span style="display:inline-block;padding:1px 7px;border-radius:3px;background:#f8d7da;color:#721c24;font-size:90%;font-weight:bold;">Deregistered</span>
| merged       = <span style="display:inline-block;padding:1px 7px;border-radius:3px;background:#fff3cd;color:#856404;font-size:90%;font-weight:bold;">Merged</span>
| dissolved   = <span style="display:inline-block;padding:1px 7px;border-radius:3px;background:#e2e3e5;color:#383d41;font-size:90%;font-weight:bold;">Dissolved</span>
| #default     = {{{status|}}}
}}</td></tr>
}}</td></tr>


<!-- ── SECTION HEADER: Leadership ────────────────────────────── -->
<!-- ── SECTION: Leadership ──────────────────────────────────── -->
{{#if:{{{leader_name1|}}}
{{#if:{{{leader_name1|}}}|<tr><th colspan="2" style="padding:3px 6px;border-top:1px solid #a2a9b1;background:#2c3e50;color:#fff;font-size:90%;text-align:left;letter-spacing:0.03em;">Leadership</th></tr>}}
|<tr><th colspan="2" style="padding:3px 6px;border-top:1px solid #a2a9b1;background:#2c3e50;color:#fff;font-size:90%;text-align:left;letter-spacing:0.04em;">Leadership</th></tr>
}}


<!-- Leader 1 -->
<!-- Leader 1 — slug auto-formatted: hyphens → spaces for display text -->
{{#if:{{{leader_name1|}}}
{{#if:{{{leader_name1|}}}|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">{{#if:{{{leader_designation1|}}}|{{{leader_designation1|}}}|Leader}}</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">[[{{{leader_name1|}}}|{{ucfirst:{{#replace:{{{leader_name1|}}}|-| }}}}]]</td></tr>}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">
      {{#if:{{{leader_designation1|}}}|{{{leader_designation1|}}}|Leader}}
    </th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">[[{{{leader_name1|}}}]]</td></tr>
}}


<!-- Leader 2 -->
<!-- Leader 2 -->
{{#if:{{{leader_name2|}}}
{{#if:{{{leader_name2|}}}|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">{{#if:{{{leader_designation2|}}}|{{{leader_designation2|}}}|Deputy}}</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">[[{{{leader_name2|}}}|{{ucfirst:{{#replace:{{{leader_name2|}}}|-| }}}}]]</td></tr>}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">
      {{#if:{{{leader_designation2|}}}|{{{leader_designation2|}}}|Deputy}}
    </th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">[[{{{leader_name2|}}}]]</td></tr>
}}


<!-- Leader 3 -->
<!-- Leader 3 -->
{{#if:{{{leader_name3|}}}
{{#if:{{{leader_name3|}}}|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">{{#if:{{{leader_designation3|}}}|{{{leader_designation3|}}}|Other leader}}</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">[[{{{leader_name3|}}}|{{ucfirst:{{#replace:{{{leader_name3|}}}|-| }}}}]]</td></tr>}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">
      {{#if:{{{leader_designation3|}}}|{{{leader_designation3|}}}|Other leader}}
    </th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">[[{{{leader_name3|}}}]]</td></tr>
}}


<!-- ── SECTION HEADER: Organisation ──────────────────────────── -->
<!-- ── SECTION: Organisation ────────────────────────────────── -->
<tr><th colspan="2" style="padding:3px 6px;border-top:1px solid #a2a9b1;background:#2c3e50;color:#fff;font-size:90%;text-align:left;letter-spacing:0.04em;">Organisation</th></tr>
<tr><th colspan="2" style="padding:3px 6px;border-top:1px solid #a2a9b1;background:#2c3e50;color:#fff;font-size:90%;text-align:left;letter-spacing:0.03em;">Organisation</th></tr>


<!-- Founded -->
<!-- Founded: date + age on separate lines, no wrapping -->
{{#if:{{{founded_date|}}}
{{#if:{{{founded_date|}}}|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;white-space:nowrap;">Founded</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{#time:j F Y|{{{founded_date}}}}}<br/><span style="color:#666;font-size:90%;">({{#expr:{{CURRENTYEAR}}-{{#time:Y|{{{founded_date}}}}}}} years ago)</span></td></tr>}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">Founded</th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">
      {{#time:j F Y|{{{founded_date}}}}}
      <span style="color:#555;font-size:90%;">({{#expr:{{CURRENTYEAR}}-{{#time:Y|{{{founded_date}}}}}}}&nbsp;years ago)</span>
    </td></tr>
}}


<!-- Dissolved (only if set) -->
<!-- Dissolved -->
{{#if:{{{dissolved_date|}}}
{{#if:{{{dissolved_date|}}}|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;white-space:nowrap;">Dissolved</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{#time:j F Y|{{{dissolved_date}}}}}</td></tr>}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">Dissolved</th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{#time:j F Y|{{{dissolved_date}}}}}</td></tr>
}}


<!-- Headquarters -->
<!-- Headquarters -->
{{#if:{{{headquarters|}}}
{{#if:{{{headquarters|}}}|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;white-space:nowrap;">Headquarters</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{headquarters|}}}</td></tr>}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">Headquarters</th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{headquarters|}}}</td></tr>
}}


<!-- UEN (Unique Entity Number — ROS registration) -->
<!-- UEN -->
{{#if:{{{uen|}}}
{{#if:{{{uen|}}}|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;white-space:nowrap;">UEN</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-family:monospace;">{{{uen|}}}</td></tr>}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">UEN</th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-family:monospace;">{{{uen|}}}</td></tr>
}}


<!-- Membership -->
<!-- Membership -->
{{#if:{{{membership|}}}
{{#if:{{{membership|}}}|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;white-space:nowrap;">Membership{{#if:{{{membership_year|}}}|<br/><span style="font-weight:normal;font-size:88%;color:#555;">({{{membership_year|}}}})</span>|}}</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{membership|}}}</td></tr>}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">Membership{{#if:{{{membership_year|}}}|<br/><span style="font-weight:normal;font-size:88%;color:#555;">({{{membership_year|}}}</span>|}}</th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{membership|}}}</td></tr>
}}


<!-- ── SECTION HEADER: Politics ───────────────────────────────── -->
<!-- ── SECTION: Political positions ────────────────────────── -->
{{#if:{{{ideology|}}}{{{political_position|}}}{{{international|}}}
{{#if:{{{ideology|}}}{{{political_position|}}}{{{international|}}}|<tr><th colspan="2" style="padding:3px 6px;border-top:1px solid #a2a9b1;background:#2c3e50;color:#fff;font-size:90%;text-align:left;letter-spacing:0.03em;">Political positions</th></tr>}}
|<tr><th colspan="2" style="padding:3px 6px;border-top:1px solid #a2a9b1;background:#2c3e50;color:#fff;font-size:90%;text-align:left;letter-spacing:0.04em;">Political positions</th></tr>
}}


<!-- Ideology -->
{{#if:{{{ideology|}}}|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;white-space:nowrap;">Ideology</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{ideology|}}}</td></tr>}}
{{#if:{{{ideology|}}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">Ideology</th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{ideology|}}}</td></tr>
}}


<!-- Political position -->
{{#if:{{{political_position|}}}|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;white-space:nowrap;">Position</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{political_position|}}}</td></tr>}}
{{#if:{{{political_position|}}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">Political position</th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{political_position|}}}</td></tr>
}}


<!-- International affiliation -->
{{#if:{{{international|}}}|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;white-space:nowrap;">International</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{international|}}}</td></tr>}}
{{#if:{{{international|}}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">International</th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{international|}}}</td></tr>
}}


<!-- ── SECTION HEADER: Wings ──────────────────────────────────── -->
<!-- ── SECTION: Associated organisations ───────────────────── -->
{{#if:{{{youth_wing|}}}{{{womens_wing|}}}
{{#if:{{{youth_wing|}}}{{{womens_wing|}}}|<tr><th colspan="2" style="padding:3px 6px;border-top:1px solid #a2a9b1;background:#2c3e50;color:#fff;font-size:90%;text-align:left;letter-spacing:0.03em;">Associated organisations</th></tr>}}
|<tr><th colspan="2" style="padding:3px 6px;border-top:1px solid #a2a9b1;background:#2c3e50;color:#fff;font-size:90%;text-align:left;letter-spacing:0.04em;">Associated organisations</th></tr>
}}


<!-- Youth wing -->
{{#if:{{{youth_wing|}}}|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;white-space:nowrap;">Youth wing</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{youth_wing|}}}</td></tr>}}
{{#if:{{{youth_wing|}}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">Youth wing</th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{youth_wing|}}}</td></tr>
}}


<!-- Women's wing -->
{{#if:{{{womens_wing|}}}|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;white-space:nowrap;">Women's wing</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{womens_wing|}}}</td></tr>}}
{{#if:{{{womens_wing|}}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">Women's wing</th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">{{{womens_wing|}}}</td></tr>
}}
 
<!-- ── SECTION HEADER: External ───────────────────────────────── -->
{{#if:{{{website|}}}
|<tr><th colspan="2" style="padding:3px 6px;border-top:1px solid #a2a9b1;background:#2c3e50;color:#fff;font-size:90%;text-align:left;letter-spacing:0.04em;">External links</th></tr>
}}


<!-- Website -->
<!-- ── SECTION: External links ─────────────────────────────── -->
{{#if:{{{website|}}}
{{#if:{{{website|}}}|<tr><th colspan="2" style="padding:3px 6px;border-top:1px solid #a2a9b1;background:#2c3e50;color:#fff;font-size:90%;text-align:left;letter-spacing:0.03em;">External links</th></tr><tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;white-space:nowrap;">Website</th><td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">[{{{website|}}} Official website]</td></tr>}}
|<tr><th style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;font-weight:bold;background:#eaecf0;">Website</th>
    <td style="padding:4px 6px;border-top:1px solid #a2a9b1;vertical-align:top;">[{{{website|}}} Official website]</td></tr>
}}


</table>
</table>
</div></includeonly>
</div>
</includeonly>


<!-- ================================================================
<!-- ================================================================
Line 247: Line 152:
Unified display and Cargo template for political party pages.
Unified display and Cargo template for political party pages.
Use this for all party pages. Do not use the old <code>Infobox-party</code>.
Use this for all party pages. Do not use the old <code>Infobox-party</code>.
Minimum required fields: <code>party_id</code>, <code>name</code>, <code>abbreviation</code>,
<code>founded_date</code>, <code>status</code>, <code>leader_name1</code>, <code>leader_designation1</code>.


=== Full example (PAP) ===
=== Full example (PAP) ===
<pre>
<pre>
{{Political-party
{{Political-party
|party_id         = pap
|party_id           = pap
|name             = People's Action Party
|name               = People's Action Party
|other_names       = 人民行动党, Parti Tindakan Rakyat, மக்களின் செயல் கட்சி
|other_names         = 人民行动党, Parti Tindakan Rakyat, மக்களின் செயல் கட்சி
|abbreviation     = PAP
|abbreviation       = PAP
|image             = PAP logo.png
|image               = PAP logo.png
|colours           = #002868
|colours             = #002868
|election_symbol   = Lightning bolt
|election_symbol     = Lightning bolt
|founded_date     = 1954-11-21
|founded_date       = 1954-11-21
|dissolved_date   =
|dissolved_date     =
|leader_name1     = lawrence-wong
|leader_name1       = lawrence-wong
|leader_designation1 = Secretary-General
|leader_designation1 = Secretary-General
|leader_name2     = heng-swee-keat
|leader_name2       = heng-swee-keat
|leader_designation2 = Chairman
|leader_designation2 = Chairman
|leader_name3     =
|leader_name3       =
|leader_designation3 =
|leader_designation3 =
|headquarters     = PAP Headquarters, 57B New Upper Changi Road, Singapore 462057
|headquarters       = 57B New Upper Changi Road, Singapore 462057
|uen               = S59SS0001F
|uen                 = S59SS0001F
|membership       = ~20,000
|membership         = ~20,000
|membership_year   = 2023
|membership_year     = 2023
|ideology         = [[Pragmatism]], [[Social conservatism]], [[Meritocracy]]
|ideology           = [[Pragmatism]], [[Meritocracy]], [[Social conservatism]]
|political_position= [[Centre-right politics|Centre-right]]
|political_position = [[Centre-right politics|Centre-right]]
|international     =
|international       =
|youth_wing       = Young PAP
|youth_wing         = Young PAP
|womens_wing       = PAP Women's Wing
|womens_wing         = PAP Women's Wing
|website           = https://www.pap.org.sg
|website             = https://www.pap.org.sg
|status           = active
|status              = active
}}
</pre>
 
=== Minimal example (SMC-level party) ===
<pre>
{{Political-party
|party_id          = rdu
|name             = Red Dot United
|abbreviation      = RDU
|founded_date      = 2020-07-10
|leader_name1      = ravi-philemon
|leader_designation1 = Secretary-General
|website          = https://www.reddotunited.sg
|status            = active
}}
}}
</pre>
</pre>
Line 301: Line 189:
! Field !! Type !! Required !! Notes
! Field !! Type !! Required !! Notes
|-
|-
| <code>party_id</code> || slug || Yes || Permanent. Lowercase hyphenated. e.g. <code>pap</code>, <code>wp</code>
| <code>party_id</code> || slug || Yes || Permanent. e.g. <code>pap</code>, <code>wp</code>
|-
|-
| <code>name</code> || text || Yes || Full English name
| <code>name</code> || text || Yes || Full English name
Line 311: Line 199:
| <code>image</code> || filename || No || Filename only e.g. <code>PAP logo.png</code>
| <code>image</code> || filename || No || Filename only e.g. <code>PAP logo.png</code>
|-
|-
| <code>colours</code> || CSS colour || No || Used as stripe. e.g. <code>#002868</code> or <code>red</code>
| <code>colours</code> || CSS colour || No || Hex or named colour for stripe. e.g. <code>#002868</code>
|-
|-
| <code>election_symbol</code> || text || No || Symbol name as registered with ELD
| <code>election_symbol</code> || text || No || Symbol name as registered with ELD
|-
|-
| <code>founded_date</code> || YYYY-MM-DD || Yes || ISO date
| <code>founded_date</code> || YYYY-MM-DD || Yes ||
|-
|-
| <code>dissolved_date</code> || YYYY-MM-DD || No || Leave blank if active
| <code>dissolved_date</code> || YYYY-MM-DD || No || Leave blank if active
|-
|-
| <code>leader_name1</code> || mp_id slug || Yes || e.g. <code>lawrence-wong</code>
| <code>leader_name1</code> || mp_id slug || Yes || e.g. <code>lawrence-wong</code>. Redirect must exist at this slug.
|-
|-
| <code>leader_designation1</code> || text || Yes || e.g. <code>Secretary-General</code>
| <code>leader_designation1</code> || text || Yes || e.g. <code>Secretary-General</code>
Line 337: Line 225:
| <code>membership</code> || text || No || e.g. <code>~20,000</code>
| <code>membership</code> || text || No || e.g. <code>~20,000</code>
|-
|-
| <code>membership_year</code> || text || No || Year of membership figure
| <code>membership_year</code> || text || No || Year the membership figure applies to
|-
|-
| <code>ideology</code> || text || No || Wikilinked ideological terms
| <code>ideology</code> || text || No || Wikilinked terms preferred
|-
|-
| <code>political_position</code> || text || No || e.g. <code>Centre-right</code>
| <code>political_position</code> || text || No || e.g. <code>Centre-right</code>
|-
|-
| <code>international</code> || text || No || International affiliations
| <code>international</code> || text || No || International affiliations if any
|-
|-
| <code>youth_wing</code> || text || No ||
| <code>youth_wing</code> || text || No ||
Line 354: Line 242:
|}
|}


=== Valid status values ===
=== Notes on leader links ===
* <code>active</code> — currently registered and operating
<code>leader_name1/2/3</code> accept mp_id slugs (e.g. <code>lawrence-wong</code>).
* <code>deregistered</code> — removed from ROS register
The template auto-formats the display text by replacing hyphens with spaces.
* <code>merged</code> — absorbed into another party
A redirect page must exist at each slug pointing to the full MP page.
* <code>dissolved</code> — voluntarily wound up


[[Category:Infobox templates]]
[[Category:Infobox templates]]

Revision as of 21:23, 16 May 2026


This template defines the table "parties". View table.



Usage

Unified display and Cargo template for political party pages. Use this for all party pages. Do not use the old Infobox-party.

Full example (PAP)

{{Political-party
|party_id            = pap
|name                = People's Action Party
|other_names         = 人民行动党, Parti Tindakan Rakyat, மக்களின் செயல் கட்சி
|abbreviation        = PAP
|image               = PAP logo.png
|colours             = #002868
|election_symbol     = Lightning bolt
|founded_date        = 1954-11-21
|dissolved_date      =
|leader_name1        = lawrence-wong
|leader_designation1 = Secretary-General
|leader_name2        = heng-swee-keat
|leader_designation2 = Chairman
|leader_name3        =
|leader_designation3 =
|headquarters        = 57B New Upper Changi Road, Singapore 462057
|uen                 = S59SS0001F
|membership          = ~20,000
|membership_year     = 2023
|ideology            = [[Pragmatism]], [[Meritocracy]], [[Social conservatism]]
|political_position  = [[Centre-right politics|Centre-right]]
|international       =
|youth_wing          = Young PAP
|womens_wing         = PAP Women's Wing
|website             = https://www.pap.org.sg
|status              = active
}}

Field reference

Field Type Required Notes
party_id slug Yes Permanent. e.g. pap, wp
name text Yes Full English name
other_names text No Other language names, comma-separated
abbreviation text Yes e.g. PAP, WP
image filename No Filename only e.g. PAP logo.png
colours CSS colour No Hex or named colour for stripe. e.g. #002868
election_symbol text No Symbol name as registered with ELD
founded_date YYYY-MM-DD Yes
dissolved_date YYYY-MM-DD No Leave blank if active
leader_name1 mp_id slug Yes e.g. lawrence-wong. Redirect must exist at this slug.
leader_designation1 text Yes e.g. Secretary-General
leader_name2 mp_id slug No
leader_designation2 text No
leader_name3 mp_id slug No
leader_designation3 text No
headquarters text No Full address
uen text No ROS Unique Entity Number
membership text No e.g. ~20,000
membership_year text No Year the membership figure applies to
ideology text No Wikilinked terms preferred
political_position text No e.g. Centre-right
international text No International affiliations if any
youth_wing text No
womens_wing text No
website URL No Full URL with https
status enum Yes active / deregistered / merged / dissolved

Notes on leader links

leader_name1/2/3 accept mp_id slugs (e.g. lawrence-wong). The template auto-formats the display text by replacing hyphens with spaces. A redirect page must exist at each slug pointing to the full MP page.