diff options
Diffstat (limited to 'lib/letter-avatars.js')
-rw-r--r-- | lib/letter-avatars.js | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/letter-avatars.js b/lib/letter-avatars.js index b5b1d9e7..53fa011a 100644 --- a/lib/letter-avatars.js +++ b/lib/letter-avatars.js @@ -1,5 +1,6 @@ 'use strict' // external modules +const md5 = require('blueimp-md5') const randomcolor = require('randomcolor') const config = require('./config') @@ -24,6 +25,17 @@ exports.generateAvatar = function (name) { return svg } -exports.generateAvatarURL = function (name) { - return config.serverURL + '/user/' + name + '/avatar.svg' +exports.generateAvatarURL = function (name, email = '', big = true) { + let photo + if (email !== '' && config.allowGravatar) { + photo = 'https://www.gravatar.com/avatar/' + md5(email.toLowerCase()) + if (big) { + photo += '?s=400' + } else { + photo += '?s=96' + } + } else { + photo = config.serverURL + '/user/' + (name || email.substring(0, email.lastIndexOf('@')) || md5(email.toLowerCase())) + '/avatar.svg' + } + return photo } |