mirror of
https://github.com/catppuccin/userstyles.git
synced 2026-03-09 00:05:30 +08:00
174 lines
5.6 KiB
JSON
174 lines
5.6 KiB
JSON
{
|
|
"$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 organisation.",
|
|
"patternProperties": {
|
|
"[A-Za-z0-9_\\-]": {
|
|
"$id": "#userstyles/userstyle",
|
|
"title": "Userstyle",
|
|
"type": "object",
|
|
"description": "The directory of the userstyle.",
|
|
"examples": ["youtube"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": {
|
|
"description": "The name of the userstyle.",
|
|
"$ref": "#/$defs/name"
|
|
},
|
|
"link": {
|
|
"$ref": "#/$defs/link"
|
|
},
|
|
"categories": {
|
|
"$ref": "#/$defs/categories"
|
|
},
|
|
"color": {
|
|
"$ref": "#/$defs/color"
|
|
},
|
|
"icon": {
|
|
"$ref": "#/$defs/icon"
|
|
},
|
|
"note": {
|
|
"$id": "#userstyles/userstyle/note",
|
|
"title": "Note",
|
|
"description": "An additional note that users should read.",
|
|
"type": "string"
|
|
},
|
|
"supports": {
|
|
"$id": "#userstyles/userstyle/supports",
|
|
"title": "Supports",
|
|
"type": "object",
|
|
"description": "All websites that the userstyle also supports.",
|
|
"patternProperties": {
|
|
"[A-Za-z0-9_\\-]": {
|
|
"$id": "#userstyles/userstyle/supports/website",
|
|
"title": "Website",
|
|
"type": "object",
|
|
"description": "The unique identifier of the supported website, usually the name of the website lowercased.",
|
|
"examples": ["anichart"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": {
|
|
"$id": "#userstyles/userstyle/supports/website/name",
|
|
"title": "Website Name",
|
|
"description": "The name of the website.",
|
|
"examples": ["AniChart"],
|
|
"$ref": "#/$defs/name"
|
|
},
|
|
"link": {
|
|
"$ref": "#/$defs/link"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"link"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"current-maintainers": {
|
|
"$id": "#userstyles/userstyle/current-maintainers",
|
|
"title": "Current Maintainers",
|
|
"description": "List of all active maintainers for this userstyle.",
|
|
"type": "array",
|
|
"$ref": "#/$defs/collaborators"
|
|
},
|
|
"past-maintainers": {
|
|
"$id": "#userstyles/userstyle/past-maintainers",
|
|
"title": "Past Maintainers",
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"description": "List of all users that have maintained this userstyle in the past.",
|
|
"$ref": "#/$defs/collaborators"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"categories",
|
|
"link",
|
|
"color",
|
|
"current-maintainers"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"collaborators": {
|
|
"$id": "#all-collaborators",
|
|
"title": "All Collaborators",
|
|
"description": "Represents all maintainers and contributors to all userstyles.",
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"$ref": "#/$defs/collaborators"
|
|
}
|
|
},
|
|
"$defs": {
|
|
"name": {
|
|
"$id": "#name",
|
|
"title": "Name",
|
|
"type": "string",
|
|
"examples": ["YouTube"]
|
|
},
|
|
"link": {
|
|
"$id": "#link",
|
|
"title": "Link",
|
|
"description": "The url of the website that is being themed.",
|
|
"type": "string"
|
|
},
|
|
"color": {
|
|
"$id": "#color",
|
|
"title": "Color",
|
|
"description": "The fill color for the icon on the Catppuccin website, which should match the color used by Simple Icons. If the icon does not exist in Simple Icons, choose the most suitable color from the branding.",
|
|
"type": "string",
|
|
"enum": [
|
|
"rosewater",
|
|
"flamingo",
|
|
"pink",
|
|
"mauve",
|
|
"red",
|
|
"maroon",
|
|
"peach",
|
|
"yellow",
|
|
"green",
|
|
"teal",
|
|
"sky",
|
|
"sapphire",
|
|
"blue",
|
|
"lavender",
|
|
"text"
|
|
],
|
|
"examples": ["pink"]
|
|
},
|
|
"icon": {
|
|
"$id": "#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"]
|
|
},
|
|
"collaborators": {
|
|
"$id": "#collaborators",
|
|
"description": "The GitHub username of the collaborator.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"categories": {
|
|
"$id": "#categories",
|
|
"type": "array",
|
|
"title": "Categories",
|
|
"description": "The categories that fit the userstyle the most, the first category is the primary category which the userstyle will be listed under on the README.",
|
|
"minItems": 1,
|
|
"maxItems": 3,
|
|
"items": {
|
|
"$ref": "https://raw.githubusercontent.com/catppuccin/catppuccin/refs/heads/main/resources/categories.schema.json#/$defs/category"
|
|
}
|
|
}
|
|
}
|
|
}
|