aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/js/placeholder.js28
1 files changed, 23 insertions, 5 deletions
diff --git a/core/js/placeholder.js b/core/js/placeholder.js
index 8eb17b43fa4..da721ac5bcb 100644
--- a/core/js/placeholder.js
+++ b/core/js/placeholder.js
@@ -47,12 +47,23 @@
* <div id="albumart" style="background-color: hsl(123, 90%, 65%); ... ">A</div>
*
*/
+
+ /*
+ * 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;