From 28571e6361eeb60ff241f8d8cc6a9a7e7fcdd318 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6?= Date: Mon, 4 Apr 2016 12:22:59 +0200 Subject: [PATCH] Updated color generator Separated the main function to allow special use without dom manipulation. --- core/js/placeholder.js | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/core/js/placeholder.js b/core/js/placeholder.js index 8eb17b43fa..da721ac5bc 100644 --- a/core/js/placeholder.js +++ b/core/js/placeholder.js @@ -47,12 +47,23 @@ *
A
* */ + + /* + * Alternatively, you can use the prototype function to convert your string to hsl colors: + * + * "a6741a86aded5611a8e46ce16f2ad646".toHsl() + * + * Will return the hsl parameters within an array: + * + * [290, 60, 68] + * + */ (function ($) { - $.fn.imageplaceholder = function(seed, text, size) { - text = text || seed; - var hash = seed.toLowerCase().replace(/[^0-9a-f]+/g, ''); + String.prototype.toHsl = function() { + + var hash = this.toLowerCase().replace(/[^0-9a-f]+/g, ''); // Already a md5 hash? if( !hash.match(/^[0-9a-f]{32}$/g) ) { @@ -103,8 +114,15 @@ if (bright >= 200) { sat = 60; } - var hue = parseInt(hsl[0] * 360); - this.css('background-color', 'hsl('+hue+', '+sat+'%, '+lum+'%)'); + return [parseInt(hsl[0] * 360), sat, lum]; + }; + + $.fn.imageplaceholder = function(seed, text, size) { + text = text || seed; + + // Compute the hash + var hsl = seed.toHsl(); + this.css('background-color', 'hsl('+hsl[0]+', '+hsl[1]+'%, '+hsl[2]+'%)'); // Placeholders are square var height = this.height() || size || 32;