Modding:Mod compatibility/barchart: Difference between revisions
Appearance
imported>Pathoschild tweak footnote |
imported>Pathoschild →Script: update for unified stable/beta compatibility table |
||
| Line 27: | Line 27: | ||
This tiny script generates the template call when run from the parent page. | This tiny script generates the template call when run from the parent page. | ||
<source lang="javascript"> | <source lang="javascript"> | ||
var entries = $("#mod-list .mod:not([data-status='abandoned'], [data-status='obsolete'])"); | var entries = $("#mod-list .mod:not([data-beta-status='abandoned'], [data-beta-status='obsolete'])"); | ||
var ok = entries.filter("[data-status='ok'], [data-status='optional']").length; | var ok = entries.filter("[data-beta-status='ok'], [data-beta-status='optional']").length; | ||
var workaround = entries.filter("[data-status='workaround'], [data-status='unofficial']").length; | var workaround = entries.filter("[data-beta-status='workaround'], [data-beta-status='unofficial']").length; | ||
var soon = entries.filter("[data-status='broken'][data-github], [data-status='broken'][data-custom-source]").length; | var soon = entries.filter("[data-beta-status='broken'][data-github], [data-beta-status='broken'][data-custom-source]").length; | ||
var broken = entries.filter("[data-status='broken']:not([data-github], [data-custom-source])").length; | var broken = entries.filter("[data-beta-status='broken']:not([data-github], [data-custom-source])").length; | ||
var total = ok + workaround + soon + broken; | var total = ok + workaround + soon + broken; | ||
if (total != entries.length) { | if (total != entries.length) { | ||
var unknown = entries.filter(":not([data-status='ok'], [data-status='optional'], [data-status='workaround'], [data-status='obsolete'], [data-status='broken'], [data-status='abandoned'])"); | var unknown = entries.filter(":not([data-beta-status='ok'], [data-beta-status='optional'], [data-beta-status='workaround'], [data-beta-status='obsolete'], [data-beta-status='broken'], [data-beta-status='abandoned'])"); | ||
console.log("found entries with unknown status:", unknown); | console.log("found entries with unknown status:", unknown); | ||
throw 'script failed'; | throw 'script failed'; | ||
Revision as of 20:39, 6 September 2018
| 0% are compatible or have a working alternative. | |
| 0% have an update coming soon. | |
| 0% are broken and not open-source.¹ |
¹ Many of these broke due to a Stardew Valley update. Some may be updated by their authors later.
Usage
List the counts for each group:
{{/barchart
|ok = 135
|workaround = 33
|soon = 56
|broken = 33
|total = 257
}}
Script
This tiny script generates the template call when run from the parent page.
var entries = $("#mod-list .mod:not([data-beta-status='abandoned'], [data-beta-status='obsolete'])");
var ok = entries.filter("[data-beta-status='ok'], [data-beta-status='optional']").length;
var workaround = entries.filter("[data-beta-status='workaround'], [data-beta-status='unofficial']").length;
var soon = entries.filter("[data-beta-status='broken'][data-github], [data-beta-status='broken'][data-custom-source]").length;
var broken = entries.filter("[data-beta-status='broken']:not([data-github], [data-custom-source])").length;
var total = ok + workaround + soon + broken;
if (total != entries.length) {
var unknown = entries.filter(":not([data-beta-status='ok'], [data-beta-status='optional'], [data-beta-status='workaround'], [data-beta-status='obsolete'], [data-beta-status='broken'], [data-beta-status='abandoned'])");
console.log("found entries with unknown status:", unknown);
throw 'script failed';
}
`
{{/barchart
|ok = ${ok}
|workaround = ${workaround}
|soon = ${soon}
|broken = ${broken}
|total = ${total}
}}
`