Created
September 12, 2021 22:19
-
-
Save nonaybay/ab1ac58aa260235a12538ecdbe289c86 to your computer and use it in GitHub Desktop.
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 'sass:color'; | |
| @use 'sass:list'; | |
| @use 'sass:map'; | |
| @use 'sass:math'; | |
| $xterm: ( | |
| 1: #000000, | |
| 2: #800000, | |
| 3: #008000, | |
| 4: #808000, | |
| 5: #000080, | |
| 6: #800080, | |
| 7: #008080, | |
| 8: #c0c0c0, | |
| 9: #808080, | |
| 10: #ff0000, | |
| 11: #00ff00, | |
| 12: #ffff00, | |
| 13: #0000ff, | |
| 14: #ff00ff, | |
| 15: #00ffff, | |
| 16: #ffffff, | |
| 17: #000000, | |
| 18: #00005f, | |
| 19: #000087, | |
| 20: #0000af, | |
| 21: #0000d7, | |
| 22: #0000ff, | |
| 23: #005f00, | |
| 24: #005f5f, | |
| 25: #005f87, | |
| 26: #005faf, | |
| 27: #005fd7, | |
| 28: #005fff, | |
| 29: #008700, | |
| 30: #00875f, | |
| 31: #008787, | |
| 32: #0087af, | |
| 33: #0087d7, | |
| 34: #0087ff, | |
| 35: #00af00, | |
| 36: #00af5f, | |
| 37: #00af87, | |
| 38: #00afaf, | |
| 39: #00afd7, | |
| 40: #00afff, | |
| 41: #00d700, | |
| 42: #00d75f, | |
| 43: #00d787, | |
| 44: #00d7af, | |
| 45: #00d7d7, | |
| 46: #00d7ff, | |
| 47: #00ff00, | |
| 48: #00ff5f, | |
| 49: #00ff87, | |
| 50: #00ffaf, | |
| 51: #00ffd7, | |
| 52: #00ffff, | |
| 53: #5f0000, | |
| 54: #5f005f, | |
| 55: #5f0087, | |
| 56: #5f00af, | |
| 57: #5f00d7, | |
| 58: #5f00ff, | |
| 59: #5f5f00, | |
| 60: #5f5f5f, | |
| 61: #5f5f87, | |
| 62: #5f5faf, | |
| 63: #5f5fd7, | |
| 64: #5f5fff, | |
| 65: #5f8700, | |
| 66: #5f875f, | |
| 67: #5f8787, | |
| 68: #5f87af, | |
| 69: #5f87d7, | |
| 70: #5f87ff, | |
| 71: #5faf00, | |
| 72: #5faf5f, | |
| 73: #5faf87, | |
| 74: #5fafaf, | |
| 75: #5fafd7, | |
| 76: #5fafff, | |
| 77: #5fd700, | |
| 78: #5fd75f, | |
| 79: #5fd787, | |
| 80: #5fd7af, | |
| 81: #5fd7d7, | |
| 82: #5fd7ff, | |
| 83: #5fff00, | |
| 84: #5fff5f, | |
| 85: #5fff87, | |
| 86: #5fffaf, | |
| 87: #5fffd7, | |
| 88: #5fffff, | |
| 89: #870000, | |
| 90: #87005f, | |
| 91: #870087, | |
| 92: #8700af, | |
| 93: #8700d7, | |
| 94: #8700ff, | |
| 95: #875f00, | |
| 96: #875f5f, | |
| 97: #875f87, | |
| 98: #875faf, | |
| 99: #875fd7, | |
| 100: #875fff, | |
| 101: #878700, | |
| 102: #87875f, | |
| 103: #878787, | |
| 104: #8787af, | |
| 105: #8787d7, | |
| 106: #8787ff, | |
| 107: #87af00, | |
| 108: #87af5f, | |
| 109: #87af87, | |
| 110: #87afaf, | |
| 111: #87afd7, | |
| 112: #87afff, | |
| 113: #87d700, | |
| 114: #87d75f, | |
| 115: #87d787, | |
| 116: #87d7af, | |
| 117: #87d7d7, | |
| 118: #87d7ff, | |
| 119: #87ff00, | |
| 120: #87ff5f, | |
| 121: #87ff87, | |
| 122: #87ffaf, | |
| 123: #87ffd7, | |
| 124: #87ffff, | |
| 125: #af0000, | |
| 126: #af005f, | |
| 127: #af0087, | |
| 128: #af00af, | |
| 129: #af00d7, | |
| 130: #af00ff, | |
| 131: #af5f00, | |
| 132: #af5f5f, | |
| 133: #af5f87, | |
| 134: #af5faf, | |
| 135: #af5fd7, | |
| 136: #af5fff, | |
| 137: #af8700, | |
| 138: #af875f, | |
| 139: #af8787, | |
| 140: #af87af, | |
| 141: #af87d7, | |
| 142: #af87ff, | |
| 143: #afaf00, | |
| 144: #afaf5f, | |
| 145: #afaf87, | |
| 146: #afafaf, | |
| 147: #afafd7, | |
| 148: #afafff, | |
| 149: #afd700, | |
| 150: #afd75f, | |
| 151: #afd787, | |
| 152: #afd7af, | |
| 153: #afd7af, | |
| 154: #afd7ff, | |
| 155: #afff00, | |
| 156: #afff5f, | |
| 157: #afff87, | |
| 158: #afffaf, | |
| 159: #afffd7, | |
| 160: #afffff, | |
| 161: #d70000, | |
| 162: #d7005f, | |
| 163: #d70087, | |
| 164: #d700af, | |
| 165: #d700d7, | |
| 166: #d700ff, | |
| 167: #d75f00, | |
| 168: #d75f5f, | |
| 169: #d75f87, | |
| 170: #d75faf, | |
| 171: #d75fd7, | |
| 172: #d75fff, | |
| 173: #d78700, | |
| 174: #d7875f, | |
| 175: #d78787, | |
| 176: #d787af, | |
| 177: #d787d7, | |
| 178: #d787ff, | |
| 179: #d7af00, | |
| 180: #d7af5f, | |
| 181: #d7af87, | |
| 182: #d7afaf, | |
| 183: #d7afd7, | |
| 184: #d7afff, | |
| 185: #d7d700, | |
| 186: #d7d75f, | |
| 187: #d7d787, | |
| 188: #d7d7af, | |
| 189: #d7d7d7, | |
| 190: #d7d7ff, | |
| 191: #d7ff00, | |
| 192: #d7ff5f, | |
| 193: #d7ff87, | |
| 194: #d7ffaf, | |
| 195: #d7ffd7, | |
| 196: #d7ffff, | |
| 197: #ff0000, | |
| 198: #ff005f, | |
| 199: #ff0087, | |
| 200: #ff00af, | |
| 201: #ff00d7, | |
| 202: #ff00ff, | |
| 203: #ff5f00, | |
| 204: #ff5f5f, | |
| 205: #ff5f87, | |
| 206: #ff5faf, | |
| 207: #ff5fd7, | |
| 208: #ff5fff, | |
| 209: #ff8700, | |
| 210: #ff875f, | |
| 211: #ff8787, | |
| 212: #ff87af, | |
| 213: #ff87d7, | |
| 214: #ff87ff, | |
| 215: #ffaf00, | |
| 216: #ffaf5f, | |
| 217: #ffaf87, | |
| 218: #ffafaf, | |
| 219: #ffafd7, | |
| 220: #ffafff, | |
| 221: #ffd700, | |
| 222: #ffd75f, | |
| 223: #ffd787, | |
| 224: #ffd7af, | |
| 225: #ffd7d7, | |
| 226: #ffd7ff, | |
| 227: #ffff00, | |
| 228: #ffff5f, | |
| 229: #ffff87, | |
| 230: #ffffaf, | |
| 231: #ffffd7, | |
| 232: #ffffff, | |
| 233: #080808, | |
| 234: #121212, | |
| 235: #1c1c1c, | |
| 236: #262626, | |
| 237: #303030, | |
| 238: #3a3a3a, | |
| 239: #444444, | |
| 240: #4e4e4e, | |
| 241: #585858, | |
| 242: #626262, | |
| 243: #6c6c6c, | |
| 244: #767676, | |
| 245: #808080, | |
| 246: #8a8a8a, | |
| 247: #949494, | |
| 248: #9e9e9e, | |
| 249: #a8a8a8, | |
| 250: #b2b2b2, | |
| 251: #bcbcbc, | |
| 252: #c6c6c6, | |
| 253: #d0d0d0, | |
| 254: #dadada, | |
| 255: #e4e4e4, | |
| 256: #eeeeee, | |
| ); | |
| @function nearest($needle, $term, $list: $xterm, ) { | |
| $mindistance: null; | |
| $distance: (); | |
| $nr: color.red($needle); | |
| $ng: color.green($needle); | |
| $nb: color.blue($needle); | |
| @each $item in $list { | |
| $max: math.pow(2, $term); | |
| $cond-b: list.index($list, $item) <= $max; | |
| @if $cond-b { | |
| $index: list.nth($item, 1); | |
| $color: list.nth($item, 2); | |
| $color-r: color.red($color); | |
| $color-g: color.green($color); | |
| $color-b: color.blue($color); | |
| $calc-r: math.pow(($nr - $color-r), 2); | |
| $calc-g: math.pow(($ng - $color-g), 2); | |
| $calc-b: math.pow(($nb - $color-b), 2); | |
| $calc: $calc-r + $calc-g + $calc-b; | |
| $distance: list.append($distance, $calc, 'comma'); | |
| } | |
| } | |
| $mindistance: math.min($distance...); | |
| @return list.index($distance, $mindistance) - 1; | |
| } | |
| @function colorlin($values) { | |
| $colorlinear: (); | |
| @each $color in $values { | |
| $colorlinear: list.append($colorlinear, $color, 'comma'); | |
| } | |
| $r: list.nth($colorlinear, 1) * 255; | |
| $g: list.nth($colorlinear, 2) * 255; | |
| $b: list.nth($colorlinear, 3) * 255; | |
| $a: 1; | |
| @if (list.length($colorlinear) == 4) { | |
| $a: list.nth($colorlinear, 4); | |
| } | |
| $rgb: rgba($r, $g, $b, $a); | |
| @return $rgb; | |
| } | |
| githubcolors { | |
| $x: 8; | |
| /* current: #{math.pow(2, $x)} */ | |
| color-----black: nearest(#000000, $x); | |
| color-------red: nearest(#dc3545, $x); | |
| color-----green: nearest(#73ba25, $x); | |
| color----yellow: nearest(#ffc107, $x); | |
| color------blue: nearest(#35b9ab, $x); | |
| color-----dgrey: nearest(#42474c, $x); | |
| color-----lgrey: nearest(#d2d5d8, $x); | |
| color-----white: nearest(#ffffff, $x); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment