Created
May 16, 2015 10:29
-
-
Save greenlikeorange/8a58ee1513234f63d66d to your computer and use it in GitHub Desktop.
ES6 generator practice with Google Material colors codes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| "use strict"; | |
| /** | |
| * Material colors name and hex-code | |
| * some example here | |
| * https://gist.github.com/greenlikeorange/8a557d1130be74937985#file-hack-js | |
| */ | |
| var MATERIAL_COLORS = [{"name": "red_50", "hex": "#ffebee"},{"name": "red_100", "hex": "#ffcdd2"},{"name": "red_200", "hex": "#ef9a9a"},{"name": "red_300", "hex": "#e57373"},{"name": "red_400", "hex": "#ef5350"},{"name": "red_500", "hex": "#f44336"},{"name": "red_600", "hex": "#e53935"},{"name": "red_700", "hex": "#d32f2f"},{"name": "red_800", "hex": "#c62828"},{"name": "red_900", "hex": "#b71c1c"},{"name": "red_a100", "hex": "#ff8a80"},{"name": "red_a200", "hex": "#ff5252"},{"name": "red_a400", "hex": "#ff1744"},{"name": "red_a700", "hex": "#d50000"},{"name": "pink_50", "hex": "#fce4ec"},{"name": "pink_100", "hex": "#f8bbd0"},{"name": "pink_200", "hex": "#f48fb1"},{"name": "pink_300", "hex": "#f06292"},{"name": "pink_400", "hex": "#ec407a"},{"name": "pink_500", "hex": "#e91e63"},{"name": "pink_600", "hex": "#d81b60"},{"name": "pink_700", "hex": "#c2185b"},{"name": "pink_800", "hex": "#ad1457"},{"name": "pink_900", "hex": "#880e4f"},{"name": "pink_a100", "hex": "#ff80ab"},{"name": "pink_a200", "hex": "#ff4081"},{"name": "pink_a400", "hex": "#f50057"},{"name": "pink_a700", "hex": "#c51162"},{"name": "purple_50", "hex": "#f3e5f5"},{"name": "purple_100", "hex": "#e1bee7"},{"name": "purple_200", "hex": "#ce93d8"},{"name": "purple_300", "hex": "#ba68c8"},{"name": "purple_400", "hex": "#ab47bc"},{"name": "purple_500", "hex": "#9c27b0"},{"name": "purple_600", "hex": "#8e24aa"},{"name": "purple_700", "hex": "#7b1fa2"},{"name": "purple_800", "hex": "#6a1b9a"},{"name": "purple_900", "hex": "#4a148c"},{"name": "purple_a100", "hex": "#ea80fc"},{"name": "purple_a200", "hex": "#e040fb"},{"name": "purple_a400", "hex": "#d500f9"},{"name": "purple_a700", "hex": "#aa00ff"},{"name": "deep_purple_50", "hex": "#ede7f6"},{"name": "deep_purple_100", "hex": "#d1c4e9"},{"name": "deep_purple_200", "hex": "#b39ddb"},{"name": "deep_purple_300", "hex": "#9575cd"},{"name": "deep_purple_400", "hex": "#7e57c2"},{"name": "deep_purple_500", "hex": "#673ab7"},{"name": "deep_purple_600", "hex": "#5e35b1"},{"name": "deep_purple_700", "hex": "#512da8"},{"name": "deep_purple_800", "hex": "#4527a0"},{"name": "deep_purple_900", "hex": "#311b92"},{"name": "deep_purple_a100", "hex": "#b388ff"},{"name": "deep_purple_a200", "hex": "#7c4dff"},{"name": "deep_purple_a400", "hex": "#651fff"},{"name": "deep_purple_a700", "hex": "#6200ea"},{"name": "indigo_50", "hex": "#e8eaf6"},{"name": "indigo_100", "hex": "#c5cae9"},{"name": "indigo_200", "hex": "#9fa8da"},{"name": "indigo_300", "hex": "#7986cb"},{"name": "indigo_400", "hex": "#5c6bc0"},{"name": "indigo_500", "hex": "#3f51b5"},{"name": "indigo_600", "hex": "#3949ab"},{"name": "indigo_700", "hex": "#303f9f"},{"name": "indigo_800", "hex": "#283593"},{"name": "indigo_900", "hex": "#1a237e"},{"name": "indigo_a100", "hex": "#8c9eff"},{"name": "indigo_a200", "hex": "#536dfe"},{"name": "indigo_a400", "hex": "#3d5afe"},{"name": "indigo_a700", "hex": "#304ffe"},{"name": "blue_50", "hex": "#e3f2fd"},{"name": "blue_100", "hex": "#bbdefb"},{"name": "blue_200", "hex": "#90caf9"},{"name": "blue_300", "hex": "#64b5f6"},{"name": "blue_400", "hex": "#42a5f5"},{"name": "blue_500", "hex": "#2196f3"},{"name": "blue_600", "hex": "#1e88e5"},{"name": "blue_700", "hex": "#1976d2"},{"name": "blue_800", "hex": "#1565c0"},{"name": "blue_900", "hex": "#0d47a1"},{"name": "blue_a100", "hex": "#82b1ff"},{"name": "blue_a200", "hex": "#448aff"},{"name": "blue_a400", "hex": "#2979ff"},{"name": "blue_a700", "hex": "#2962ff"},{"name": "light_blue_50", "hex": "#e1f5fe"},{"name": "light_blue_100", "hex": "#b3e5fc"},{"name": "light_blue_200", "hex": "#81d4fa"},{"name": "light_blue_300", "hex": "#4fc3f7"},{"name": "light_blue_400", "hex": "#29b6f6"},{"name": "light_blue_500", "hex": "#03a9f4"},{"name": "light_blue_600", "hex": "#039be5"},{"name": "light_blue_700", "hex": "#0288d1"},{"name": "light_blue_800", "hex": "#0277bd"},{"name": "light_blue_900", "hex": "#01579b"},{"name": "light_blue_a100", "hex": "#80d8ff"},{"name": "light_blue_a200", "hex": "#40c4ff"},{"name": "light_blue_a400", "hex": "#00b0ff"},{"name": "light_blue_a700", "hex": "#0091ea"},{"name": "cyan_50", "hex": "#e0f7fa"},{"name": "cyan_100", "hex": "#b2ebf2"},{"name": "cyan_200", "hex": "#80deea"},{"name": "cyan_300", "hex": "#4dd0e1"},{"name": "cyan_400", "hex": "#26c6da"},{"name": "cyan_500", "hex": "#00bcd4"},{"name": "cyan_600", "hex": "#00acc1"},{"name": "cyan_700", "hex": "#0097a7"},{"name": "cyan_800", "hex": "#00838f"},{"name": "cyan_900", "hex": "#006064"},{"name": "cyan_a100", "hex": "#84ffff"},{"name": "cyan_a200", "hex": "#18ffff"},{"name": "cyan_a400", "hex": "#00e5ff"},{"name": "cyan_a700", "hex": "#00b8d4"},{"name": "teal_50", "hex": "#e0f2f1"},{"name": "teal_100", "hex": "#b2dfdb"},{"name": "teal_200", "hex": "#80cbc4"},{"name": "teal_300", "hex": "#4db6ac"},{"name": "teal_400", "hex": "#26a69a"},{"name": "teal_500", "hex": "#009688"},{"name": "teal_600", "hex": "#00897b"},{"name": "teal_700", "hex": "#00796b"},{"name": "teal_800", "hex": "#00695c"},{"name": "teal_900", "hex": "#004d40"},{"name": "teal_a100", "hex": "#a7ffeb"},{"name": "teal_a200", "hex": "#64ffda"},{"name": "teal_a400", "hex": "#1de9b6"},{"name": "teal_a700", "hex": "#00bfa5"},{"name": "green_50", "hex": "#e8f5e9"},{"name": "green_100", "hex": "#c8e6c9"},{"name": "green_200", "hex": "#a5d6a7"},{"name": "green_300", "hex": "#81c784"},{"name": "green_400", "hex": "#66bb6a"},{"name": "green_500", "hex": "#4caf50"},{"name": "green_600", "hex": "#43a047"},{"name": "green_700", "hex": "#388e3c"},{"name": "green_800", "hex": "#2e7d32"},{"name": "green_900", "hex": "#1b5e20"},{"name": "green_a100", "hex": "#b9f6ca"},{"name": "green_a200", "hex": "#69f0ae"},{"name": "green_a400", "hex": "#00e676"},{"name": "green_a700", "hex": "#00c853"},{"name": "light_green_50", "hex": "#f1f8e9"},{"name": "light_green_100", "hex": "#dcedc8"},{"name": "light_green_200", "hex": "#c5e1a5"},{"name": "light_green_300", "hex": "#aed581"},{"name": "light_green_400", "hex": "#9ccc65"},{"name": "light_green_500", "hex": "#8bc34a"},{"name": "light_green_600", "hex": "#7cb342"},{"name": "light_green_700", "hex": "#689f38"},{"name": "light_green_800", "hex": "#558b2f"},{"name": "light_green_900", "hex": "#33691e"},{"name": "light_green_a100", "hex": "#ccff90"},{"name": "light_green_a200", "hex": "#b2ff59"},{"name": "light_green_a400", "hex": "#76ff03"},{"name": "light_green_a700", "hex": "#64dd17"},{"name": "lime_50", "hex": "#f9fbe7"},{"name": "lime_100", "hex": "#f0f4c3"},{"name": "lime_200", "hex": "#e6ee9c"},{"name": "lime_300", "hex": "#dce775"},{"name": "lime_400", "hex": "#d4e157"},{"name": "lime_500", "hex": "#cddc39"},{"name": "lime_600", "hex": "#c0ca33"},{"name": "lime_700", "hex": "#afb42b"},{"name": "lime_800", "hex": "#9e9d24"},{"name": "lime_900", "hex": "#827717"},{"name": "lime_a100", "hex": "#f4ff81"},{"name": "lime_a200", "hex": "#eeff41"},{"name": "lime_a400", "hex": "#c6ff00"},{"name": "lime_a700", "hex": "#aeea00"},{"name": "yellow_50", "hex": "#fffde7"},{"name": "yellow_100", "hex": "#fff9c4"},{"name": "yellow_200", "hex": "#fff59d"},{"name": "yellow_300", "hex": "#fff176"},{"name": "yellow_400", "hex": "#ffee58"},{"name": "yellow_500", "hex": "#ffeb3b"},{"name": "yellow_600", "hex": "#fdd835"},{"name": "yellow_700", "hex": "#fbc02d"},{"name": "yellow_800", "hex": "#f9a825"},{"name": "yellow_900", "hex": "#f57f17"},{"name": "yellow_a100", "hex": "#ffff8d"},{"name": "yellow_a200", "hex": "#ffff00"},{"name": "yellow_a400", "hex": "#ffea00"},{"name": "yellow_a700", "hex": "#ffd600"},{"name": "amber_50", "hex": "#fff8e1"},{"name": "amber_100", "hex": "#ffecb3"},{"name": "amber_200", "hex": "#ffe082"},{"name": "amber_300", "hex": "#ffd54f"},{"name": "amber_400", "hex": "#ffca28"},{"name": "amber_500", "hex": "#ffc107"},{"name": "amber_600", "hex": "#ffb300"},{"name": "amber_700", "hex": "#ffa000"},{"name": "amber_800", "hex": "#ff8f00"},{"name": "amber_900", "hex": "#ff6f00"},{"name": "amber_a100", "hex": "#ffe57f"},{"name": "amber_a200", "hex": "#ffd740"},{"name": "amber_a400", "hex": "#ffc400"},{"name": "amber_a700", "hex": "#ffab00"},{"name": "orange_50", "hex": "#fff3e0"},{"name": "orange_100", "hex": "#ffe0b2"},{"name": "orange_200", "hex": "#ffcc80"},{"name": "orange_300", "hex": "#ffb74d"},{"name": "orange_400", "hex": "#ffa726"},{"name": "orange_500", "hex": "#ff9800"},{"name": "orange_600", "hex": "#fb8c00"},{"name": "orange_700", "hex": "#f57c00"},{"name": "orange_800", "hex": "#ef6c00"},{"name": "orange_900", "hex": "#e65100"},{"name": "orange_a100", "hex": "#ffd180"},{"name": "orange_a200", "hex": "#ffab40"},{"name": "orange_a400", "hex": "#ff9100"},{"name": "orange_a700", "hex": "#ff6d00"},{"name": "deep_orange_50", "hex": "#fbe9e7"},{"name": "deep_orange_100", "hex": "#ffccbc"},{"name": "deep_orange_200", "hex": "#ffab91"},{"name": "deep_orange_300", "hex": "#ff8a65"},{"name": "deep_orange_400", "hex": "#ff7043"},{"name": "deep_orange_500", "hex": "#ff5722"},{"name": "deep_orange_600", "hex": "#f4511e"},{"name": "deep_orange_700", "hex": "#e64a19"},{"name": "deep_orange_800", "hex": "#d84315"},{"name": "deep_orange_900", "hex": "#bf360c"},{"name": "deep_orange_a100", "hex": "#ff9e80"},{"name": "deep_orange_a200", "hex": "#ff6e40"},{"name": "deep_orange_a400", "hex": "#ff3d00"},{"name": "deep_orange_a700", "hex": "#dd2c00"},{"name": "brown_50", "hex": "#efebe9"},{"name": "brown_100", "hex": "#d7ccc8"},{"name": "brown_200", "hex": "#bcaaa4"},{"name": "brown_300", "hex": "#a1887f"},{"name": "brown_400", "hex": "#8d6e63"},{"name": "brown_500", "hex": "#795548"},{"name": "brown_600", "hex": "#6d4c41"},{"name": "brown_700", "hex": "#5d4037"},{"name": "brown_800", "hex": "#4e342e"},{"name": "brown_900", "hex": "#3e2723"},{"name": "grey_50", "hex": "#fafafa"},{"name": "grey_100", "hex": "#f5f5f5"},{"name": "grey_200", "hex": "#eeeeee"},{"name": "grey_300", "hex": "#e0e0e0"},{"name": "grey_400", "hex": "#bdbdbd"},{"name": "grey_500", "hex": "#9e9e9e"},{"name": "grey_600", "hex": "#757575"},{"name": "grey_700", "hex": "#616161"},{"name": "grey_800", "hex": "#424242"},{"name": "grey_900", "hex": "#212121"},{"name": "blue_grey_50", "hex": "#eceff1"},{"name": "blue_grey_100", "hex": "#cfd8dc"},{"name": "blue_grey_200", "hex": "#b0bec5"},{"name": "blue_grey_300", "hex": "#90a4ae"},{"name": "blue_grey_400", "hex": "#78909c"},{"name": "blue_grey_500", "hex": "#607d8b"},{"name": "blue_grey_600", "hex": "#546e7a"},{"name": "blue_grey_700", "hex": "#455a64"},{"name": "blue_grey_800", "hex": "#37474f"},{"name": "blue_grey_900", "hex": "#263238"}]; | |
| /* Simple random method */ | |
| function random(min, max){ | |
| return Math.floor(Math.random() * ((max+1)-min)) + min; | |
| } | |
| /** | |
| * A Generator to generate random value of give array | |
| */ | |
| function* randomValue(array){ | |
| // Clone is good !! | |
| let clone = Array.prototype.constructor.apply(null, array); | |
| // pull an random index from array | |
| while(clone.length > 0) | |
| yield clone.splice(random(0, clone.length-1),1)[0]; | |
| } | |
| /* Random Sorted Array Generator */ | |
| function randomSort(array){ | |
| var _res = []; | |
| for(let obj of randomValue(array)) { | |
| if(!obj) break; | |
| _res.push(obj); | |
| } | |
| return _res; | |
| } | |
| /* Filter all 500 color codes */ | |
| let the500s = MATERIAL_COLORS.filter( value => | |
| "name" in value && value.name.match("_500") | |
| ); | |
| // Let get XML <color></color> | |
| console.log( | |
| randomSort(the500s) // Generate random 500s' color codes | |
| .map( color => `<color name="${color.name}">${color.hex}</color>` ) // Turn each to xml | |
| .join("\n") | |
| ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment