{ "$schema": "https://json-schema.org/draft/2019-09/schema", "$id": "http://example.com/example.json", "type": "object", "default": {}, "title": "bananen.json v3", "required": [ "main", "config", "saved_changes" ], "properties": { "main": { "type": "object", "default": {}, "title": "Main data. Filled in by Bananen.", "required": [ "bananen_version", "bananendata_version" ], "properties": { "bananen_version": { "type": "string", "default": "", "title": "The Bananen version that last touched this file.", "examples": [ "0.1.5-alpha" ] }, "bananendata_version": { "type": "integer", "default": 3, "title": "This refers to this documents' data structure. Used strictly for compatibility checks.", "examples": [ 3 ] } }, "examples": [ { "bananen_version": "0.1.5-alpha", "bananendata_version": 3 } ] }, "config": { "type": "object", "default": {}, "title": "Bananen config", "required": [ "changelogfile", "rollingrelease", "customisation" ], "properties": { "changelogfile": { "type": "string", "default": "", "title": "The relative name of a markdown file to be used as a changelog.", "examples": [ "changelog.md" ] }, "rollingrelease": { "type": "boolean", "default": false, "title": "Is the changelog rolling or does it feature releases?", "examples": [ false ] }, "customisation": { "type": "object", "default": {}, "title": "Customisation options", "required": [ "log_name", "released_name", "unreleased_name", "changetypes" ], "properties": { "log_name": { "type": "string", "default": "", "title": "The log_name Schema", "examples": [ "Changelog" ] }, "released_name": { "type": "string", "default": "", "title": "The released_name Schema", "examples": [ "Released changes" ] }, "unreleased_name": { "type": "string", "default": "", "title": "The unreleased_name Schema", "examples": [ "Unreleased changes" ] }, "changetypes": { "type": "object", "default": {}, "title": "The changetypes Schema", "required": [ "addition", "removal", "update", "fix" ], "properties": { "addition": { "type": "object", "default": {}, "title": "The addition Schema", "required": [ "translation", "color" ], "properties": { "translation": { "type": "string", "default": "", "title": "The translation Schema", "examples": [ "Addition" ] }, "color": { "type": "string", "default": "", "title": "The color Schema", "examples": [ "#336600" ] } }, "examples": [ { "translation": "Addition", "color": "#336600" } ] }, "removal": { "type": "object", "default": {}, "title": "The removal Schema", "required": [ "translation", "color" ], "properties": { "translation": { "type": "string", "default": "", "title": "The translation Schema", "examples": [ "Removal" ] }, "color": { "type": "string", "default": "", "title": "The color Schema", "examples": [ "#ff0000" ] } }, "examples": [ { "translation": "Removal", "color": "#ff0000" } ] }, "update": { "type": "object", "default": {}, "title": "The update Schema", "required": [ "translation", "color" ], "properties": { "translation": { "type": "string", "default": "", "title": "The translation Schema", "examples": [ "Update" ] }, "color": { "type": "string", "default": "", "title": "The color Schema", "examples": [ "0033cc" ] } }, "examples": [ { "translation": "Update", "color": "0033cc" } ] }, "fix": { "type": "object", "default": {}, "title": "The fix Schema", "required": [ "translation", "color" ], "properties": { "translation": { "type": "string", "default": "", "title": "The translation Schema", "examples": [ "Fix" ] }, "color": { "type": "string", "default": "", "title": "The color Schema", "examples": [ "#9900cc" ] } }, "examples": [ { "translation": "Fix", "color": "#9900cc" } ] } }, "examples": [ { "addition": { "translation": "Addition", "color": "#336600" }, "removal": { "translation": "Removal", "color": "#ff0000" }, "update": { "translation": "Update", "color": "0033cc" }, "fix": { "translation": "Fix", "color": "#9900cc" } } ] } }, "examples": [ { "log_name": "Changelog", "released_name": "Released changes", "unreleased_name": "Unreleased changes", "changetypes": { "addition": { "translation": "Addition", "color": "#336600" }, "removal": { "translation": "Removal", "color": "#ff0000" }, "update": { "translation": "Update", "color": "0033cc" }, "fix": { "translation": "Fix", "color": "#9900cc" } } } ] } }, "examples": [ { "changelogfile": "changelog.md", "rollingrelease": false, "customisation": { "log_name": "Changelog", "released_name": "Released changes", "unreleased_name": "Unreleased changes", "changetypes": { "addition": { "translation": "Addition", "color": "#336600" }, "removal": { "translation": "Removal", "color": "#ff0000" }, "update": { "translation": "Update", "color": "0033cc" }, "fix": { "translation": "Fix", "color": "#9900cc" } } } } ] }, "saved_changes": { "type": "object", "default": {}, "title": "The saved_changes Schema", "required": [ "unreleased", "released" ], "properties": { "unreleased": { "type": "array", "default": [], "title": "The unreleased Schema", "items": { "type": "object", "default": {}, "title": "A Schema", "required": [ "contents", "type", "breaking" ], "properties": { "contents": { "type": "string", "default": "", "title": "The contents Schema", "examples": [ "unreleased thing" ] }, "type": { "type": "integer", "default": 0, "title": "What type of change is it? (1=addition,2=update,3=fix,4=removal)", "examples": [ 2 ] }, "breaking": { "type": "boolean", "default": false, "title": "The breaking Schema", "examples": [ false ] } }, "examples": [ { "contents": "unreleased thing", "type": 2, "breaking": false } ] }, "examples": [ [ { "contents": "unreleased thing", "type": 2, "breaking": false } ] ] }, "released": { "type": "array", "default": [], "title": "The released Schema", "items": { "type": "object", "default": {}, "title": "A Schema", "required": [ "name", "changes" ], "properties": { "name": { "type": "string", "default": "", "title": "The name Schema", "examples": [ "Release one" ] }, "changes": { "type": "array", "default": [], "title": "The changes Schema", "items": { "type": "object", "title": "A Schema", "required": [ "contents", "type", "breaking" ], "properties": { "contents": { "type": "string", "title": "The contents Schema", "examples": [ "Add rolling release option." ] }, "type": { "type": "integer", "title": "What type of change is it? (1=addition,2=update,3=fix,4=removal)", "examples": [ 1 ] }, "breaking": { "type": "boolean", "title": "The breaking Schema", "examples": [ false ] } }, "examples": [ { "contents": "Add rolling release option.", "type": 1, "breaking": false }, { "contents": "Add rolling release option.", "type": 1, "breaking": false } ] }, "examples": [ [ { "contents": "Add rolling release option.", "type": 1, "breaking": false }, { "contents": "Add rolling release option.", "type": 1, "breaking": false } ] ] } }, "examples": [ { "name": "Release one", "changes": [ { "contents": "Add rolling release option.", "type": 1, "breaking": false }, { "contents": "Add rolling release option.", "type": 1, "breaking": false } ] } ] }, "examples": [ [ { "name": "Release one", "changes": [ { "contents": "Add rolling release option.", "type": 1, "breaking": false }, { "contents": "Add rolling release option.", "type": 1, "breaking": false } ] } ] ] } }, "examples": [ { "unreleased": [ { "contents": "unreleased thing", "type": 2, "breaking": false } ], "released": [ { "name": "Release one", "changes": [ { "contents": "Add rolling release option.", "type": 1, "breaking": false }, { "contents": "Add rolling release option.", "type": 1, "breaking": false } ] } ] } ] } }, "examples": [ { "main": { "bananen_version": "0.1.5-alpha", "bananendata_version": 3 }, "config": { "changelogfile": "changelog.md", "rollingrelease": false, "customisation": { "log_name": "Changelog", "released_name": "Released changes", "unreleased_name": "Unreleased changes", "changetypes": { "addition": { "translation": "Addition", "color": "#336600" }, "removal": { "translation": "Removal", "color": "#ff0000" }, "update": { "translation": "Update", "color": "0033cc" }, "fix": { "translation": "Fix", "color": "#9900cc" } } } }, "saved_changes": { "unreleased": [ { "contents": "unreleased thing", "type": 2, "breaking": false } ], "released": [ { "name": "Release one", "changes": [ { "contents": "Add rolling release option.", "type": 1, "breaking": false }, { "contents": "Add rolling release option.", "type": 1, "breaking": false } ] } ] } } ] }