Template:Political-party: Difference between revisions

From PoliticalSG
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
<!-- ================================================================
    Template:Political-party
    Unified display + Cargo template for political party pages.
    Cargo table: parties
    Last updated: 2026-05-17
    ================================================================ -->
<!-- ── CARGO DECLARE (runs once, on template page itself) ──────── -->
<noinclude>{{#cargo_declare:_table=parties
<noinclude>{{#cargo_declare:_table=parties
|party_id=String
|party_id=String
Line 16: Line 8:
|logo=String
|logo=String
|leader_name1=String
|leader_name1=String
|leader_display1=String
|leader_designation1=String
|leader_designation1=String
|leader_name2=String
|leader_name2=String
|leader_display2=String
|leader_designation2=String
|leader_designation2=String
|leader_name3=String
|leader_name3=String
|leader_display3=String
|leader_designation3=String
|leader_designation3=String
|headquarters=String
|headquarters=String
Line 34: Line 29:
|election_symbol=String
|election_symbol=String
|uen=String
|uen=String
}}</noinclude>
}}</noinclude><includeonly>{{#cargo_store:_table=parties
 
<!-- ── CARGO STORE (runs on every transclusion) ────────────────── -->
<includeonly>{{#cargo_store:_table=parties
|party_id={{{party_id|}}}
|party_id={{{party_id|}}}
|name={{{name|}}}
|name={{{name|}}}
Line 46: Line 38:
|logo={{{image|}}}
|logo={{{image|}}}
|leader_name1={{{leader_name1|}}}
|leader_name1={{{leader_name1|}}}
|leader_display1={{{leader_display1|}}}
|leader_designation1={{{leader_designation1|}}}
|leader_designation1={{{leader_designation1|}}}
|leader_name2={{{leader_name2|}}}
|leader_name2={{{leader_name2|}}}
|leader_display2={{{leader_display2|}}}
|leader_designation2={{{leader_designation2|}}}
|leader_designation2={{{leader_designation2|}}}
|leader_name3={{{leader_name3|}}}
|leader_name3={{{leader_name3|}}}
|leader_display3={{{leader_display3|}}}
|leader_designation3={{{leader_designation3|}}}
|leader_designation3={{{leader_designation3|}}}
|headquarters={{{headquarters|}}}
|headquarters={{{headquarters|}}}
Line 65: Line 60:
|uen={{{uen|}}}
|uen={{{uen|}}}
}}
}}
 
<div class="infobox-political-party"><div style="text-align:center;padding:8px 4px 2px;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:{{{colours|}}}|<div style="height:5px;background:{{{colours|}}};margin:0;"></div>}}<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><table style="width:100%;border-collapse:collapse;background:transparent;">{{#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: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></tr>{{#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>}}{{#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|}}}|{{#if:{{{leader_display1|}}}|{{{leader_display1|}}}|{{{leader_name1|}}}}}]]</td></tr>}}{{#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|}}}|{{#if:{{{leader_display2|}}}|{{{leader_display2|}}}|{{{leader_name2|}}}}}]]</td></tr>}}{{#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|}}}|{{#if:{{{leader_display3|}}}|{{{leader_display3|}}}|{{{leader_name3|}}}}}]]</td></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>{{#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>}}{{#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>}}{{#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>}}{{#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>}}{{#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>}}{{#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>}}{{#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:{{{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:{{{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:{{{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>}}{{#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:{{{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:{{{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>}}</table></div></includeonly><noinclude>
<!-- ================================================================
== Template:Political-party ==
    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 -->
<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>
 
<!-- COLOUR STRIPE: only rendered when colours field has a value -->
{{#if:{{{colours|}}}|<div style="height:5px;background:{{{colours|}}};margin:0;"></div>}}
 
<!-- PARTY NAME HEADER -->
<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>
 
<!-- INFOBOX TABLE -->
<table style="width:100%;border-collapse:collapse;background:transparent;">
 
<!-- 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>}}
 
<!-- Status — always shown -->
<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></tr>
 
<!-- ── SECTION: Leadership ──────────────────────────────────── -->
{{#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>}}
 
<!-- Leader 1 — slug auto-formatted: hyphens → spaces for display text -->
{{#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>}}
 
<!-- Leader 2 -->
{{#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>}}
 
<!-- Leader 3 -->
{{#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>}}
 
<!-- ── 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.03em;">Organisation</th></tr>
 
<!-- Founded: date + age on separate lines, no wrapping -->
{{#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>}}
 
<!-- Dissolved -->
{{#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>}}
 
<!-- 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>}}
 
<!-- 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>}}
 
<!-- 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>}}
 
<!-- ── SECTION: Political positions ────────────────────────── -->
{{#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>}}
 
{{#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:{{{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:{{{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>}}
 
<!-- ── SECTION: Associated organisations ───────────────────── -->
{{#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>}}
 
{{#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:{{{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>}}
 
<!-- ── SECTION: External links ─────────────────────────────── -->
{{#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>}}
 
</table>
</div>
</includeonly>
 
<!-- ================================================================
    DOCUMENTATION (visible on template page only)
    ================================================================ -->
<noinclude>
== Usage ==
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>.
Do not use the old <code>Infobox-party</code>.


=== Full example (PAP) ===
=== Full example ===
<pre>
<pre>
{{Political-party
{{Political-party
Line 166: Line 78:
|dissolved_date      =
|dissolved_date      =
|leader_name1        = lawrence-wong
|leader_name1        = lawrence-wong
|leader_display1    = Lawrence Wong
|leader_designation1 = Secretary-General
|leader_designation1 = Secretary-General
|leader_name2        = heng-swee-keat
|leader_name2        = heng-swee-keat
|leader_display2    = Heng Swee Keat
|leader_designation2 = Chairman
|leader_designation2 = Chairman
|leader_name3        =
|leader_name3        =
|leader_display3    =
|leader_designation3 =
|leader_designation3 =
|headquarters        = 57B New Upper Changi Road, Singapore 462057
|headquarters        = 57B New Upper Changi Road, Singapore 462057
Line 199: Line 114:
| <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 || Hex or named colour for stripe. e.g. <code>#002868</code>
| <code>colours</code> || CSS colour || No || Hex 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 || As registered with ELD
|-
|-
| <code>founded_date</code> || YYYY-MM-DD || Yes ||
| <code>founded_date</code> || YYYY-MM-DD || Yes ||
Line 207: Line 122:
| <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>. Redirect must exist at this slug.
| <code>leader_name1</code> || mp_id slug || Yes || e.g. <code>lawrence-wong</code>
|-
| <code>leader_display1</code> || text || Yes || e.g. <code>Lawrence Wong</code>
|-
|-
| <code>leader_designation1</code> || text || Yes || e.g. <code>Secretary-General</code>
| <code>leader_designation1</code> || text || Yes || e.g. <code>Secretary-General</code>
|-
|-
| <code>leader_name2</code> || mp_id slug || No ||
| <code>leader_name2</code> || mp_id slug || No ||
|-
| <code>leader_display2</code> || text || No ||
|-
|-
| <code>leader_designation2</code> || text || No ||
| <code>leader_designation2</code> || text || No ||
|-
|-
| <code>leader_name3</code> || mp_id slug || No ||
| <code>leader_name3</code> || mp_id slug || No ||
|-
| <code>leader_display3</code> || text || No ||
|-
|-
| <code>leader_designation3</code> || text || No ||
| <code>leader_designation3</code> || text || No ||
Line 225: Line 146:
| <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 the membership figure applies to
| <code>membership_year</code> || text || No ||
|-
|-
| <code>ideology</code> || text || No || Wikilinked terms preferred
| <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 ||
|-
|-
| <code>international</code> || text || No || International affiliations if any
| <code>international</code> || text || No ||
|-
|-
| <code>youth_wing</code> || text || No ||
| <code>youth_wing</code> || text || No ||
Line 241: Line 162:
| <code>status</code> || enum || Yes || <code>active</code> / <code>deregistered</code> / <code>merged</code> / <code>dissolved</code>
| <code>status</code> || enum || Yes || <code>active</code> / <code>deregistered</code> / <code>merged</code> / <code>dissolved</code>
|}
|}
=== Notes on leader links ===
<code>leader_name1/2/3</code> accept mp_id slugs (e.g. <code>lawrence-wong</code>).
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.


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

Latest revision as of 12:48, 24 May 2026

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

Template:Political-party

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

Full example

{{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_display1     = Lawrence Wong
|leader_designation1 = Secretary-General
|leader_name2        = heng-swee-keat
|leader_display2     = Heng Swee Keat
|leader_designation2 = Chairman
|leader_name3        =
|leader_display3     =
|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 colour for stripe. e.g. #002868
election_symbol text No 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
leader_display1 text Yes e.g. Lawrence Wong
leader_designation1 text Yes e.g. Secretary-General
leader_name2 mp_id slug No
leader_display2 text No
leader_designation2 text No
leader_name3 mp_id slug No
leader_display3 text 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
ideology text No Wikilinked terms preferred
political_position text No
international text No
youth_wing text No
womens_wing text No
website URL No Full URL with https
status enum Yes active / deregistered / merged / dissolved