diff --git a/Plugin-and-Theme-METAs.md b/Plugin-and-Theme-METAs.md index 9e7b36e..343a5be 100644 --- a/Plugin-and-Theme-METAs.md +++ b/Plugin-and-Theme-METAs.md @@ -6,42 +6,74 @@ In order to be recognized theme and plugin files must have a META on the first l # Format +## Traditional Format + The basic format of a META is as such: ```js //META{"name":"Theme or Plugin Name"}*// ``` +## New Format (Beta) + +This is a new format developed jointly between Zerebos and Qwerasd with some input from square. Please note that there may be some unexpected issues that get solved as time goes on. + +The new format of a META is as such: + +```js +/** + * @name PluginOrThemeName + * @version 0.0.1 + * @description Just a simple description of the content that may + * end up being pretty long + * + * @website http://twitter.com/BandagedBD + */ +``` + # Fields +## Common Fields + +These fields are common between both plugins and themes. + +|Name|Description| +|-|:-| +|`website`|A website URL leading to a website pertaining to the theme or plugin (e.g. The website of the author).| +|`source`|A URL leading to the source of the theme or plugin (on GitHub or hosted elsewhere).| +|`invite`|An invite code for your support server (just the code, not the full discord.gg link).| +|`donate`|Link to a donation page for the content author (often PayPal).| +|`patreon`|Patreon link to a creator's patreon page.| +|`authorLink`|A link to use for clicking the author's name on the plugin or theme.| +|`authorId`|Snowflake ID for the author. **Note:** Setting this value will allow users to DM you by clicking your name on the plugin/theme card.| + ## Plugins The following fields can be defined in a META: |Name|Description| |-|:-| -|`name`|The name of the theme or plugin. (This is the only required field)| -|`website`|A website URL leading to a website pertaining to the theme or plugin (e.g. The website of the author).| -|`source`|A URL leading to the source of the theme or plugin (on GitHub or hosted elsewhere).| +|`name`|The object name of the plugin. (This is **required** and must match the plugin's object name if there's no export.)| -A fully formed META for plugins would look like the following: +A minimal META for plugins would look like the following: ```js -//META{"name":"Plugin Name","website":"https://example.com/","source":"https://example.com/plugin.js"}*// +//META{"name":"PluginName"}*// ``` ## Themes -Additionally to those that can be defined for plugins the following fields can be defined in a theme META: +The following fields can be defined in a theme META: |Name|Description| |-|:-| +|`name`|The name of the theme.| |`description`|A description of the theme.| |`author`|The author of the theme.| |`version`|The version of the theme.| -A fully formed META for themes would look like the following: +A minimal META for themes would look like the following: ```js -//META{"name":"Theme Name","website":"https://example.com","source":"https://example.com/theme.css","author":"me","version":"0.0.6","description":"This theme makes things look better."}*// +//META{"name":"Theme Name","author":"me","version":"0.0.6","description":"This theme makes things look better."}*// ``` \ No newline at end of file