Giter VIP home page Giter VIP logo

laravel-ui-avatars's Introduction

Official Laravel wrapper for https://ui-avatars.com now supporting Laravel 10

Build Status

Coverage

Total Downloads

Latest Stable Version

License

Original fork from Rackbeat/laravel-ui-avatars

Installation

You just require using composer and you're good to go!

composer require dualznz/laravel-ui-avatars

The Service Provider is automatically registered.

Setup

To setup the config file, you publish it like so:

php artisan vendor:publish --provider="Dualznz\UIAvatars\UIAvatarsServiceProvider"

You can edit the file in config/ui-avatars.php.

Usage

1. Add the Dualznz\UIAvatars\HasAvatar trait to your Model (e.g. App\Users)

// ...

class User extends Authenticatable {

use \Dualznz\UIAvatars\HasAvatar;

// ...

}

2. Create a new method on your Model.

This method is practically a proxy to call the HasAvatar methods. It will return a gravatar from the e-mail, with a fallback to the avatar using ui-avatars.com API.

public function getAvatar($size = 64) {

return  $this->getGravatar($this->email, $size);

}

NOTICE: Gravatar is only available using the API, not locally generated avatars.

3. (Optional) Re-define the name field

Assuming you're not using the default User Model in Laravel, you can override which field is being used for the name.

public function getAvatarNameKey() {

return 'full_name';

}

Available methods

getInitials($length=null)

Returns the generated initials, from the name, used in the avatar.

Default $length can be defined in config/ui-avatars.php (length key)

getUrlfriendlyAvatar($size=null)

Return a urlfriendly formatted avatar (URL or base64).

Example usage:

<img src="{{ $user->getUrlfriendlyAvatar() }}" />

Default $size can be defined in config/ui-avatars.php (image_size key)

getAvatarBase64($size=null)

Return a base64 representation of the avatar.

Default $size can be defined in config/ui-avatars.php (image_size key)

getAvatarImage($size=null)

Return a Image object of the avatar.

Default $size can be defined in config/ui-avatars.php (image_size key)

getGravatar($email, $size=null)

Return a link to a Gravatar image using the specified email, and a fallback to using our own generator (assuming provider = api)

Default $size can be defined in config/ui-avatars.php (image_size key)

Available options

In the config file you can specify different options.

| Key | Description | Default | Available Options / Type |

| ------------- | ------------- | ------------- | ------------- |

| provider | Which provider to use for generating avatars. | api | local or api |

| length | Max initials length (amount of letters) | 2 | Number, min: 1, max: unlimited |

| image_size | Default width & height for the generated avatar. | 48 | Number, min: 1, max: unlimited (512 using api provider) |

| font_size | Font size in percentage of image_size. | 0.5 | Number, min: 0, max: 1 |

| rounded | Should the generated avatar be a rounded circle? (its recommended to disable and round using CSS) | false | Boolean |

| smooth_rounding | If rounded is enabled, and provider is local, you can enable smoother rounding with the cost of performance. | true | Boolean |

| uppercase | Should the initials be forced uppercase or not. | true | Boolean |

| background_color | Default HEX background color for avatars. | #a0a0a0 | Hex |

| font_color | Default HEX font color for avatars. | #222 | Hex |

| providers | List of available providers. For you to add your own provider. | | Array of providers |

Requirements

  • PHP >= 7.1

laravel-ui-avatars's People

Contributors

lasserafn avatar kabbouchi avatar dualznz avatar htcang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.