2023-01-14 22:00:07 +00:00
{
2023-01-29 20:54:12 +00:00
"$schema" : "http://json-schema.org/draft-07/schema#" ,
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"categories" : {
2024-02-28 20:44:41 +00:00
"$id" : "#category-definitions" ,
"title" : "Category Definitions" ,
"description" : "The categories listed in the README." ,
2023-01-29 20:54:12 +00:00
"type" : "array" ,
"items" : {
2024-02-28 20:44:41 +00:00
"$id" : "#category-definitions/item" ,
"title" : "Category Item" ,
2023-01-29 20:54:12 +00:00
"type" : "object" ,
"required" : [
"key" ,
"name" ,
2024-02-28 20:44:41 +00:00
"description" ,
2023-01-29 20:54:12 +00:00
"emoji"
] ,
"additionalProperties" : false ,
"properties" : {
"key" : {
2024-02-28 20:44:41 +00:00
"$id" : "#category-definitions/category/key" ,
2023-01-29 20:54:12 +00:00
"title" : "key" ,
"type" : "string" ,
"$ref" : "#/$defs/category"
} ,
"name" : {
2024-02-28 20:44:41 +00:00
"$id" : "#category-definitions/category/name" ,
2023-01-29 20:54:12 +00:00
"title" : "Name" ,
"type" : "string"
} ,
2024-02-28 20:44:41 +00:00
"description" : {
"$id" : "#category-definitions/category/description" ,
"title" : "Description" ,
"type" : "string"
} ,
2023-01-29 20:54:12 +00:00
"emoji" : {
2024-02-28 20:44:41 +00:00
"$id" : "#category-definitions/category/emoji" ,
2023-01-29 20:54:12 +00:00
"title" : "Emoji" ,
"type" : "string"
}
}
}
} ,
"ports" : {
"$id" : "#ports" ,
"title" : "Ports" ,
"type" : "object" ,
2024-02-28 20:44:41 +00:00
"description" : "All ports in the Catppuccin organisation." ,
2023-01-29 20:54:12 +00:00
"patternProperties" : {
2023-01-14 22:00:07 +00:00
"[A-Za-z0-9_\\-]" : {
2023-01-29 20:54:12 +00:00
"$id" : "#ports/port" ,
"title" : "Port" ,
"type" : "object" ,
"description" : "The GitHub repository name of the port." ,
"examples" : [
"nvim"
] ,
"required" : [
2024-02-28 20:44:41 +00:00
"categories" ,
2023-01-29 20:54:12 +00:00
"name" ,
"platform"
] ,
"additionalProperties" : false ,
"properties" : {
"name" : {
"$id" : "#ports/port/name" ,
"title" : "Name" ,
2024-02-28 20:44:41 +00:00
"description" : "The name of the software the port is for." ,
2023-01-29 20:54:12 +00:00
"type" : "string" ,
"examples" : [
"Neovim"
]
} ,
2024-02-28 20:44:41 +00:00
"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"
2023-01-29 20:54:12 +00:00
} ,
"platform" : {
"$id" : "#ports/port/platform" ,
"title" : "Platform" ,
2023-07-21 23:07:57 +00:00
"description" : "The platforms the port supports. Either an array of supported operating systems or \"agnostic\" (indicating support for all platforms)." ,
2023-01-29 20:54:12 +00:00
"oneOf" : [
{
"type" : "array" ,
"items" : {
"$id" : "#ports/port/platform/os" ,
"title" : "Operating Systems" ,
2023-01-14 22:00:07 +00:00
"type" : "string" ,
"enum" : [
2023-01-29 20:54:12 +00:00
"android" ,
"ios" ,
"linux" ,
"macos" ,
"windows"
2023-01-14 22:00:07 +00:00
] ,
2023-01-29 20:54:12 +00:00
"examples" : [
[
"linux" ,
"macos" ,
"windows"
] ,
[
"android" ,
"ios"
]
2023-01-14 22:00:07 +00:00
]
2023-01-29 20:54:12 +00:00
}
2023-01-14 22:00:07 +00:00
} ,
2023-01-29 20:54:12 +00:00
{
"type" : "string" ,
"enum" : [
2023-07-21 23:07:57 +00:00
"agnostic"
2023-01-29 20:54:12 +00:00
]
2023-01-14 22:00:07 +00:00
}
2023-01-29 20:54:12 +00:00
]
} ,
"color" : {
2023-12-02 22:16:57 +00:00
"$ref" : "#/$defs/color"
2023-01-29 20:54:12 +00:00
} ,
"icon" : {
2023-12-02 22:16:57 +00:00
"$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." ,
2023-01-29 20:54:12 +00:00
"examples" : [
2023-12-02 22:16:57 +00:00
"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"
2023-01-14 22:00:07 +00:00
}
2023-01-29 20:54:12 +00:00
}
}
}
} ,
"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"
}
2023-01-14 22:00:07 +00:00
}
2023-01-29 20:54:12 +00:00
}
}
} ,
"$defs" : {
2023-12-02 22:16:57 +00:00
"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"
]
} ,
2024-02-28 20:44:41 +00:00
"categories" : {
"$id" : "#categories" ,
"type" : "array" ,
"minItems" : 1 ,
"maxItems" : 3 ,
"items" : {
"$ref" : "#/$defs/category"
}
} ,
2023-01-29 20:54:12 +00:00
"category" : {
"$id" : "#category" ,
"type" : "string" ,
"enum" : [
2024-02-28 20:44:41 +00:00
"3d_modelling" ,
"analytics" ,
"application_launcher" ,
"artificial_intelligence" ,
"boot_loader" ,
2023-01-29 20:54:12 +00:00
"browser" ,
"browser_extension" ,
"cli" ,
"code_editor" ,
2024-02-28 20:44:41 +00:00
"desktop_environment" ,
2023-01-29 20:54:12 +00:00
"development" ,
2024-02-28 20:44:41 +00:00
"discussion_forum" ,
"document_viewer" ,
"education" ,
"email_client" ,
"entertainment" ,
"file_manager" ,
2023-01-29 20:54:12 +00:00
"game" ,
2024-02-28 20:44:41 +00:00
"game_development" ,
"health_and_fitness" ,
2023-01-29 20:54:12 +00:00
"library" ,
2024-02-28 20:44:41 +00:00
"music" ,
2023-01-29 20:54:12 +00:00
"note_taking" ,
2024-02-28 20:44:41 +00:00
"notification_daemon" ,
"photo_and_video" ,
2023-01-29 20:54:12 +00:00
"productivity" ,
"search_engine" ,
2024-02-28 20:44:41 +00:00
"self_hosted" ,
"social_networking" ,
2023-01-29 20:54:12 +00:00
"system" ,
2024-02-28 20:44:41 +00:00
"terminal" ,
"translation_tool" ,
"userstyle" ,
"wiki" ,
"window_manager"
2023-01-29 20:54:12 +00:00
]
2023-01-14 22:00:07 +00:00
}
2023-01-29 20:54:12 +00:00
}
2023-01-14 22:00:07 +00:00
}