mirror of
https://github.com/catppuccin/catppuccin
synced 2024-11-22 11:33:07 +00:00
310 lines
8.7 KiB
JSON
310 lines
8.7 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"
|
|
],
|
|
"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 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 website.",
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
}
|