In Node.js è semplice creare un helper di Handlebars per gestire il servizio Gravatar.
Creiamo una funzione di utility per la codifica in MD5:
'use strict';
// utils.js
const crypto = require('crypto');
module.exports = {
md5: (str) => {
let encStr = crypto.createHash('md5').update(str).digest('hex');
return encStr;
}
};
Definiamo quindi il nostro helper:
'use strict';
// helpers.js
const utils = require('./utils');
module.exports = {
gravatar: (email, size) => {
return 'https://www.gravatar.com/avatar/' + utils.md5(email) + '?s=' + size;
}
};
Infine usiamolo nelle view:
<img src="{{gravatar user.email 80}}" alt="{{user.name}}">