Co-authored-by: rubyowo <perhaps-you-know@what-is.ml> Co-authored-by: Andreas Grafen <andreas@grafen.info> Co-authored-by: winston <hey@winston.sh> Co-authored-by: Carsten Kragelund <carsten@kragelund.me> Co-authored-by: Andreas Grafen <andreas@grafen.info> Co-authored-by: Alaina <68250402+alaidriel@users.noreply.github.com> Co-authored-by: jolheiser <john.olheiser@gmail.com>
204 lines
6.8 KiB
JSON
204 lines
6.8 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 org.",
|
|
"patternProperties": {
|
|
"[A-Za-z0-9_\\-]": {
|
|
"$id": "#userstyles/userstyle",
|
|
"title": "Userstyle",
|
|
"type": "object",
|
|
"description": "The directory of the userstyle.",
|
|
"examples": ["youtube"],
|
|
"required": ["name", "category", "readme"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": {
|
|
"$id": "#userstyles/userstyle/name",
|
|
"title": "Name",
|
|
"description": "The name of the userstyle(s).",
|
|
"oneOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 2,
|
|
"examples": [["AniList", "AniChart"]]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"examples": ["YouTube"]
|
|
}
|
|
]
|
|
},
|
|
"category": {
|
|
"$id": "#userstyles/userstyle/category",
|
|
"title": "Category",
|
|
"description": "The category that fits the port the most.",
|
|
"$ref": "#/$defs/category"
|
|
},
|
|
"color": {
|
|
"$id": "#userstyles/userstyle/color",
|
|
"title": "Color",
|
|
"description": "The fill color for the icon on the Catppuccin website.",
|
|
"type": "string",
|
|
"enum": [
|
|
"rosewater",
|
|
"flamingo",
|
|
"pink",
|
|
"mauve",
|
|
"red",
|
|
"maroon",
|
|
"peach",
|
|
"yellow",
|
|
"green",
|
|
"teal",
|
|
"sky",
|
|
"sapphire",
|
|
"blue",
|
|
"lavender",
|
|
"text"
|
|
],
|
|
"examples": ["pink"]
|
|
},
|
|
"icon": {
|
|
"$id": "#userstyles/userstyle/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"]
|
|
},
|
|
"readme": {
|
|
"$id": "#userstyles/userstyle/readme",
|
|
"title": "README",
|
|
"description": "Options to help in the auto-generation of the userstyle README.",
|
|
"type": "object",
|
|
"required": ["app-link", "current-maintainers"],
|
|
"properties": {
|
|
"app-link": {
|
|
"$id": "#userstyles/userstyle/readme/app-link",
|
|
"title": "Application Link",
|
|
"description": "The hyperlink of the app that is being themed.",
|
|
"oneOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 2,
|
|
"examples": [
|
|
["https://anilist.co", "https://anichart.net"]
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"examples": ["https://github.com"]
|
|
}
|
|
]
|
|
},
|
|
"usage": {
|
|
"$id": "#userstyles/userstyle/readme/usage",
|
|
"title": "Usage",
|
|
"description": "The Usage section of the userstyle README.",
|
|
"type": "string"
|
|
},
|
|
"faq": {
|
|
"$id": "#userstyles/userstyle/readme/faq",
|
|
"title": "FAQ",
|
|
"description": "The FAQ section of the userstyle README.",
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"question": {
|
|
"type": "string",
|
|
"title": "Question",
|
|
"description": "A question that a user may have about the userstyle."
|
|
},
|
|
"answer": {
|
|
"type": "string",
|
|
"title": "Answer",
|
|
"description": "An answer to the question about the userstyle."
|
|
}
|
|
},
|
|
"required": ["question", "answer"]
|
|
}
|
|
},
|
|
"current-maintainers": {
|
|
"$id": "#userstyles/userstyle/readme/current-maintainers",
|
|
"title": "Current Maintainers",
|
|
"description": "List of all active maintainers for this userstyle.",
|
|
"$ref": "#/$defs/collaborators"
|
|
},
|
|
"past-maintainers": {
|
|
"$id": "#userstyles/userstyle/readme/past-maintainers",
|
|
"title": "Past Maintainers",
|
|
"description": "List of all maintainers that have maintained on this userstyle in the past.",
|
|
"$ref": "#/$defs/collaborators"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"collaborators": {
|
|
"$id": "#all-collaborators",
|
|
"title": "All Collaborators",
|
|
"description": "Represents all maintainers and contributors to all userstyles.",
|
|
"$ref": "#/$defs/collaborators"
|
|
}
|
|
},
|
|
"$defs": {
|
|
"collaborators": {
|
|
"$id": "#collaborators",
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"title": "Display Name",
|
|
"description": "The display name of the collaborator to show in the userstyle README."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"title": "GitHub Profile",
|
|
"description": "The GitHub profile link of the collaborator to show in the userstyle README."
|
|
}
|
|
},
|
|
"required": ["url"]
|
|
}
|
|
},
|
|
"category": {
|
|
"$id": "#category",
|
|
"type": "string",
|
|
"enum": [
|
|
"browser",
|
|
"browser_extension",
|
|
"cli",
|
|
"code_editor",
|
|
"development",
|
|
"game",
|
|
"leisure",
|
|
"library",
|
|
"messaging",
|
|
"note_taking",
|
|
"productivity",
|
|
"search_engine",
|
|
"social",
|
|
"system",
|
|
"terminal"
|
|
]
|
|
}
|
|
}
|
|
}
|