28bbd245 |
# include the MD5 gem, this should be part of a standard ruby install
require 'digest/md5'
module Jekyll
class Gravatar < Liquid::Tag
def initialize(tag_name, size, token)
super
@size = size.strip
end
def render(context)
# get the site config variables
site_config = context.registers[:site].config
# get the email address from the site config
email_address = site_config['gravatar_email']
# change the email address to all lowercase
email_address = email_address.downcase
# create an md5 hash from the email address
gravatar_hash = Digest::MD5.hexdigest(email_address)
# compile the full Gravatar URL
image_src = "http://www.gravatar.com/avatar/#{gravatar_hash}"
# append size query to URL if provided in tag
unless @size.empty?
image_src = image_src+"?s=#{@size}"
end
# output the full Gravatar URL
image_src
end
end
end
# register the "gravatar_image" tag
Liquid::Template.register_tag('gravatar_image', Jekyll::Gravatar) |