An open API service indexing awesome lists of open source software.

https://github.com/wallin/angular-gravatar

Easy-to-use and flexible Angular.js directive for Gravatar images
https://github.com/wallin/angular-gravatar

angular1 gravatar javascript

Last synced: 6 months ago
JSON representation

Easy-to-use and flexible Angular.js directive for Gravatar images

Awesome Lists containing this project

README

          

[![Bower version](https://badge.fury.io/bo/angular-gravatar.svg)](http://badge.fury.io/bo/angular-gravatar)
[![NPM version](https://badge.fury.io/js/angular-gravatar.svg)](http://badge.fury.io/js/angular-gravatar)

[![Build Status](https://travis-ci.org/wallin/angular-gravatar.svg?branch=master)](https://travis-ci.org/wallin/angular-gravatar)
[![Code Climate](https://codeclimate.com/github/wallin/angular-gravatar.svg)](https://codeclimate.com/github/wallin/angular-gravatar)
angular-gravatar
==============

Angular.JS directive for [Gravatar](http://www.gravatar.com).

Copyright (C) 2015, Sebastian Wallin

Requirements
-----

* AngularJS (http://angularjs.org)

Install with Bower
-----

```
bower install angular-gravatar
```

Install with NPM
-----

```
npm install angular-gravatar
```

Usage
-----
Include angular-gravatar.js in your application.

```html

```

Add the module `ui.gravatar` as a dependency to your app:

```js
var app = angular.module('app', ['ui.gravatar']);
```

Then use the directive on an image tag and it will set the correct `src`
attribute for you.

```html


```

If the source is already an MD5 hash, it will be left untouched (thanks @thewarpaint)

#### Binding Once

If you know that the source is not going to change, you can use the `gravatar-src-once` instead:

```html

```

> Note: this directive will watch for a non falsy value and then stop watching.

Configuration
-----

The options that are sent along to Gravatar can be set either
directly in the directive as seen above with `size` or configured as default
parameters via the `gravatarServiceProvider`:

```js
angular.module('ui.gravatar').config([
'gravatarServiceProvider', function(gravatarServiceProvider) {
gravatarServiceProvider.defaults = {
size : 100,
"default": 'mm' // Mystery man as default for missing avatars
};

// Use https endpoint
gravatarServiceProvider.secure = true;

// Force protocol
gravatarServiceProvider.protocol = 'my-protocol';

// Override URL generating function
gravatarServiceProvider.urlFunc = function(options) {
// Code to generate custom URL
};
}
]);
```

Note that by default, no explicit protocol is set. This means that the image will use the protocol with which the page is loaded. For example; if the page url is http://www.example.com the image will be loaded over http, but if the page url is https://www.example.com the image will be loaded over https.

Anyway, you can force the protocol you want (for `https` use `secure = true` instead of `protocol = 'https'` because gravatar url differs for secure/no secure).
For example, if you are developing a mobile app with Cordova you should use `http`. Otherwise directive will use `file` protocol and fail.

All the available options can be seen over at the [Gravatar docs for image
requests](https://sv.gravatar.com/site/implement/images/)

License
-----

MIT

[Contributors](https://github.com/wallin/angular-gravatar/graphs/contributors)
-----
* Alexander Makarenko, [@estliberitas](https://github.com/estliberitas)
* Eduardo Garcia, [@thewarpaint](https://github.com/thewarpaint)
* Thomas Vervest, [@tvervest](https://github.com/tvervest)
* Gonzalo Aguirre, [@gaguirre](https://github.com/gaguirre)
* Gabe Hayes, [@gabehayes](https://github.com/gabehayes)
* Peter Dave Hello, [@PeterDaveHello](https://github.com/PeterDaveHello)
* Kalisa Falzone, [@KalisaFalzone](https://github.com/KalisaFalzone)
* Victor Torres, [@victor-torres](https://github.com/victor-torres)