diff options
author | Yukai Huang | 2017-01-13 22:53:33 +0800 |
---|---|---|
committer | Yukai Huang | 2017-01-13 22:53:33 +0800 |
commit | 3d6b31921651e71ef68fdc88af4ddef50cc9bcb3 (patch) | |
tree | 8ba3e2a5e57a5d54be071475a96b20f78957eff2 /lib/letter-avatars.js | |
parent | 3566d71aea5486709f73ba7fac5a421993b41f00 (diff) | |
parent | 3cf40a8dec96af3710a5945dde693fdc949f31af (diff) |
Merge branch 'master' into frontend-next
Diffstat (limited to '')
-rw-r--r-- | lib/letter-avatars.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/letter-avatars.js b/lib/letter-avatars.js new file mode 100644 index 00000000..3afa03fe --- /dev/null +++ b/lib/letter-avatars.js @@ -0,0 +1,25 @@ +"use strict"; + +// external modules +var randomcolor = require('randomcolor'); + +// core +module.exports = function(name) { + var color = randomcolor({ + seed: name, + luminosity: 'dark' + }); + var letter = name.substring(0, 1).toUpperCase(); + + var svg = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>'; + svg += '<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="96" width="96" version="1.1" viewBox="0 0 96 96">'; + svg += '<g>'; + svg += '<rect width="96" height="96" fill="' + color + '" />'; + svg += '<text font-size="64px" font-family="sans-serif" text-anchor="middle" fill="#ffffff">'; + svg += '<tspan x="48" y="72" stroke-width=".26458px" fill="#ffffff">' + letter + '</tspan>'; + svg += '</text>'; + svg += '</g>'; + svg += '</svg>'; + + return 'data:image/svg+xml;base64,' + new Buffer(svg).toString('base64'); +}; |