{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "additionalProperties": false, "properties": { "userstyles": { "$id": "#userstyles", "title": "Userstyles", "type": "object", "description": "All userstyles in the Catppuccin org.", "patternProperties": { "[A-Za-z0-9_\\-]": { "$id": "#userstyles/userstyle", "title": "Userstyle", "type": "object", "description": "The directory of the userstyle.", "examples": ["youtube"], "required": ["name", "category", "readme"], "additionalProperties": false, "properties": { "name": { "$id": "#userstyles/userstyle/name", "title": "Name", "description": "The name of the userstyle(s).", "oneOf": [ { "type": "array", "items": { "type": "string" }, "minItems": 2, "examples": [["AniList", "AniChart"]] }, { "type": "string", "examples": ["YouTube"] } ] }, "category": { "$id": "#userstyles/userstyle/category", "title": "Category", "description": "The category that fits the port the most.", "$ref": "#/$defs/category" }, "color": { "$id": "#userstyles/userstyle/color", "title": "Color", "description": "The fill color for the icon on the Catppuccin website.", "type": "string", "enum": [ "rosewater", "flamingo", "pink", "mauve", "red", "maroon", "peach", "yellow", "green", "teal", "sky", "sapphire", "blue", "lavender", "text" ], "examples": ["pink"] }, "icon": { "$id": "#userstyles/userstyle/icon", "title": "Icon", "description": "The icon to use on the website. This should be the same name as the SVG file on https://simpleicons.org/. If a `.svg` suffix is present, it's taken from the local website repository resources.", "type": "string", "examples": ["twitch", "twitch.svg"] }, "readme": { "$id": "#userstyles/userstyle/readme", "title": "README", "description": "Options to help in the auto-generation of the userstyle README.", "type": "object", "required": ["app-link", "current-maintainers"], "properties": { "app-link": { "$id": "#userstyles/userstyle/readme/app-link", "title": "Application Link", "description": "The hyperlink of the app that is being themed.", "oneOf": [ { "type": "array", "items": { "type": "string" }, "minItems": 2, "examples": [ ["https://anilist.co", "https://anichart.net"] ] }, { "type": "string", "examples": ["https://github.com"] } ] }, "usage": { "$id": "#userstyles/userstyle/readme/usage", "title": "Usage", "description": "The Usage section of the userstyle README.", "type": "string" }, "faq": { "$id": "#userstyles/userstyle/readme/faq", "title": "FAQ", "description": "The FAQ section of the userstyle README.", "type": "array", "minItems": 1, "items": { "type": "object", "properties": { "question": { "type": "string", "title": "Question", "description": "A question that a user may have about the userstyle." }, "answer": { "type": "string", "title": "Answer", "description": "An answer to the question about the userstyle." } }, "required": ["question", "answer"] } }, "current-maintainers": { "$id": "#userstyles/userstyle/readme/current-maintainers", "title": "Current Maintainers", "description": "List of all active maintainers for this userstyle.", "$ref": "#/$defs/collaborators" }, "past-maintainers": { "$id": "#userstyles/userstyle/readme/past-maintainers", "title": "Past Maintainers", "description": "List of all maintainers that have maintained on this userstyle in the past.", "$ref": "#/$defs/collaborators" } } } } } } }, "collaborators": { "$id": "#all-collaborators", "title": "All Collaborators", "description": "Represents all maintainers and contributors to all userstyles.", "$ref": "#/$defs/collaborators" } }, "$defs": { "collaborators": { "$id": "#collaborators", "type": "array", "minItems": 1, "items": { "type": "object", "properties": { "name": { "type": "string", "title": "Display Name", "description": "The display name of the collaborator to show in the userstyle README." }, "url": { "type": "string", "title": "GitHub Profile", "description": "The GitHub profile link of the collaborator to show in the userstyle README." } }, "required": ["url"] } }, "category": { "$id": "#category", "type": "string", "enum": [ "browser", "browser_extension", "cli", "code_editor", "development", "game", "leisure", "library", "messaging", "note_taking", "productivity", "search_engine", "social", "system", "terminal" ] } } }