1
0
mirror of https://github.com/konpa/devicon.git synced 2025-08-11 00:54:36 +02:00

reformat and add color format

This commit is contained in:
Snailedlt
2024-01-18 17:44:21 +01:00
parent 167965d745
commit d4c5cf4693

View File

@@ -1,223 +1,224 @@
{ {
"$schema": "http://json-schema.org/draft-07/schema", "$schema": "http://json-schema.org/draft-07/schema",
"definitions": { "definitions": {
"IconVersions": { "IconVersions": {
"type": "string", "type": "string",
"enum": [ "enum": [
"original", "original",
"plain", "plain",
"line", "line",
"original-wordmark", "original-wordmark",
"plain-wordmark", "plain-wordmark",
"line-wordmark" "line-wordmark"
] ]
}, },
"IconVersionsArray": { "IconVersionsArray": {
"type": "array", "type": "array",
"items": { "items": {
"$ref": "#/definitions/IconVersions" "$ref": "#/definitions/IconVersions"
} }
}
},
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"title": "The official name of the technology.",
"description": "Pattern: Only lower-case letters and digits.",
"pattern": "^(dot-net|[0-9a-z]+)$"
},
"altnames": {
"type": "array",
"title": "List of alternative names for this technology.",
"description": "Used for the searchbar on the Devicon website. https://devicon.dev",
"uniqueItems": true,
"items": {
"type": "string"
} }
}, },
"tags": { "type": "array",
"type": "array", "items": {
"title": "List of tags relating to the technology for categorization/search purpose.",
"$ref": "./tags-enum.json/#/definitions/Tags"
},
"versions": {
"title": "Keeps track of the different versions that you have.",
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"svg": { "name": {
"title": "List all the SVGs that you have.", "type": "string",
"contains": { "title": "The official name of the technology.",
"$ref": "#/definitions/IconVersions" "description": "Pattern: Only lower-case letters and digits.",
"pattern": "^(dot-net|[0-9a-z]+)$"
}, },
"minItems": 1, "altnames": {
"uniqueItems": true, "type": "array",
"$ref": "#/definitions/IconVersionsArray" "title": "List of alternative names for this technology.",
}, "description": "Used for the searchbar on the Devicon website. https://devicon.dev",
"font": { "uniqueItems": true,
"title": "List only the SVGs that can be converted to fonts. Usually refers to \"plain\" and \"line\" versions but \"original\" can be accepted.", "items": {
"description": "DO NOT list aliases here! In this case use \"aliases\" property!", "type": "string"
"contains": { }
"$ref": "#/definitions/IconVersions"
}, },
"minItems": 1, "tags": {
"uniqueItems": true, "type": "array",
"$ref": "#/definitions/IconVersionsArray" "title": "List of tags relating to the technology for categorization/search purpose.",
} "$ref": "./tags-enum.json/#/definitions/Tags"
}
},
"color": {
"title": "The official/main hexadecimal color of the logo. [Case insensitive]",
"description": "Pattern example: #FFFFFF",
"type": "string",
"pattern": "^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"
},
"aliases": {
"title": "Keeps track of the aliases for the font versions ONLY.",
"description": "Can be empty, or contain objects, each with an alias and a base version. More info here: https://github.com/devicons/devicon/wiki/Updating-%60devicon.json%60#aliases-and-aliasobj",
"type": "array",
"items": {
"title": "AliasObj, an object containing an alias and a base version",
"type": "object",
"additionalProperties": false,
"properties": {
"base": {
"title": "The SVG file you are using as source for the alias.",
"$ref": "#/definitions/IconVersions"
}, },
"alias": { "versions": {
"title": "The new name (alias) that you want to generate.", "title": "Keeps track of the different versions that you have.",
"$ref": "#/definitions/IconVersions" "type": "object",
"additionalProperties": false,
"properties": {
"svg": {
"title": "List all the SVGs that you have.",
"contains": {
"$ref": "#/definitions/IconVersions"
},
"minItems": 1,
"uniqueItems": true,
"$ref": "#/definitions/IconVersionsArray"
},
"font": {
"title": "List only the SVGs that can be converted to fonts. Usually refers to \"plain\" and \"line\" versions but \"original\" can be accepted.",
"description": "DO NOT list aliases here! In this case use \"aliases\" property!",
"contains": {
"$ref": "#/definitions/IconVersions"
},
"minItems": 1,
"uniqueItems": true,
"$ref": "#/definitions/IconVersionsArray"
}
}
},
"color": {
"title": "The official/main hexadecimal color of the logo. [Case insensitive]",
"description": "Pattern example: #FFFFFF",
"type": "string",
"pattern": "^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"format": "color"
},
"aliases": {
"title": "Keeps track of the aliases for the font versions ONLY.",
"description": "Can be empty, or contain objects, each with an alias and a base version. More info here: https://github.com/devicons/devicon/wiki/Updating-%60devicon.json%60#aliases-and-aliasobj",
"type": "array",
"items": {
"title": "AliasObj, an object containing an alias and a base version",
"type": "object",
"additionalProperties": false,
"properties": {
"base": {
"title": "The SVG file you are using as source for the alias.",
"$ref": "#/definitions/IconVersions"
},
"alias": {
"title": "The new name (alias) that you want to generate.",
"$ref": "#/definitions/IconVersions"
}
},
"required": [
"base",
"alias"
],
"allOf": [
{
"if": {
"properties": {
"base": {
"const": "original"
}
}
},
"then": {
"not": {
"properties": {
"alias": {
"const": "original"
}
}
}
}
},
{
"if": {
"properties": {
"base": {
"const": "plain"
}
}
},
"then": {
"not": {
"properties": {
"alias": {
"const": "plain"
}
}
}
}
},
{
"if": {
"properties": {
"base": {
"const": "line"
}
}
},
"then": {
"not": {
"properties": {
"alias": {
"const": "line"
}
}
}
}
},
{
"if": {
"properties": {
"base": {
"const": "original-wordmark"
}
}
},
"then": {
"not": {
"properties": {
"alias": {
"const": "original-wordmark"
}
}
}
}
},
{
"if": {
"properties": {
"base": {
"const": "plain-wordmark"
}
}
},
"then": {
"not": {
"properties": {
"alias": {
"const": "plain-wordmark"
}
}
}
}
},
{
"if": {
"properties": {
"base": {
"const": "line-wordmark"
}
}
},
"then": {
"not": {
"properties": {
"alias": {
"const": "line-wordmark"
}
}
}
}
}
]
}
} }
}, },
"required": [ "required": [
"base", "name",
"alias" "altnames",
], "tags",
"allOf": [ "versions",
{ "color",
"if": { "aliases"
"properties": { ]
"base": { }
"const": "original"
}
}
},
"then": {
"not": {
"properties": {
"alias": {
"const": "original"
}
}
}
}
},
{
"if": {
"properties": {
"base": {
"const": "plain"
}
}
},
"then": {
"not": {
"properties": {
"alias": {
"const": "plain"
}
}
}
}
},
{
"if": {
"properties": {
"base": {
"const": "line"
}
}
},
"then": {
"not": {
"properties": {
"alias": {
"const": "line"
}
}
}
}
},
{
"if": {
"properties": {
"base": {
"const": "original-wordmark"
}
}
},
"then": {
"not": {
"properties": {
"alias": {
"const": "original-wordmark"
}
}
}
}
},
{
"if": {
"properties": {
"base": {
"const": "plain-wordmark"
}
}
},
"then": {
"not": {
"properties": {
"alias": {
"const": "plain-wordmark"
}
}
}
}
},
{
"if": {
"properties": {
"base": {
"const": "line-wordmark"
}
}
},
"then": {
"not": {
"properties": {
"alias": {
"const": "line-wordmark"
}
}
}
}
}
]
}
}
},
"required": [
"name",
"altnames",
"tags",
"versions",
"color",
"aliases"
]
}
} }