libravatar-0.3.0.0: Use Libravatar, the decentralized avatar delivery service

Network.Libravatar

Synopsis

Documentation

User address for which to generate an avatar URL. Email or OpenID.

Constructors

 Email String For example john@doe.org OpenID String For example https://example.org/accounts/john/id

Special values available for the default image. The comments briefly explain the origin of the image/technique.

Constructors

What to do if the user's address isn't found in the Libravatar server's database.

Constructors

 ImgLibravatarLogo Don't specify a default image, let the server send its default image, which is the Libravatar logo (the orange butterfly). ImgNotFound Return HTTP 404 error (i.e. file not found) instead of an image. ImgSpecial SpecialImage Use one of the available special images or image generators. ImgCustom String Use the given image URL as the default.

Instances

 Source # Methods

data Size Source #

Image size in pixels.

Constructors

 Size Int Use the given size. Acceptable values are between 1 and 512. Note that this library doesn't check the size you pass here, so make sure you pass a size within that range. DefaultSize Use the default size, which is 80 pixels.

Instances

 Source # Methodsdef :: Size #

Avatar details in addition to the user address itself. Define by starting with defOpts and override fields using record syntax.

Instances

 Source # Methods

A default AvatarOptions value in which you can override fields. It is simply a convenience wrapper of def, i.e. this is the same as using the Default instance.

Whether the avatar URL should be secure (use HTTPS).

What to do if the user address isn't found in the Libravatar database.

Image size in pixels.

If an image is not found in the Libravatar database, it can first redirect to gravatar in case the image exists there, and only then honour the optDefault parameter. This option sets whether Libravatar should try gravatar or go straight to the optDefault when an image isn't found.

Return a URL to the avatar image.

If an error occurs, return Nothing. Currently, this happens only if the user address fails to be parsed.

Examples:

Email, HTTP, default fallback image (the libravatar logo), default size (80):

>>> avatarUrl (Email "john@doe.org") defOpts
>>> { optSecure  = False
>>> , optDefault = ImgLibravatarLogo
>>> , optSize    = DefaultSize
>>> }
Just "http://cdn.libravatar.org/avatar/bc6a715808d9aae0ddeefb1e47e482a6"


Email, HTTPS, default fallback image, size 100. But now use an email with a domain which has SRV records for avatars:

>>> avatarUrl (Email "fr33domlover@rel4tion.org") defOpts
>>> { optSecure  = True
>>> , optDefault = ImgLibravatarLogo
>>> , optSize    = Size 100
>>> }
Just "https://avatars.rel4tion.org:5679/avatar/e9e9ccabc2a166b1783bd7f4f9ceb376?s=100"


OpenID, HTTPS, specified fallback (special value "retro"), default size (80):

>>> avatarUrl (OpenID "https://examplibre.org/accounts/xyz/id") defOpts
>>> { optSecure  = True
>>> , optDefault = ImgSpecial SpecialRetro
>>> , optSize    = DefaultSize
>>> }
Just "https://seccdn.libravatar.org/avatar/c2cbc5f5a1784fa7105380e550360d73f15c4c1f9c7ca1ac436c45a33027fcd7?d=retro"


(Note that the 2nd example uses dummy SRV records created by the author, and he isn't really running a Libravatar provider. This is just an example, the specific URL here will probably result with 404.)