Template:Community infobox/doc: Difference between revisions
No edit summary |
No edit summary |
||
Line 8: | Line 8: | ||
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 <code>affiliation</code> parameter and onlyinclude tags, and then the current government's page can be transcluded on the community's page. It looks like this: | 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 <code>affiliation</code> 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": | *On "New Pacific Order in NationStates": | ||
<pre | <pre> | ||
<onlyinclude>{{NS region infobox | |||
|affiliation = The Pacific | |affiliation = The Pacific | ||
... | ... | ||
}} | }}</onlyinclude> | ||
</pre> | |||
*On "The Pacific": | *On "The Pacific": | ||
<pre>{{:New Pacific Order in NationStates}}</pre> | <pre>{{:New Pacific Order in NationStates}}</pre> |
Revision as of 01:20, 14 July 2020
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. 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, othergame (default).
- width - of infobox; use sparingly. Currently not available in implementations.
- name
- affiliation - for use on government pages. The name of the associated page.
- acronym
- gameid - CN only, the alliance ID in game
- flag - file name and extension
- flagdesc
- flag2
- flag2desc
- flag3
- flag3desc
- team - CN only
- foundedby
- founded
- gov1name through gov9name - the heading for the matching list
- gov1 through gov9 - freeform area
- teamsenate - CN only, supported team senators
- treaties - freeform area
- forumurl - full url
- discordinvite - full url
- ircserver - e.g. coldfront.net
- ircchannel - no # sign
- seealso - freeform area, intended for wikilinks only
Skeleton
{{Community infobox |game = |width = |name = |affiliation = |acronym = |gameid = |flag = |flagdesc = |flag2 = |flag2desc = |flag3 = |flag3desc = |team = |foundedby = |founded = |gov1name = |gov1 = |gov2name = |gov2 = |gov3name = |gov3 = |gov4name = |gov4 = |gov5name = |gov5 = |gov6name = |gov6 = |gov7name = |gov7 = |gov8name = |gov8 = |gov9name = |gov9 = |teamsenate = |treaties = |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);
}