{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://spec.powerd6.org/schemas/authorship.schema.json",
"title": "Authorship",
"description": "Information regarding authorship and contributions",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"references": {
"description": "A list of references for the author",
"examples": [
"http://mywebsite.com",
"mailto:author@domain.tld"
],
"type": "array",
"items": {
"type": "string",
"format": "uri-reference"
}
},
"contributions": {
"description": "Identifiers for schemas or contents that the author contributed to, as well as an optional explanation of the contribution",
"examples": [
{
"fireball": "created icon",
"spells": "contributed to rendering"
},
{
"slime": ""
}
],
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"name"
],
"unevaluatedProperties": false
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://spec.powerd6.org/schemas/content.schema.json",
"title": "Content",
"description": "Content pieces in powerd6",
"type": "object",
"properties": {
"schema": {
"description": "The identifier of the schema that this content follows",
"type": "string"
},
"renderOrder": {
"type": "integer"
}
},
"required": [
"schema"
],
"additionalProperties": true
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://spec.powerd6.org/schemas/module-meta.schema.json",
"title": "Module Information",
"description": "Information regarding a powerd6 module",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"references": {
"description": "Reference information for the current module",
"examples": [
{
"module-id": [
"https://publisher.com/module-id",
"http://cdn.publisher.com/modules/module-id.json"
]
}
],
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string",
"format": "uri-reference"
}
}
}
},
"required": [
"title",
"description"
],
"unevaluatedProperties": false
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://spec.powerd6.org/schemas/module.schema.json",
"title": "Module",
"description": "A powerd6 module, with contents, schemas and authorship information",
"type": "object",
"properties": {
"module": {
"$ref": "https://spec.powerd6.org/schemas/module-meta.schema.json"
},
"authors": {
"type": "array",
"items": {
"$ref": "https://spec.powerd6.org/schemas/module-meta.schema.json"
}
},
"contents": {
"type": "object",
"additionalProperties": {
"$ref": "https://spec.powerd6.org/schemas/content.schema.json"
}
},
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "https://spec.powerd6.org/schemas/schema.schema.json"
}
}
},
"required": [
"module",
"authors"
],
"unevaluatedProperties": false
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://spec.powerd6.org/schemas/schema.schema.json",
"title": "Module Information",
"description": "Powerd6 schema",
"type": "object",
"properties": {
"validation": {
"$ref": "https://json-schema.org/draft/2020-12/schema"
},
"rendering": {
"type": "string"
},
"renderOrder": {
"type": "integer"
}
},
"required": [
"validation",
"rendering"
],
"unevaluatedProperties": false
}