new format and meta fields

Zack 2020-02-26 21:56:50 -05:00
parent 0835241c32
commit 0ec0042169
1 changed files with 40 additions and 8 deletions

@ -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."}*//
```