Awesome
mongoose-gravatar
Mongoose plugin to dynamically generate gravatar urls.
Installation
$ npm install mongoose-gravatar
Usage example
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: 'jorge@ups.com' });
// 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=245
Plugin specific options
property
: Schema property, optional, defaults toemail
API options list
The following are the list of options allowed for .gravatar()
model method.
secure
: Compiles a secure url for gravatars. Checkgravatar.com
docs 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.com
docs for more info.default
: Sets a default image when email has no avatar registered atgravatar.com
. Checkgravatar.com
docs for more info.forcedefault
: Forces default image. Checkgravatar.com
docs for more info.rating
: Sets self-rated image policy. Checkgravatar.com
docs for more info.
Test
$ npm install --dev
$ make test
License
MIT