A Metalsmith plugin for Gravatar.
This plugin converts email addresses into their associated Gravatar URLs and adds them to Metalsmith's metadata object.
npm install --save metalsmith-gravatar
If you haven't checked out Metalsmith before, head over to their website and check out the documentation.
If you are using the command-line version of Metalsmith, you can install via npm, and then add the
metalsmith-gravatar
key to your metalsmith.json
file:
{
"plugins": {
"metalsmith-gravatar": {
"stevenschobert": "spschobert@gmail.com"
}
}
}
If you are using the JavaScript API for Metalsmith, then you can require the module and add it to your
.use()
directives:
var gravatar = require('metalsmith-gravatar');
metalsmith.use(gravatar({
stevenschobert: "spschobert@gmail.com"
}));
This plugin will a new metadata property named gravatar
. This object will contain all the
Gravatar URLs you can use in your templates:
<img src="{{gravatar.stevenschobert}}" />
Both the CLI and the JavaScript APIs support nested objects. This allows you to group together multiple avatars into named groups!
{
"plugins": {
"metalsmith-gravatar": {
"authors": {
"stevenschobert": "spschobert@gmail.com",
"malcolmreynolds": "mal@firef.ly"
},
"maintainers": {
"core": { ... },
"occasional": { ... }
}
}
}
}
Nested objects map directly into the output'ed gravatar
object, so you can access them by the same
names:
<img src="{{gravatar.authors.stevenschobert}}" />
If you want more control over how the Gravatar URLs are generated, you can specify an options
object. If the plugin sees this options
object, it will expect the avatars you wish to convert to
be in a new avatars
object:
{
"plugins": {
"metalsmith-gravatar": {
"options": {
"protocol": "https"
},
"avatars": {
"stevenschobert": "spschobert@gmail.com",
"authors": { ... }
}
}
}
}
Below is a list of options that are supported:
String
- 'http' (default)
or 'https'
Sets the URL prefix for Gravatar images. Useful if you are serving a page via SSL and want to also load the external images via SSL.
Thanks to Segment.io for creating and open-sourcing Metalsmith!