README.md
LetterAvatar
Gem for creating letter avatar from user's name.
Code extracted from discourse source (thanks guys!) - I needed this functionality in three projects, so here's the gem! :-)
Examples
Google's Inbox Palette
Installation
System requirements
$ sudo apt-get install -y imagemagick
Mac OS X
$ brew install imagemagick ghostscript
Add this line to your application's Gemfile:
gem 'letter_avatar'
And then execute:
$ bundle
Or install it yourself as:
$ gem install letter_avatar
Configuration
LetterAvatar.setup do |config|
config.cache_base_path = 'public/system/lets' # default is 'public/system'
config.colors_palette = :iwanthue # default is :google
end
Usage
LetterAvatar.generate 'ksz2k', 200
=> "public/system/letter_avatars/2/K/87_178_230/200.png"
There's also helper for this. To use it, you need:
- in your helper (eg.
ApplicationHelper
) or controller:
include LetterAvatar::AvatarHelper
- and in your view:
letter_avatar_for('ksz2k', 200)
Way to support non [a-z0-9] charsets
class User
def username_for_avatar
# Translate chinese hanzi to pinyin
# https://github.com/flyerhzm/chinese_pinyin
Pinyin.t(self.username)
end
end
Then you can get right avatar now:
letter_avatar_for(user.username_for_avatar, 200)
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request