mirror of
https://github.com/catppuccin/catppuccin
synced 2024-11-26 05:20:20 +00:00
311 lines
8.9 KiB
JSON
311 lines
8.9 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"categories": {
|
|
"$id": "#category-definitions",
|
|
"title": "Category Definitions",
|
|
"description": "The categories listed in the README.",
|
|
"type": "array",
|
|
"items": {
|
|
"$id": "#category-definitions/item",
|
|
"title": "Category Item",
|
|
"type": "object",
|
|
"required": [
|
|
"key",
|
|
"name",
|
|
"description",
|
|
"emoji"
|
|
],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"key": {
|
|
"$id": "#category-definitions/category/key",
|
|
"title": "key",
|
|
"type": "string",
|
|
"$ref": "#/$defs/category"
|
|
},
|
|
"name": {
|
|
"$id": "#category-definitions/category/name",
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"$id": "#category-definitions/category/description",
|
|
"title": "Description",
|
|
"type": "string"
|
|
},
|
|
"emoji": {
|
|
"$id": "#category-definitions/category/emoji",
|
|
"title": "Emoji",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ports": {
|
|
"$id": "#ports",
|
|
"title": "Ports",
|
|
"type": "object",
|
|
"description": "All ports in the Catppuccin organisation.",
|
|
"patternProperties": {
|
|
"[A-Za-z0-9_\\-]": {
|
|
"$id": "#ports/port",
|
|
"title": "Port",
|
|
"type": "object",
|
|
"description": "The GitHub repository name of the port.",
|
|
"examples": [
|
|
"nvim"
|
|
],
|
|
"required": [
|
|
"categories",
|
|
"name",
|
|
"platform",
|
|
"color"
|
|
],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": {
|
|
"$id": "#ports/port/name",
|
|
"title": "Name",
|
|
"description": "The name of the software the port is for.",
|
|
"type": "string",
|
|
"examples": [
|
|
"Neovim"
|
|
]
|
|
},
|
|
"categories": {
|
|
"$id": "#ports/port/categories",
|
|
"title": "Categories",
|
|
"description": "The categories that fit the port the most, the first category is the primary category which the port will be listed under on the README.",
|
|
"$ref": "#/$defs/categories"
|
|
},
|
|
"platform": {
|
|
"$id": "#ports/port/platform",
|
|
"title": "Platform",
|
|
"description": "The platforms the port supports. Either an array of supported operating systems or \"agnostic\" (indicating support for all platforms).",
|
|
"oneOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"$id": "#ports/port/platform/os",
|
|
"title": "Operating Systems",
|
|
"type": "string",
|
|
"enum": [
|
|
"android",
|
|
"ios",
|
|
"linux",
|
|
"macos",
|
|
"windows"
|
|
],
|
|
"examples": [
|
|
[
|
|
"linux",
|
|
"macos",
|
|
"windows"
|
|
],
|
|
[
|
|
"android",
|
|
"ios"
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"agnostic"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"color": {
|
|
"$ref": "#/$defs/color"
|
|
},
|
|
"icon": {
|
|
"$ref": "#/$defs/icon"
|
|
},
|
|
"alias": {
|
|
"$id": "#ports/port/alias",
|
|
"title": "Alias",
|
|
"description": "If another port provides the theme for this port, provide the name of the other port here (e.g. `vscode` for `azuredatastudio`, where Azure Data Studio uses the VS Code theme).",
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"$id": "#ports/port/url",
|
|
"title": "URL",
|
|
"description": "If the port is hosted on a specific URL, provide it here.",
|
|
"examples": [
|
|
"https://github.com/catppuccin/vscode/tree/compiled"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"links": {
|
|
"$id": "#ports/port/links",
|
|
"title": "Links",
|
|
"description": "Links to the port on marketplaces, app stores; documentation, preview pages, etc.",
|
|
"type": "array",
|
|
"items": {
|
|
"$id": "#ports/port/links/item",
|
|
"title": "Link",
|
|
"type": "object",
|
|
"required": [
|
|
"name",
|
|
"url"
|
|
],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": {
|
|
"$id": "#ports/port/links/link/name",
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"color": {
|
|
"$ref": "#/$defs/color"
|
|
},
|
|
"icon": {
|
|
"$ref": "#/$defs/icon"
|
|
},
|
|
"url": {
|
|
"$id": "#ports/port/links/link/url",
|
|
"title": "URL",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"upstreamed": {
|
|
"$id": "#ports/port/upstreamed",
|
|
"title": "Upstreamed",
|
|
"description": "Boolean indicating whether the port has been upstreamed.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"showcases": {
|
|
"$id": "#showcases",
|
|
"title": "Showcases",
|
|
"type": "array",
|
|
"description": "Each showcase listed in the README",
|
|
"items": {
|
|
"$id": "#showcase/item",
|
|
"title": "Showcase item",
|
|
"type": "object",
|
|
"required": [
|
|
"title",
|
|
"link",
|
|
"description"
|
|
],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"title": {
|
|
"$id": "#showcase/showcase/title",
|
|
"title": "title",
|
|
"type": "string"
|
|
},
|
|
"link": {
|
|
"$id": "#showcase/showcase/link",
|
|
"title": "Link",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"$id": "#showcase/showcase/description",
|
|
"title": "Link",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"$defs": {
|
|
"icon": {
|
|
"$id": "#icon",
|
|
"title": "Icon",
|
|
"description": "The icon to use on the Catppuccin 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": [
|
|
"neovim",
|
|
"neovim.svg"
|
|
]
|
|
},
|
|
"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"
|
|
]
|
|
},
|
|
"categories": {
|
|
"$id": "#categories",
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 3,
|
|
"items": {
|
|
"$ref": "#/$defs/category"
|
|
}
|
|
},
|
|
"category": {
|
|
"$id": "#category",
|
|
"type": "string",
|
|
"enum": [
|
|
"3d_modelling",
|
|
"analytics",
|
|
"application_launcher",
|
|
"artificial_intelligence",
|
|
"boot_loader",
|
|
"browser",
|
|
"browser_extension",
|
|
"cli",
|
|
"code_editor",
|
|
"desktop_environment",
|
|
"development",
|
|
"discussion_forum",
|
|
"document_viewer",
|
|
"education",
|
|
"email_client",
|
|
"entertainment",
|
|
"file_manager",
|
|
"game",
|
|
"game_development",
|
|
"health_and_fitness",
|
|
"library",
|
|
"music",
|
|
"note_taking",
|
|
"notification_daemon",
|
|
"photo_and_video",
|
|
"productivity",
|
|
"search_engine",
|
|
"self_hosted",
|
|
"social_networking",
|
|
"system",
|
|
"terminal",
|
|
"translation_tool",
|
|
"userstyle",
|
|
"wiki",
|
|
"window_manager"
|
|
]
|
|
}
|
|
}
|
|
}
|