Skip to content

Instantly share code, notes, and snippets.

@NewDark90
Created December 1, 2019 20:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NewDark90/35078c7c2809b93bab0e15b6095cff4c to your computer and use it in GitHub Desktop.
Save NewDark90/35078c7c2809b93bab0e15b6095cff4c to your computer and use it in GitHub Desktop.
Boundless color name sorting
let groupBy = (array, key) => {
return array.reduce(
(r, v, _, __, k = v[key]) => ((r[k] || (r[k] = [])).push(v), r),
{}
);
};
let colorNames = [
"Black " ,
"Night Azure " ,
"Shadow Cerulean " ,
"Dark Cerulean " ,
"Dark Cobalt " ,
"Dark Berry " ,
"Dark Violet " ,
"Dark Lilac " ,
"Strong Violet " ,
"Strong Magenta " ,
"Strong Fuchsia " ,
"Strong Cherry " ,
"Dark Red " ,
"Dark Orange " ,
"Dark Rose " ,
"Dark Fuchsia " ,
"Shadow Fuchsia " ,
"Night Berry " ,
"Night Fuchsia " ,
"Night Orange " ,
"Shadow Orange " ,
"Shadow Red " ,
"Strong Red " ,
"Deep Red " ,
"Hot Cherry " ,
"Silk Cherry " ,
"Oxide Rose " ,
"Silk Orange " ,
"Silk Mustard " ,
"Hot Sepia " ,
"Deep Mustard " ,
"Hot Tan " ,
"Silk Yellow " ,
"Deep Yellow " ,
"Hot Moss " ,
"Deep Green " ,
"Strong Green " ,
"Dark Green " ,
"Dark Yellow " ,
"Strong Yellow " ,
"Strong Mustard " ,
"Dark Mustard " ,
"Shadow Mustard " ,
"Shadow Yellow " ,
"Night Green " ,
"Shadow Turquoise" ,
"Dark Turquoise " ,
"Dark Grey " ,
"Oxide Azure " ,
"Oxide Grey " ,
"Oxide Yellow " ,
"Oxide Green " ,
"Silk Mint " ,
"Silk Teal " ,
"Deep Turquoise " ,
"Deep Slate " ,
"Deep Azure " ,
"Deep Cerulean " ,
"Silk Cobalt " ,
"Silk Cerulean " ,
"Oxide Blue " ,
"Oxide Violet " ,
"Silk Berry " ,
"Silk Lilac " ,
"Silk Lavender " ,
"Deep Lavender " ,
"Deep Lilac " ,
"Deep Violet " ,
"Hot Magenta " ,
"Silk Magenta " ,
"Deep Fuchsia " ,
"Warm Fuchsia " ,
"Warm Magenta " ,
"Fuchsia " ,
"Rose " ,
"Warm Cherry " ,
"Cherry " ,
"Red " ,
"Warm Red " ,
"Stale Red " ,
"Warm Orange " ,
"Stale Sepia " ,
"Warm Mustard " ,
"Stale Tan " ,
"Warm Yellow " ,
"Stale Moss " ,
"Warm Viridian " ,
"Teal " ,
"Viridian " ,
"Mint " ,
"Green " ,
"Warm Moss " ,
"Yellow " ,
"Tan " ,
"Mustard " ,
"Sepia " ,
"Orange " ,
"Vivid Orange " ,
"Light Sepia " ,
"Light Orange " ,
"Pale Sepia " ,
"Ashen Taupe " ,
"Ashen Yellow " ,
"Pale Tan " ,
"Light Mustard " ,
"Light Tan " ,
"Light Yellow " ,
"Pale Moss " ,
"Ashen Mint " ,
"Ashen Turquoise " ,
"Ashen Grey " ,
"Rust Slate " ,
"Stale Turquoise " ,
"Rust Lime " ,
"Rust Taupe " ,
"Rust Fuchsia " ,
"Rust Violet " ,
"Stale Berry " ,
"Warm Violet " ,
"Stale Lilac " ,
"Warm Blue " ,
"Blue " ,
"Lavender " ,
"Lilac " ,
"Violet " ,
"Vivid Violet " ,
"Vivid Lilac " ,
"Vivid Lavender " ,
"Vivid Blue " ,
"Light Blue " ,
"Pale Lilac " ,
"Light Lilac " ,
"Pale Berry " ,
"Ashen Berry " ,
"Ashen Red " ,
"Cool Red " ,
"Stark Orange " ,
"Bright Orange " ,
"Bright Sepia " ,
"Bright Taupe " ,
"Bright Mustard " ,
"Bright Tan " ,
"Bright Yellow " ,
"Bright Lime " ,
"Bright Moss " ,
"Bright Green " ,
"Stark Green " ,
"Bright Viridian " ,
"Stark Viridian " ,
"Cool Mint " ,
"Cool Teal " ,
"Stark Turquoise " ,
"Bright Turquoise" ,
"Bright Slate " ,
"Bright Azure " ,
"Stark Azure " ,
"Bright Cerulean " ,
"Bright Blue " ,
"Stark Lavender " ,
"Cool Blue " ,
"Weary Violet " ,
"Cool Violet " ,
"Bright Lilac " ,
"Bright Magenta " ,
"Bright Violet " ,
"Light Berry " ,
"Vivid Fuchsia " ,
"Light Fuchsia " ,
"Light Red " ,
"Vivid Cherry " ,
"Vivid Red " ,
"Bright Red " ,
"Bright Fuchsia " ,
"Luminous Violet " ,
"Cold Berry " ,
"Luminous Blue " ,
"Luminous Azure " ,
"Cold Slate " ,
"Luminous Slate " ,
"Cool Slate " ,
"Weary Teal " ,
"Cool Grey " ,
"Weary Mustard " ,
"Cool Taupe " ,
"Stark Mustard " ,
"Cool Tan " ,
"Weary Yellow " ,
"Cool Lime " ,
"Stark Lime " ,
"Stark Yellow " ,
"Crisp Yellow " ,
"Crisp Lime " ,
"Luminous Moss " ,
"Luminous Green " ,
"Crisp Green " ,
"Cold Lime " ,
"Cold Viridian " ,
"Cold Teal " ,
"Crisp Teal " ,
"Luminous Viridian" ,
"Luminous Turquoise" ,
"Vivid Turquoise " ,
"Light Turquoise " ,
"Vivid Slate " ,
"Vivid Azure " ,
"Light Azure " ,
"Pale Cerulean " ,
"Vivid Cobalt " ,
"Vivid Cerulean " ,
"Cerulean " ,
"Azure " ,
"Slate " ,
"Turquoise " ,
"Vivid Teal " ,
"Light Viridian " ,
"Vivid Viridian " ,
"Vivid Mint " ,
"Vivid Green " ,
"Vivid Moss " ,
"Vivid Lime " ,
"Vivid Yellow " ,
"Vivid Mustard " ,
"Luminous Tan " ,
"Crisp Tan " ,
"Cold Tan " ,
"Luminous Taupe " ,
"Luminous Red " ,
"White " ,
"Cool Azure " ,
"Ashen Blue " ,
"Rust Blue " ,
"Stale Cerulean " ,
"Cobalt " ,
"Deep Cobalt " ,
"Deep Blue " ,
"Strong Blue " ,
"Strong Cobalt " ,
"Strong Cerulean " ,
"Strong Azure " ,
"Strong Slate " ,
"Strong Turquoise" ,
"Strong Viridian " ,
"Shadow Green " ,
"Deep Viridian " ,
"Silk Turquoise " ,
"Dark Blue " ,
"Night Blue " ,
"Shadow Blue " ,
"Strong Lavender " ,
"Shadow Violet " ,
"Night Lilac " ,
"Strong Orange " ,
"Deep Orange " ,
"Hot Orange " ,
"Luminous Yellow " ,
].map((s) => {
let name = s.trim();
let nameParts = name.split(" ");
if (nameParts.length == 1)
return { name: nameParts[0], adjective: ""};
if (nameParts.length == 2)
return { name: nameParts[1], adjective: nameParts[0]};
});
let results = groupBy(colorNames, "name");
//--------------------
// Results Contents
//--------------------
{
"Black": [
{
"name": "Black",
"adjective": ""
}
],
"Azure": [
{
"name": "Azure",
"adjective": "Night"
},
{
"name": "Azure",
"adjective": "Oxide"
},
{
"name": "Azure",
"adjective": "Deep"
},
{
"name": "Azure",
"adjective": "Bright"
},
{
"name": "Azure",
"adjective": "Stark"
},
{
"name": "Azure",
"adjective": "Luminous"
},
{
"name": "Azure",
"adjective": "Vivid"
},
{
"name": "Azure",
"adjective": "Light"
},
{
"name": "Azure",
"adjective": ""
},
{
"name": "Azure",
"adjective": "Cool"
},
{
"name": "Azure",
"adjective": "Strong"
}
],
"Cerulean": [
{
"name": "Cerulean",
"adjective": "Shadow"
},
{
"name": "Cerulean",
"adjective": "Dark"
},
{
"name": "Cerulean",
"adjective": "Deep"
},
{
"name": "Cerulean",
"adjective": "Silk"
},
{
"name": "Cerulean",
"adjective": "Bright"
},
{
"name": "Cerulean",
"adjective": "Pale"
},
{
"name": "Cerulean",
"adjective": "Vivid"
},
{
"name": "Cerulean",
"adjective": ""
},
{
"name": "Cerulean",
"adjective": "Stale"
},
{
"name": "Cerulean",
"adjective": "Strong"
}
],
"Cobalt": [
{
"name": "Cobalt",
"adjective": "Dark"
},
{
"name": "Cobalt",
"adjective": "Silk"
},
{
"name": "Cobalt",
"adjective": "Vivid"
},
{
"name": "Cobalt",
"adjective": ""
},
{
"name": "Cobalt",
"adjective": "Deep"
},
{
"name": "Cobalt",
"adjective": "Strong"
}
],
"Berry": [
{
"name": "Berry",
"adjective": "Dark"
},
{
"name": "Berry",
"adjective": "Night"
},
{
"name": "Berry",
"adjective": "Silk"
},
{
"name": "Berry",
"adjective": "Stale"
},
{
"name": "Berry",
"adjective": "Pale"
},
{
"name": "Berry",
"adjective": "Ashen"
},
{
"name": "Berry",
"adjective": "Light"
},
{
"name": "Berry",
"adjective": "Cold"
}
],
"Violet": [
{
"name": "Violet",
"adjective": "Dark"
},
{
"name": "Violet",
"adjective": "Strong"
},
{
"name": "Violet",
"adjective": "Oxide"
},
{
"name": "Violet",
"adjective": "Deep"
},
{
"name": "Violet",
"adjective": "Rust"
},
{
"name": "Violet",
"adjective": "Warm"
},
{
"name": "Violet",
"adjective": ""
},
{
"name": "Violet",
"adjective": "Vivid"
},
{
"name": "Violet",
"adjective": "Weary"
},
{
"name": "Violet",
"adjective": "Cool"
},
{
"name": "Violet",
"adjective": "Bright"
},
{
"name": "Violet",
"adjective": "Luminous"
},
{
"name": "Violet",
"adjective": "Shadow"
}
],
"Lilac": [
{
"name": "Lilac",
"adjective": "Dark"
},
{
"name": "Lilac",
"adjective": "Silk"
},
{
"name": "Lilac",
"adjective": "Deep"
},
{
"name": "Lilac",
"adjective": "Stale"
},
{
"name": "Lilac",
"adjective": ""
},
{
"name": "Lilac",
"adjective": "Vivid"
},
{
"name": "Lilac",
"adjective": "Pale"
},
{
"name": "Lilac",
"adjective": "Light"
},
{
"name": "Lilac",
"adjective": "Bright"
},
{
"name": "Lilac",
"adjective": "Night"
}
],
"Magenta": [
{
"name": "Magenta",
"adjective": "Strong"
},
{
"name": "Magenta",
"adjective": "Hot"
},
{
"name": "Magenta",
"adjective": "Silk"
},
{
"name": "Magenta",
"adjective": "Warm"
},
{
"name": "Magenta",
"adjective": "Bright"
}
],
"Fuchsia": [
{
"name": "Fuchsia",
"adjective": "Strong"
},
{
"name": "Fuchsia",
"adjective": "Dark"
},
{
"name": "Fuchsia",
"adjective": "Shadow"
},
{
"name": "Fuchsia",
"adjective": "Night"
},
{
"name": "Fuchsia",
"adjective": "Deep"
},
{
"name": "Fuchsia",
"adjective": "Warm"
},
{
"name": "Fuchsia",
"adjective": ""
},
{
"name": "Fuchsia",
"adjective": "Rust"
},
{
"name": "Fuchsia",
"adjective": "Vivid"
},
{
"name": "Fuchsia",
"adjective": "Light"
},
{
"name": "Fuchsia",
"adjective": "Bright"
}
],
"Cherry": [
{
"name": "Cherry",
"adjective": "Strong"
},
{
"name": "Cherry",
"adjective": "Hot"
},
{
"name": "Cherry",
"adjective": "Silk"
},
{
"name": "Cherry",
"adjective": "Warm"
},
{
"name": "Cherry",
"adjective": ""
},
{
"name": "Cherry",
"adjective": "Vivid"
}
],
"Red": [
{
"name": "Red",
"adjective": "Dark"
},
{
"name": "Red",
"adjective": "Shadow"
},
{
"name": "Red",
"adjective": "Strong"
},
{
"name": "Red",
"adjective": "Deep"
},
{
"name": "Red",
"adjective": ""
},
{
"name": "Red",
"adjective": "Warm"
},
{
"name": "Red",
"adjective": "Stale"
},
{
"name": "Red",
"adjective": "Ashen"
},
{
"name": "Red",
"adjective": "Cool"
},
{
"name": "Red",
"adjective": "Light"
},
{
"name": "Red",
"adjective": "Vivid"
},
{
"name": "Red",
"adjective": "Bright"
},
{
"name": "Red",
"adjective": "Luminous"
}
],
"Orange": [
{
"name": "Orange",
"adjective": "Dark"
},
{
"name": "Orange",
"adjective": "Night"
},
{
"name": "Orange",
"adjective": "Shadow"
},
{
"name": "Orange",
"adjective": "Silk"
},
{
"name": "Orange",
"adjective": "Warm"
},
{
"name": "Orange",
"adjective": ""
},
{
"name": "Orange",
"adjective": "Vivid"
},
{
"name": "Orange",
"adjective": "Light"
},
{
"name": "Orange",
"adjective": "Stark"
},
{
"name": "Orange",
"adjective": "Bright"
},
{
"name": "Orange",
"adjective": "Strong"
},
{
"name": "Orange",
"adjective": "Deep"
},
{
"name": "Orange",
"adjective": "Hot"
}
],
"Rose": [
{
"name": "Rose",
"adjective": "Dark"
},
{
"name": "Rose",
"adjective": "Oxide"
},
{
"name": "Rose",
"adjective": ""
}
],
"Mustard": [
{
"name": "Mustard",
"adjective": "Silk"
},
{
"name": "Mustard",
"adjective": "Deep"
},
{
"name": "Mustard",
"adjective": "Strong"
},
{
"name": "Mustard",
"adjective": "Dark"
},
{
"name": "Mustard",
"adjective": "Shadow"
},
{
"name": "Mustard",
"adjective": "Warm"
},
{
"name": "Mustard",
"adjective": ""
},
{
"name": "Mustard",
"adjective": "Light"
},
{
"name": "Mustard",
"adjective": "Bright"
},
{
"name": "Mustard",
"adjective": "Weary"
},
{
"name": "Mustard",
"adjective": "Stark"
},
{
"name": "Mustard",
"adjective": "Vivid"
}
],
"Sepia": [
{
"name": "Sepia",
"adjective": "Hot"
},
{
"name": "Sepia",
"adjective": "Stale"
},
{
"name": "Sepia",
"adjective": ""
},
{
"name": "Sepia",
"adjective": "Light"
},
{
"name": "Sepia",
"adjective": "Pale"
},
{
"name": "Sepia",
"adjective": "Bright"
}
],
"Tan": [
{
"name": "Tan",
"adjective": "Hot"
},
{
"name": "Tan",
"adjective": "Stale"
},
{
"name": "Tan",
"adjective": ""
},
{
"name": "Tan",
"adjective": "Pale"
},
{
"name": "Tan",
"adjective": "Light"
},
{
"name": "Tan",
"adjective": "Bright"
},
{
"name": "Tan",
"adjective": "Cool"
},
{
"name": "Tan",
"adjective": "Luminous"
},
{
"name": "Tan",
"adjective": "Crisp"
},
{
"name": "Tan",
"adjective": "Cold"
}
],
"Yellow": [
{
"name": "Yellow",
"adjective": "Silk"
},
{
"name": "Yellow",
"adjective": "Deep"
},
{
"name": "Yellow",
"adjective": "Dark"
},
{
"name": "Yellow",
"adjective": "Strong"
},
{
"name": "Yellow",
"adjective": "Shadow"
},
{
"name": "Yellow",
"adjective": "Oxide"
},
{
"name": "Yellow",
"adjective": "Warm"
},
{
"name": "Yellow",
"adjective": ""
},
{
"name": "Yellow",
"adjective": "Ashen"
},
{
"name": "Yellow",
"adjective": "Light"
},
{
"name": "Yellow",
"adjective": "Bright"
},
{
"name": "Yellow",
"adjective": "Weary"
},
{
"name": "Yellow",
"adjective": "Stark"
},
{
"name": "Yellow",
"adjective": "Crisp"
},
{
"name": "Yellow",
"adjective": "Vivid"
},
{
"name": "Yellow",
"adjective": "Luminous"
}
],
"Moss": [
{
"name": "Moss",
"adjective": "Hot"
},
{
"name": "Moss",
"adjective": "Stale"
},
{
"name": "Moss",
"adjective": "Warm"
},
{
"name": "Moss",
"adjective": "Pale"
},
{
"name": "Moss",
"adjective": "Bright"
},
{
"name": "Moss",
"adjective": "Luminous"
},
{
"name": "Moss",
"adjective": "Vivid"
}
],
"Green": [
{
"name": "Green",
"adjective": "Deep"
},
{
"name": "Green",
"adjective": "Strong"
},
{
"name": "Green",
"adjective": "Dark"
},
{
"name": "Green",
"adjective": "Night"
},
{
"name": "Green",
"adjective": "Oxide"
},
{
"name": "Green",
"adjective": ""
},
{
"name": "Green",
"adjective": "Bright"
},
{
"name": "Green",
"adjective": "Stark"
},
{
"name": "Green",
"adjective": "Luminous"
},
{
"name": "Green",
"adjective": "Crisp"
},
{
"name": "Green",
"adjective": "Vivid"
},
{
"name": "Green",
"adjective": "Shadow"
}
],
"Turquoise": [
{
"name": "Turquoise",
"adjective": "Shadow"
},
{
"name": "Turquoise",
"adjective": "Dark"
},
{
"name": "Turquoise",
"adjective": "Deep"
},
{
"name": "Turquoise",
"adjective": "Ashen"
},
{
"name": "Turquoise",
"adjective": "Stale"
},
{
"name": "Turquoise",
"adjective": "Stark"
},
{
"name": "Turquoise",
"adjective": "Bright"
},
{
"name": "Turquoise",
"adjective": "Luminous"
},
{
"name": "Turquoise",
"adjective": "Vivid"
},
{
"name": "Turquoise",
"adjective": "Light"
},
{
"name": "Turquoise",
"adjective": ""
},
{
"name": "Turquoise",
"adjective": "Strong"
},
{
"name": "Turquoise",
"adjective": "Silk"
}
],
"Grey": [
{
"name": "Grey",
"adjective": "Dark"
},
{
"name": "Grey",
"adjective": "Oxide"
},
{
"name": "Grey",
"adjective": "Ashen"
},
{
"name": "Grey",
"adjective": "Cool"
}
],
"Mint": [
{
"name": "Mint",
"adjective": "Silk"
},
{
"name": "Mint",
"adjective": ""
},
{
"name": "Mint",
"adjective": "Ashen"
},
{
"name": "Mint",
"adjective": "Cool"
},
{
"name": "Mint",
"adjective": "Vivid"
}
],
"Teal": [
{
"name": "Teal",
"adjective": "Silk"
},
{
"name": "Teal",
"adjective": ""
},
{
"name": "Teal",
"adjective": "Cool"
},
{
"name": "Teal",
"adjective": "Weary"
},
{
"name": "Teal",
"adjective": "Cold"
},
{
"name": "Teal",
"adjective": "Crisp"
},
{
"name": "Teal",
"adjective": "Vivid"
}
],
"Slate": [
{
"name": "Slate",
"adjective": "Deep"
},
{
"name": "Slate",
"adjective": "Rust"
},
{
"name": "Slate",
"adjective": "Bright"
},
{
"name": "Slate",
"adjective": "Cold"
},
{
"name": "Slate",
"adjective": "Luminous"
},
{
"name": "Slate",
"adjective": "Cool"
},
{
"name": "Slate",
"adjective": "Vivid"
},
{
"name": "Slate",
"adjective": ""
},
{
"name": "Slate",
"adjective": "Strong"
}
],
"Blue": [
{
"name": "Blue",
"adjective": "Oxide"
},
{
"name": "Blue",
"adjective": "Warm"
},
{
"name": "Blue",
"adjective": ""
},
{
"name": "Blue",
"adjective": "Vivid"
},
{
"name": "Blue",
"adjective": "Light"
},
{
"name": "Blue",
"adjective": "Bright"
},
{
"name": "Blue",
"adjective": "Cool"
},
{
"name": "Blue",
"adjective": "Luminous"
},
{
"name": "Blue",
"adjective": "Ashen"
},
{
"name": "Blue",
"adjective": "Rust"
},
{
"name": "Blue",
"adjective": "Deep"
},
{
"name": "Blue",
"adjective": "Strong"
},
{
"name": "Blue",
"adjective": "Dark"
},
{
"name": "Blue",
"adjective": "Night"
},
{
"name": "Blue",
"adjective": "Shadow"
}
],
"Lavender": [
{
"name": "Lavender",
"adjective": "Silk"
},
{
"name": "Lavender",
"adjective": "Deep"
},
{
"name": "Lavender",
"adjective": ""
},
{
"name": "Lavender",
"adjective": "Vivid"
},
{
"name": "Lavender",
"adjective": "Stark"
},
{
"name": "Lavender",
"adjective": "Strong"
}
],
"Viridian": [
{
"name": "Viridian",
"adjective": "Warm"
},
{
"name": "Viridian",
"adjective": ""
},
{
"name": "Viridian",
"adjective": "Bright"
},
{
"name": "Viridian",
"adjective": "Stark"
},
{
"name": "Viridian",
"adjective": "Cold"
},
{
"name": "Viridian",
"adjective": "Luminous"
},
{
"name": "Viridian",
"adjective": "Light"
},
{
"name": "Viridian",
"adjective": "Vivid"
},
{
"name": "Viridian",
"adjective": "Strong"
},
{
"name": "Viridian",
"adjective": "Deep"
}
],
"Taupe": [
{
"name": "Taupe",
"adjective": "Ashen"
},
{
"name": "Taupe",
"adjective": "Rust"
},
{
"name": "Taupe",
"adjective": "Bright"
},
{
"name": "Taupe",
"adjective": "Cool"
},
{
"name": "Taupe",
"adjective": "Luminous"
}
],
"Lime": [
{
"name": "Lime",
"adjective": "Rust"
},
{
"name": "Lime",
"adjective": "Bright"
},
{
"name": "Lime",
"adjective": "Cool"
},
{
"name": "Lime",
"adjective": "Stark"
},
{
"name": "Lime",
"adjective": "Crisp"
},
{
"name": "Lime",
"adjective": "Cold"
},
{
"name": "Lime",
"adjective": "Vivid"
}
],
"White": [
{
"name": "White",
"adjective": ""
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment