You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
4.6 KiB
JSON

{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/catppuccin/catppuccin/main/resources/ports.schema.json",
"type": "object",
"additionalProperties": false,
"patternProperties": {
"[A-Za-z0-9_\\-]": {
"$id": "#ports/port",
"title": "Port",
"type": "object",
"description": "The GitHub repository name of the port.",
"examples": ["nvim"],
"required": ["category", "name", "platform"],
"properties": {
"name": {
"$id": "#ports/port/name",
"title": "Name",
"description": "The Name of the software the port is for",
"type": "string",
"examples": ["Neovim"]
},
"category": {
"$id": "#ports/port/category",
"title": "Category",
"type": "string",
"enum": [
"browser",
"browser_extension",
"cli",
"code_editor",
"development",
"game",
"leisure",
"library",
"messaging",
"note_taking",
"productivity",
"search_engine",
"social",
"system",
"terminal"
],
"examples": ["editor"]
},
"platform": {
"$id": "#ports/port/platform",
"title": "Platform",
"description": "The platforms the port supports. Either an array of supported operating systems, \"agnostic\" (indicating support for all platforms), or \"userstyle\".",
"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", "userstyle"]
}
]
},
"color": {
"$id": "#ports/port/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"]
},
"icon": {
"$id": "#ports/port/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"]
},
"userstyle": {
"$id": "#ports/port/userstyle",
"title": "Userstyle",
"description": "Whether the port is a userstyle",
"type": "boolean",
"examples": [true]
}
}
}
}
}