Rails view helper for grabbing Gravatar images. The goal here is to be configurable and have those configuration points documented!
Include the following line in your Rails environment
# config/environment config.gem 'gravatar_image_tag'
Then ensure the gem is installed by running the following rake task from the your application root.
rake gems:install
Include the following line in your Rails environment
# Gemfile gem 'gravatar_image_tag'
Then ensure the gem is installed by running the following command from the application root.
bundle install
./script/plugin install git://github.com/mdeering/gravatar_image_tag.git
Once you have installed it as a plugin for your rails app usage is simple.
gravatar_image_tag('[email protected]'.gsub('spam', 'mdeering'), :alt => 'Michael Deering')
You can also return just the Gravatar URL:
gravatar_image_url('[email protected]'.gsub('spam', 'mdeering'), filetype: :png, rating: 'pg', size: 15, secure:false )
Useful when used in your inline CSS.
<div class="gravatar" style="background:transparent url(<%= gravatar_image_url('[email protected]'.gsub('spam', 'mdeering'), size: 100) %>) 0px 0px no-repeat; width:100px; height:100px;"></div>
# config/initializers/gravatar_image_tag.rb GravatarImageTag.configure do |config| config.default_image = nil # Set this to use your own default gravatar image rather then serving up Gravatar's default image [ 'http://example.com/images/default_gravitar.jpg', :identicon, :monsterid, :wavatar, 404 ]. config.filetype = nil # Set this if you require a specific image file format ['gif', 'jpg' or 'png']. Gravatar's default is png config.include_size_attributes = true # The height and width attributes of the generated img will be set to avoid page jitter as the gravatars load. Set to false to leave these attributes off. config.rating = nil # Set this if you change the rating of the images that will be returned ['G', 'PG', 'R', 'X']. Gravatar's default is G config.size = nil # Set this to globally set the size of the gravatar image returned (1..512). Gravatar's default is 80 config.secure = false # Set this to true if you require secure images on your pages. end
Splat the default gravatar image
You can set the default gravatar image inline as follows:
gravatar_image_tag('junk', :alt => 'Github Default Gravatar', :gravatar => { :default => 'https://assets.github.com/images/gravatars/gravatar-140.png' })
Other options supported besides an image url to fall back on include the following:
You can set the gravatar image size inline as follows:
gravatar_image_tag('[email protected]'.gsub('spam', 'mdeering'), :alt => 'Michael Deering', :class => 'some-class', :gravatar => { :size => 15 })
You can make a request for a gravatar from the secure server at https://secure.gravatar.com by passing the :gravatar => { :secure => true } option to the gravatar_image_tag call.
gravatar_image_tag('[email protected]'.gsub('spam', 'mdeering'), :alt => 'Michael Deering', :gravatar => { :secure => true } )
You can set the gravatar rating inline as follows:
gravatar_image_tag('[email protected]'.gsub('spam', 'mdeering'), :alt => 'Michael Deering', :gravatar => { :rating => 'pg' } )
You can set the gravatar filetype inline as follows:
gravatar_image_tag('[email protected]'.gsub('spam', 'mdeering'), :alt => 'Michael Deering', :gravatar => { :filetype => :gif } )
The ideas and methods for this plugin are from expanding upon my original blog post Adding Gravatar To Your Website Or Blog
Copyright © 2009-2010 Michael Deering, released under the MIT license