2021-02-19 16:19:22 +02:00
{
"title" : "Simple Icons" ,
"definitions" : {
"brand" : {
2021-05-06 15:50:44 +02:00
"$id" : "#brand" ,
2021-02-19 16:19:22 +02:00
"description" : "A single brand" ,
"type" : "object" ,
"required" : [ "title" , "hex" , "source" ] ,
"properties" : {
"title" : {
2021-05-06 15:50:44 +02:00
"$ref" : "#/definitions/title"
2021-02-19 16:19:22 +02:00
} ,
"slug" : {
2021-05-06 15:50:44 +02:00
"$ref" : "#/definitions/slug"
2021-02-19 16:19:22 +02:00
} ,
"hex" : {
2021-05-06 15:50:44 +02:00
"description" : "The brand color" ,
"$ref" : "#/definitions/hex"
2021-02-19 16:19:22 +02:00
} ,
"source" : {
"description" : "The website from which the icon was sourced" ,
2022-09-26 16:42:22 +02:00
"$ref" : "#/definitions/sourceUrl"
2021-02-19 16:19:22 +02:00
} ,
"guidelines" : {
"description" : "The brand guidelines" ,
"$ref" : "#/definitions/url"
} ,
2021-05-06 15:50:44 +02:00
"aliases" : {
"description" : "The aliases for the brand" ,
"type" : "object" ,
"properties" : {
"aka" : {
"description" : "The brand is also known as (e.g. full length name or abbreviation)" ,
"type" : "array" ,
2024-03-24 19:38:18 +02:00
"items" : { "type" : "string" }
2021-05-06 15:50:44 +02:00
} ,
"dup" : {
"description" : "Different brands that use the exact same icon" ,
"type" : "array" ,
2024-03-24 19:38:18 +02:00
"items" : { "$ref" : "#/definitions/duplicate" }
2021-05-06 15:50:44 +02:00
} ,
"loc" : {
"description" : "Localized names of the brand" ,
"$ref" : "#/definitions/locale"
} ,
"old" : {
"description" : "Old names, for backwards compatibility" ,
"type" : "array" ,
2024-03-24 19:38:18 +02:00
"items" : { "type" : "string" }
2021-05-06 15:50:44 +02:00
}
} ,
"minProperties" : 1 ,
"additionalProperties" : false
} ,
2021-02-19 16:19:22 +02:00
"license" : {
"description" : "The license for the icon" ,
"oneOf" : [
{
"type" : "object" ,
"required" : [ "type" ] ,
"properties" : {
"type" : {
"description" : "An SPDX License Identifier" ,
2024-09-30 22:34:00 +02:00
"type" : "string"
2021-02-19 16:19:22 +02:00
}
} ,
"additionalProperties" : false
2022-03-14 22:04:50 +02:00
} ,
{
"type" : "object" ,
"required" : [ "type" , "url" ] ,
"properties" : {
"type" : {
2024-05-22 09:13:35 +02:00
"description" : "Custom license type" ,
"const" : "custom"
2022-03-14 22:04:50 +02:00
} ,
"url" : {
"description" : "The URL to the license text by the brand" ,
"$ref" : "#/definitions/url"
}
} ,
"additionalProperties" : false
2021-02-19 16:19:22 +02:00
}
]
}
} ,
"additionalProperties" : false
} ,
2021-05-06 15:50:44 +02:00
"duplicate" : {
"$id" : "#duplicate" ,
2024-05-22 09:13:35 +02:00
"description" : "A brand that uses the same icon" ,
2021-05-06 15:50:44 +02:00
"type" : "object" ,
"required" : [ "title" ] ,
"properties" : {
"title" : {
"$ref" : "#/definitions/title"
} ,
"slug" : {
"$ref" : "#/definitions/slug"
} ,
"hex" : {
"description" : "The brand color, if different from the original" ,
"$ref" : "#/definitions/hex"
} ,
"source" : {
"description" : "The website from which the duplicate's hex was sourced, if different from the original" ,
"$ref" : "#/definitions/url"
} ,
"guidelines" : {
"description" : "The brand guidelines, if different from the original" ,
"$ref" : "#/definitions/url"
2024-03-13 18:44:17 +02:00
} ,
"loc" : {
"description" : "Localized names of the brand" ,
"$ref" : "#/definitions/locale"
2021-05-06 15:50:44 +02:00
}
} ,
"additionalProperties" : false
} ,
"hex" : {
"$id" : "#hex" ,
"description" : "A 6-character hexadecimal color value (without #)" ,
"type" : "string" ,
"pattern" : "^[0-9A-F]{6}$"
} ,
"locale" : {
"$id" : "#locale" ,
"description" : "A localized brand name" ,
"type" : "object" ,
"patternProperties" : {
"^[a-z]{2}-[A-Z]{2}$" : {
"type" : "string" ,
"description" : "The local name of the brand"
}
} ,
"minProperties" : 1 ,
"additionalProperties" : false
} ,
"slug" : {
"$id" : "#slug" ,
"description" : "The brand name slug (used as filename in icons/)" ,
"type" : "string" ,
2021-05-27 19:29:34 +02:00
"pattern" : "^[a-z0-9]+(_[a-z0-9]+)?$"
2021-05-06 15:50:44 +02:00
} ,
"title" : {
"$id" : "#title" ,
"description" : "The name of the brand" ,
"type" : "string"
} ,
2022-09-26 16:42:22 +02:00
"sourceUrl" : {
"$id" : "#sourceUrl" ,
"description" : "URL for icon source. If is a GitHub URL, is validated to contain a commit hash, to be an issue comment or to be a GitHub organization URL" ,
2024-09-27 18:25:37 +02:00
"$ref" : "#/definitions/url"
2022-09-26 16:42:22 +02:00
} ,
2021-02-19 16:19:22 +02:00
"url" : {
"$id" : "#url" ,
2022-09-24 17:37:03 +02:00
"description" : "HTTPS-only URL for a source" ,
2021-02-19 16:19:22 +02:00
"type" : "string" ,
2022-09-24 17:37:03 +02:00
"pattern" : "^https://[^\\s]+$"
2021-02-19 16:19:22 +02:00
}
} ,
"type" : "object" ,
"properties" : {
"icons" : {
"description" : "A list of brands" ,
"type" : "array" ,
2024-03-24 19:38:18 +02:00
"items" : { "$ref" : "#/definitions/brand" }
2021-02-19 16:19:22 +02:00
}
2022-03-14 22:04:50 +02:00
} ,
"additionalProperties" : false ,
"required" : [ "icons" ]
2021-02-19 16:19:22 +02:00
}