Skip to content

About

Unique default avatar/profile picture generator

Resources

Code of conduct

Stars

4 stars

Watchers

1 watching

Forks

Repository files navigation

Default Avatar Generator

CI Gem Version

A Ruby gem that generates beautiful default avatars for user accounts when no custom avatar is provided.

Examples

Examples generated by this library

Installation

This gem shells out to the rsvg-convert CLI (from librsvg2-bin on Debian/Ubuntu, librsvg on Homebrew) to rasterize the generated SVG, and uses ruby-vips (which requires libvips) to convert that to JPEG. Both must be installed on the host.

Add this line to your application's Gemfile:

gem 'default-avatar-generator'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install default-avatar-generator

Usage

require 'default_avatar_generator'

# Generate an avatar for a user
generator = DefaultAvatarGenerator::Generator.new(text: { character: "A" })
svg_avatar = generator.generate
jpeg_avatar = DefaultAvatarGenerator::ImageConverter.svg_to_jpeg(svg_avatar)
# Save the avatar to a file (if you need to)

Note: ImageConverter.svg_to_jpeg rasterizes via rsvg-convert rather than vips's own SVG loader. Apps that load Rails Active Storage call Vips.block_untrusted(true) on boot, which disables vips's svgload/svgload_buffer process-wide (they're flagged untrusted since they rely on rsvg's unfuzzed parser) — that would break this gem even for the SVGs it generates itself. Going through rsvg-convert avoids that entirely.

Development

After checking out the repo:

bundle install
./viewer

This will bring up a development server on http://localhost:9292 where you can reload the page and keep generating new avatars.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.

License

The gem is available as open source under the terms of the MIT License.

About

Unique default avatar/profile picture generator

Resources

Code of conduct

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages