Änderungen

Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „{| class="wikitable" |- | <div style="display: inline-block; width: {{#expr:(({{{ok|0}}} + {{{workaround|0}}}) / {{{total|<noinclude>1</noinclude>0}}}) * 200}}…“
{| class="wikitable"
|-
| <div style="display: inline-block; width: {{#expr:(({{{ok|0}}} + {{{workaround|0}}}) / {{{total|<noinclude>1</noinclude>0}}}) * 200}}px; background: #9F9;">&nbsp;</div>
| {{#expr:(({{{ok|0}}} + {{{workaround|0}}}) / {{{total|<noinclude>1</noinclude>0}}}) * 100 round 0}}% are compatible or have a working alternative.
|-
| <div style="display: inline-block; width: {{#expr:({{{soon|0}}} / {{{total|<noinclude>1</noinclude>0}}}) * 200}}px; background: #FF9;">&nbsp;</div>
| {{#expr:({{{soon|0}}} / {{{total|<noinclude>1</noinclude>0}}}) * 100 round 0}}% have an update coming soon.
|-
| <div style="display: inline-block; width: {{#expr:({{{broken|0}}} / {{{total|<noinclude>1</noinclude>0}}}) * 200}}px; background: #F99;">&nbsp;</div>
| {{#expr:({{{broken|0}}} / {{{total|<noinclude>1</noinclude>0}}}) * 100 round 0}}% are broken and not open-source.¹
|}
<small>¹ Many of these broke due to a Stardew Valley update. Some may be updated by their authors later.</small><noinclude>

{{Übersetzen}}

==Usage==
List the counts for each group:
<pre>
{{/barchart
|ok = 135
|workaround = 33
|soon = 56
|broken = 33
|total = 257
}}
</pre>

==Script==
This script generates the template call when run from the parent page.
<source lang="javascript">
(function() {
// group mods by status
let counts = { ok: 0, workaround: 0, soon: 0, broken: 0, total: 0 };
let invalidMods = [];
$("#mod-list .mod").each(function(i, entry) {
entry = $(entry);
let status = entry.attr("data-beta-status") || entry.attr("data-status");
let hasSource = entry.is("[data-github], [data-custom-source]");

switch(status) {
// ignore obsolete mods
case "abandoned":
case "obsolete":
break;

// compatible
case "ok":
case "optional":
counts.ok++;
counts.total++;
break;

// workaround
case "workaround":
case "unofficial":
counts.workaround++;
counts.total++;
break;

// soon/broken
case "broken":
if (hasSource)
counts.soon++;
else
counts.broken++;
counts.total++;
break;

default:
invalidMods.push(mods);
break;
}
});

// show results
if (invalidMods.length) {
console.log("found entries with unknown status:", invalidMods);
throw 'script failed';
}

console.log(`
{{/barchart
|ok = ${counts.ok}
|workaround = ${counts.workaround}
|soon = ${counts.soon}
|broken = ${counts.broken}
|total = ${counts.total}
}}
`.replace(/^ /mg, ''));
})();
</source>

[[Category:Modding]]
[[en:Modding:SMAPI compatibility/barchart]]
</noinclude>
77

Bearbeitungen

Navigationsmenü