Template:Community infobox: Difference between revisions

From NPOWiki
Jump to navigation Jump to search
(test params for war record)
No edit summary
 
Line 104: Line 104:
<tr>
<tr>
     <th>{{#if:{{{record|}}}|{{{record}}}|War Record}}</th>
     <th>{{#if:{{{record|}}}|{{{record}}}|War Record}}</th>
     <td><ul>
     <td><ul>{{#if:{{{total|}}}|
{{#if:{{{total|}}}|<li>'''Total''': {{{total}}}</li>}}
        <li>'''Total''': {{{total}}}</li>
{{#if:{{{wins|}}}|<li>'''Wins''': {{{wins}}}</li>}}
    }}{{#if:{{{wins|}}}|
{{#if:{{{losses|}}}|<li>'''Losses''': {{{losses}}}</li>}}
        <li>'''Wins''': {{{wins}}}</li>
    </ul></td>
    }}{{#if:{{{losses|}}}|
        <li>'''Losses''': {{{losses}}}</li>
    }}</ul></td>
</tr>}}<tr>
</tr>}}<tr>
     <th>External Links</th>
     <th>External Links</th>

Latest revision as of 00:02, 6 July 2022

Documentation [edit]

This template is meant to be "implemented" by other templates, but can be used directly if needed. Implementations must specify the game name and pass through any relevant parameters, or custom formatted information (for freeform fields). They must be updated if the available parameters are changed.

For a list of current implementations, see here.

Usage

Normally, this can be used directly on the page for a community. However, if there is a separate page for the government structure, we want to reduce duplication. This template should be used on the government page with the affiliation parameter and onlyinclude tags, and then the current government's page can be transcluded on the community's page. It looks like this:

  • On "New Pacific Order in NationStates":
<onlyinclude>{{NS region infobox
|affiliation = The Pacific
...
}}</onlyinclude>
  • On "The Pacific":
{{:New Pacific Order in NationStates}}

The affiliation parameter is required to categorize the page as a government properly and determine what information to display on each page. It is not required when the template is used directly on a community page. A government page can have multiple infoboxes, as long as only the current one has the onlyinclude tags.

Available parameters

  • game - can be one of: cybernations, nationstates, torn, othergame (default).
  • width - of infobox; use sparingly. Currently not available in implementations.
  • name
  • group - Torn only, the group that operates this faction. Name only.
  • affiliation - for use on government pages. The name of the associated page.
  • acronym
  • gameid - CN and Torn only, the ID in game
  • flag - file name and extension only
  • flagdesc
  • flag2
  • flag2desc
  • flag3
  • flag3desc
  • team - CN only
  • foundedby
  • founded
  • disbanded
  • gov1name through gov9name - the heading for the matching list
  • gov1 through gov9 - freeform area
  • factions - Torn only: if this is a group operating multiple factions, list those factions here (preferably internal links). This will categorize the page as a group.
  • teamsenate - CN only, supported team senators
  • treaties - freeform area
  • record - the heading for the records row
  • total - the total number of items for the records row
  • wins
  • losses
  • forumurl - full url
  • discordinvite - full url
  • ircserver - e.g. coldfront.net
  • ircchannel - no # sign
  • seealso - freeform area, important internal wikilinks only.

Skeleton

{{Community infobox
|game = 
|width = 
|name = 
|group = 
|affiliation = 
|acronym = 
|gameid = 
|flag = 
|flagdesc = 
|flag2 = 
|flag2desc = 
|flag3 = 
|flag3desc = 
|team = 
|foundedby = 
|founded = 
|disbanded = 
|gov1name = 
|gov1 = 
|gov2name = 
|gov2 = 
|gov3name = 
|gov3 = 
|gov4name = 
|gov4 = 
|gov5name = 
|gov5 = 
|gov6name = 
|gov6 = 
|gov7name = 
|gov7 = 
|gov8name = 
|gov8 = 
|gov9name = 
|gov9 = 
|factions = 
|teamsenate = 
|treaties = 
|record = 
|total = 
|wins = 
|losses = 
|forumurl = 
|discordinvite = 
|ircserver = 
|ircchannel = 
|seealso = 
}}

Helper

To generate code for an implementation, you can use this script in your browser console. Call it with an array of parameter names, which you can obtain from the skeleton above.

function foo(bar) {
	var out = ''
	for (var i = 0; i < bar.length; i++) {
		out += '\n|' + bar[i] + ' = {{{' + bar[i] + '|}}}';
	}
	console.log(out);
}

The above documentation is transcluded from Template:Community infobox/doc.