Skip to content

Instantly share code, notes, and snippets.

@xshyamx
Last active January 3, 2016 20:49
Show Gist options
  • Save xshyamx/8517943 to your computer and use it in GitHub Desktop.
Save xshyamx/8517943 to your computer and use it in GitHub Desktop.
Side by side comparison of the new colors defined in http://clrs.cc/
function colorMap(selectors) {
var a = [].map.call(document.querySelectorAll(selectors), function(v) { return v.innerHTML; });
var cmap = {};
a.reduce(function(p,c) { if ( c.indexOf('#') == 0 ) {cmap[p.toLowerCase()] = c;} return c; });
return cmap;
}
var oldColors = colorMap('.cf div h1.f3,.cf div h2.f3'),
newColors = colorMap('.pvfl div h1,.pvfl div h2'),
colors = {};
Object.keys(oldColors).forEach(function(v) {
colors[v] = {
old: oldColors[v],
new: newColors[v]
}
});
var div = document.createElement('div'),
tcolor = function(c) {
var x = parseInt(c.substring(1), 16);
return '#' + (x ^ 0xffffff).toString(16);
},
fmt = function() {
var args = [].slice.call(arguments, 0);
var fs = args.shift();
return fs.replace(/\{\}/g, function() { return args.shift() });
};
div.id='xxx';
document.body.appendChild(div);
document.styleSheets[0].insertRule('#xxx h1 { text-transform: capitalize }', 0);
document.styleSheets[0].insertRule('#xxx div.l { width:50%; float:left }', 1);
document.styleSheets[0].insertRule('#xxx div.r { width:50%; float:right }', 2);
Object.keys(colors).forEach(function(color) {
var c = colors[color];
var tmpl = '<h1>{}</h1><div class="l" style="color:{}; background-color:{}">{}</div><div class="r" style="color:{}; background-color:{}">{}</div>';
var html = fmt(tmpl, color, tcolor(c['old']), c['old'], c['old'], tcolor(c['new']), c['new'], c['new']);
var x = document.createElement('div');
x.innerHTML = html;
document.getElementById('xxx').appendChild(x);
});
<div id="xxx">
<div>
<h1>navy</h1>
<div style="color:#ffff7f; background-color:#000080" class="l">#000080</div>
<div style="color:#ffe0c0; background-color:#001f3f" class="r">#001f3f</div>
</div>
<div>
<h1>blue</h1>
<div style="color:#ffff00; background-color:#0000ff" class="l">#0000ff</div>
<div style="color:#ff8b26; background-color:#0074d9" class="r">#0074d9</div>
</div>
<div>
<h1>aqua</h1>
<div style="color:#ff0000; background-color:#00ffff" class="l">#00ffff</div>
<div style="color:#802400; background-color:#7fdbff" class="r">#7fdbff</div>
</div>
<div>
<h1>teal</h1>
<div style="color:#ff7f7f; background-color:#008080" class="l">#008080</div>
<div style="color:#c63333; background-color:#39cccc" class="r">#39cccc</div>
</div>
<div>
<h1>olive</h1>
<div style="color:#ff7fff; background-color:#008000" class="l">#008000</div>
<div style="color:#c2668f; background-color:#3d9970" class="r">#3d9970</div>
</div>
<div>
<h1>green</h1>
<div style="color:#ff7fff; background-color:#008000" class="l">#008000</div>
<div style="color:#d133bf; background-color:#2ecc40" class="r">#2ecc40</div>
</div>
<div>
<h1>lime</h1>
<div style="color:#ff00ff; background-color:#00ff00" class="l">#00ff00</div>
<div style="color:#fe008f; background-color:#01ff70" class="r">#01ff70</div>
</div>
<div>
<h1>yellow</h1>
<div style="color:#ff; background-color:#ffff00" class="l">#ffff00</div>
<div style="color:#23ff; background-color:#ffdc00" class="r">#ffdc00</div>
</div>
<div>
<h1>orange</h1>
<div style="color:#5aff; background-color:#ffa500" class="l">#ffa500</div>
<div style="color:#7ae4; background-color:#ff851b" class="r">#ff851b</div>
</div>
<div>
<h1>red</h1>
<div style="color:#ffff; background-color:#ff0000" class="l">#ff0000</div>
<div style="color:#bec9; background-color:#ff4136" class="r">#ff4136</div>
</div>
<div>
<h1>maroon</h1>
<div style="color:#7fffff; background-color:#800000" class="l">#800000</div>
<div style="color:#7aebb4; background-color:#85144b" class="r">#85144b</div>
</div>
<div>
<h1>fuchsia</h1>
<div style="color:#ff00; background-color:#ff00ff" class="l">#ff00ff</div>
<div style="color:#fed41; background-color:#f012be" class="r">#f012be</div>
</div>
<div>
<h1>purple</h1>
<div style="color:#7fff7f; background-color:#800080" class="l">#800080</div>
<div style="color:#4ef236; background-color:#b10dc9" class="r">#b10dc9</div>
</div>
<div>
<h1>silver</h1>
<div style="color:#3f3f3f; background-color:#c0c0c0" class="l">#c0c0c0</div>
<div style="color:#222222; background-color:#dddddd" class="r">#dddddd</div>
</div>
<div>
<h1>gray</h1>
<div style="color:#7f7f7f; background-color:#808080" class="l">#808080</div>
<div style="color:#555555; background-color:#aaaaaa" class="r">#aaaaaa</div>
</div>
<div>
<h1>black</h1>
<div style="color:#ffffff; background-color:#000000" class="l">#000000</div>
<div style="color:#eeeeee; background-color:#111111" class="r">#111111</div>
</div>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment