Mongoose plugin to dynamically generate gravatar urls.
$ npm install mongoose-gravatar
Setup
var gravatar = require('mongoose-gravatar');
var UserSchema = new Schema({ email: String });
// Extend User's Schema with gravatar plugin
UserSchema.plugin(gravatar);
// or... provide some default options for plugin
UserSchema.plugin(gravatar, { secure: true, default: "retro", size: 245 });
// or... custom schema property
UserSchema = new Schema({ primaryEmail: String });
UserSchema.plugin(gravatar, { property: 'primaryEmail' });
// ...Retrieving Gravatar from User Model
var author = new User({ email: '[email protected]' });
// retrieves a normal gravatar url
author.gravatar()
// out: 'http://www.gravatar.com/avatar/23463b99b62a72f26ed677cc556c44e8'
// retrieves a secure (https) gravatar url
author.gravatar({ secure: true })
// out: 'https://secure.gravatar.com/avatar/23463b99b62a72f26ed677cc556c44e8'
// sets size to 150px width and height
author.gravatar({ size: 150 });
// out: 'http://www.gravatar.com/avatar/23463b99b62a72f26ed677cc556c44e8?s=150'
// With provided options at plugin level...
author.gravatar()
// out: https://secure.gravatar.com/avatar/23463b99b62a72f26ed677cc556c44e8?d=retro&s=245property: Schema property, optional, defaults toemail
The following are the list of options allowed for .gravatar() model method.
secure: Compiles a secure url for gravatars. Checkgravatar.comdocs for more info.email: Returns a gravatar url for a different email than the model's.size: Determines the size of the image delivered bygravatar.com. Checkgravatar.comdocs for more info.default: Sets a default image when email has no avatar registered atgravatar.com. Checkgravatar.comdocs for more info.forcedefault: Forces default image. Checkgravatar.comdocs for more info.rating: Sets self-rated image policy. Checkgravatar.comdocs for more info.
$ npm install --dev
$ make test
MIT