Template:Community infobox/doc: Difference between revisions
No edit summary |
m (→Helper) |
||
Line 106: | Line 106: | ||
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. | 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. | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
function | function build(params) { | ||
var out = '' | var out = '' | ||
for (var i = 0; i < | for (var i = 0; i < params.length; i++) { | ||
out += '\n|' + | out += '\n|' + params[i] + ' = {{{' + params[i] + '|}}}'; | ||
} | } | ||
console.log(out); | console.log(out); |
Latest revision as of 20:29, 4 August 2024
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 build(params) {
var out = ''
for (var i = 0; i < params.length; i++) {
out += '\n|' + params[i] + ' = {{{' + params[i] + '|}}}';
}
console.log(out);
}