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" ,
"items" : { "type" : "string" }
} ,
"dup" : {
"description" : "Different brands that use the exact same icon" ,
"type" : "array" ,
"items" : { "$ref" : "#/definitions/duplicate" }
} ,
"loc" : {
"description" : "Localized names of the brand" ,
"$ref" : "#/definitions/locale"
} ,
"old" : {
"description" : "Old names, for backwards compatibility" ,
"type" : "array" ,
"items" : { "type" : "string" }
}
} ,
"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" ,
"type" : "string" ,
"enum" : [
"0BSD" ,
"AAL" ,
"AFL-1.1" ,
"AFL-1.2" ,
"AFL-2.0" ,
"AFL-3.0" ,
"Afmparse" ,
"AGPL-1.0-only" ,
"AGPL-1.0-or-later" ,
"AGPL-3.0-only" ,
"AGPL-3.0-or-later" ,
"Aladdin" ,
"AML" ,
"AMPAS" ,
"Apache-1.0" ,
"Apache-1.1" ,
"Apache-2.0" ,
"APL-1.0" ,
"Artistic-1.0" ,
"Artistic-1.0-cl8" ,
"Artistic-1.0-Perl" ,
"Artistic-2.0" ,
"CC-BY-1.0" ,
"CC-BY-2.0" ,
"CC-BY-2.5" ,
"CC-BY-3.0" ,
"CC-BY-4.0" ,
2021-03-15 19:21:43 +02:00
"CC-BY-NC-1.0" ,
"CC-BY-NC-2.0" ,
"CC-BY-NC-2.5" ,
"CC-BY-NC-3.0" ,
"CC-BY-NC-4.0" ,
2021-02-19 16:19:22 +02:00
"CC-BY-NC-ND-1.0" ,
"CC-BY-NC-ND-2.0" ,
"CC-BY-NC-ND-2.5" ,
"CC-BY-NC-ND-3.0" ,
"CC-BY-NC-ND-4.0" ,
"CC-BY-NC-SA-1.0" ,
"CC-BY-NC-SA-2.0" ,
"CC-BY-NC-SA-2.5" ,
"CC-BY-NC-SA-3.0" ,
"CC-BY-NC-SA-4.0" ,
"CC-BY-ND-1.0" ,
"CC-BY-ND-2.0" ,
"CC-BY-ND-2.5" ,
"CC-BY-ND-3.0" ,
"CC-BY-ND-4.0" ,
"CC-BY-SA-1.0" ,
"CC-BY-SA-2.0" ,
"CC-BY-SA-2.5" ,
"CC-BY-SA-3.0" ,
"CC-BY-SA-4.0" ,
"CC-PDDC" ,
"CC0-1.0" ,
"CDDL-1.0" ,
"CDDL-1.1" ,
"ClArtistic" ,
"copyleft-next-0.3.0" ,
"copyleft-next-0.3.1" ,
"CPAL-1.0" ,
"CPL-1.0" ,
"CPOL-1.02" ,
"EUPL-1.0" ,
"EUPL-1.1" ,
"EUPL-1.2" ,
"GPL-1.0-only" ,
"GPL-1.0-or-later" ,
"GPL-2.0-only" ,
"GPL-2.0-or-later" ,
"GPL-3.0-only" ,
"GPL-3.0-or-later" ,
"LAL-1.2" ,
"LAL-1.3" ,
2021-03-05 19:13:53 +02:00
"MIT" ,
2021-02-19 16:19:22 +02:00
"NLPL" ,
"OPL-1.0" ,
"Unlicense" ,
"UPL-1.0" ,
"WTFPL"
]
} ,
"url" : {
"description" : "The URL to the license text by the brand" ,
"$ref" : "#/definitions/url"
}
} ,
"additionalProperties" : false
2022-03-14 22:04:50 +02:00
} ,
{
"type" : "object" ,
"required" : [ "type" , "url" ] ,
"properties" : {
"type" : {
"description" : "The license name or 'custom'" ,
"type" : "string" ,
"enum" : [ "custom" ]
} ,
"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" ,
"description" : "A \"dup\" brand" ,
"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"
}
} ,
"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" ,
"type" : "string" ,
"if" : {
"pattern" : "^https://github\\.com/(?!(features/actions)|(sponsors)|(logos)$)"
} ,
"then" : {
"pattern" : "^https://github\\.com/[^/]+/[^/]+/(blob/[a-f\\d]{40}/[^\\s]+)|(tree/[a-f\\d]{40}(/[^\\s]+)?)|(((issues)|(pull))/\\d+#issuecomment-\\d+)$"
} ,
"else" : {
"$ref" : "#/definitions/url"
}
} ,
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" ,
"items" : { "$ref" : "#/definitions/brand" }
}
2022-03-14 22:04:50 +02:00
} ,
"additionalProperties" : false ,
"required" : [ "icons" ]
2021-02-19 16:19:22 +02:00
}