Modding:Mod compatibility/entry: Difference between revisions
Appearance
imported>Pathoschild + attributes for scripting |
imported>Pathoschild + script |
||
| Line 62: | Line 62: | ||
* <code>|hide-url=URL</code> (replacing <code>|url=</code>) moves the URL into a superscript link. Mainly useful for broken mods with a workaround, so players don't automatically click through to the old mod. | * <code>|hide-url=URL</code> (replacing <code>|url=</code>) moves the URL into a superscript link. Mainly useful for broken mods with a workaround, so players don't automatically click through to the old mod. | ||
* <code>|link1=URL</code> and <code>|link2=URL</code> adds superscript links. Mainly useful for linking to pull requests. | * <code>|link1=URL</code> and <code>|link2=URL</code> adds superscript links. Mainly useful for linking to pull requests. | ||
==Script== | |||
This script generates the template call when run from a Nexus or Chucklefish mod page. | |||
<source lang="javascript"> | |||
switch(location.host) | |||
{ | |||
case "www.nexusmods.com": | |||
var url = location.origin + location.pathname.replace(/\/*$/, ''); | |||
var name = $(".header-name").text(); | |||
var author = $(".uploader a").text(); | |||
var author2 = $(".header-author strong").text(); | |||
break; | |||
case "community.playstarbound.com": | |||
var url = location.origin + location.pathname.replace(/\/*$/, ''); | |||
var name = $.trim($("h1:first").contents().first().text()); | |||
var author = $(".primaryContent[data-author]:first").attr("data-author"); | |||
break; | |||
default: | |||
throw `Unknown domain: ${location.host}`; | |||
} | |||
var template = ` | |||
{{/entry | |||
|name = ${name} | |||
|author = ${author}`; | |||
if(author2 && author2 != author) | |||
template += '\n' + ` |author2 = ${author2}`; | |||
template += ` | |||
|url = ${url} | |||
|status = ok | |||
|summary = | |||
|source = | |||
}} | |||
`; | |||
</source> | |||
[[Category:Modding]]</noinclude> | [[Category:Modding]]</noinclude> | ||
Revision as of 00:50, 19 July 2017
| mod name | author | compatibility | |
|---|---|---|---|
| {{{name}}} | {{{author}}} |
Usage
Basic fields:
{{/entry
|name = Lookup Anything
|author = Pathoschild
|url = http://www.nexusmods.com/stardewvalley/mods/541
|status = ok
|summary =
|source = https://github.com/Pathoschild/StardewMods
}}
Valid statuses:
| status | meaning | default summary |
|---|---|---|
ok
|
The mod is compatible with SMAPI 2.0. | use latest version. |
workaround
|
The mod isn't compatible with SMAPI 2.0, but the player can fix it or there's a good alternative. | |
soon
|
The mod isn't compatible with SMAPI 2.0, but it's open-source so an unofficial update will be prepared soon (if the author doesn't update it first). | update coming soon. |
soon-official
|
The mod isn't compatible with SMAPI 2.0, but the author has said they'll update it. | author will update it soon. |
broken
|
The mod isn't compatible with SMAPI 2.0, isn't open-source, and there's no indication that the author will update it yet. | broken, not open-source. |
obsolete
|
The mod is no longer needed and should be removed. |
Other fields:
|name2=nameand|author2=nameadd also-known-as lines for the mod name & author respectively.|hide-url=URL(replacing|url=) moves the URL into a superscript link. Mainly useful for broken mods with a workaround, so players don't automatically click through to the old mod.|link1=URLand|link2=URLadds superscript links. Mainly useful for linking to pull requests.
Script
This script generates the template call when run from a Nexus or Chucklefish mod page.
switch(location.host)
{
case "www.nexusmods.com":
var url = location.origin + location.pathname.replace(/\/*$/, '');
var name = $(".header-name").text();
var author = $(".uploader a").text();
var author2 = $(".header-author strong").text();
break;
case "community.playstarbound.com":
var url = location.origin + location.pathname.replace(/\/*$/, '');
var name = $.trim($("h1:first").contents().first().text());
var author = $(".primaryContent[data-author]:first").attr("data-author");
break;
default:
throw `Unknown domain: ${location.host}`;
}
var template = `
{{/entry
|name = ${name}
|author = ${author}`;
if(author2 && author2 != author)
template += '\n' + ` |author2 = ${author2}`;
template += `
|url = ${url}
|status = ok
|summary =
|source =
}}
`;