The clavatar Reference Manual

This is the clavatar Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 04:40:48 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 clavatar

Determines appropriate URLs for avatars using assorted avatar services.

Author

Pixie <>

License

MIT

Dependencies
  • iolib (system).
  • ironclad (system).
  • babel (system).
  • drakma (system).
Source

clavatar.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 clavatar/clavatar.asd

Source

clavatar.asd.

Parent Component

clavatar (system).

ASDF Systems

clavatar.


3.1.2 clavatar/package.lisp

Source

clavatar.asd.

Parent Component

clavatar (system).

Packages

clavatar.


3.1.3 clavatar/util.lisp

Dependency

package.lisp (file).

Source

clavatar.asd.

Parent Component

clavatar (system).

Internals

3.1.4 clavatar/identifiers.lisp

Dependency

util.lisp (file).

Source

clavatar.asd.

Parent Component

clavatar (system).

Public Interface
Internals

3.1.5 clavatar/clavatar.lisp

Dependency

identifiers.lisp (file).

Source

clavatar.asd.

Parent Component

clavatar (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 clavatar

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Ordinary functions

Function: get-avatar-url (identifier &key size default services)

Returns an avatar URL for a given identifier.

First, checks if the domain of identifier provides some clue as to how to get avatars. If so, uses the federated behavior of the domain. Otherwise, tries SERVICES in order and uses the first service which does not return a 404. Will use DEFAULT on the last service if no service knows about the identifier.

Note that because this involves DNS and HTTP queries, it is slow and you should cache the results.

Package

clavatar.

Source

clavatar.lisp.


5.1.2 Generic functions

Generic Function: canonical-identifier (identifier)
Package

clavatar.

Source

identifiers.lisp.

Methods
Method: canonical-identifier ((e-mail %e-mail))
Method: canonical-identifier ((uri uri))
Method: canonical-identifier ((identifier string))
Generic Function: identifier-domain (identifier)
Package

clavatar.

Source

identifiers.lisp.

Methods
Method: identifier-domain ((identifier %e-mail))
Method: identifier-domain ((identifier uri))
Method: identifier-domain ((identifier string))

5.1.3 Classes

Class: gravatar
Package

clavatar.

Source

clavatar.lisp.

Direct superclasses

hosted-service.

Direct methods

avatar-url.

Direct slots
Slot: base-uri
Initform

(puri:uri "https://secure.gravatar.com/")

Class: libravatar
Package

clavatar.

Source

clavatar.lisp.

Direct superclasses
Direct slots
Slot: base-uri
Initform

(puri:uri "https://seccdn.libravatar.org/")

Class: unicornify
Package

clavatar.

Source

clavatar.lisp.

Direct superclasses

hosted-service.

Direct methods

avatar-url.

Direct slots
Slot: base-uri
Initform

(puri:uri "https://unicornify.appspot.com/")


5.2 Internals


5.2.1 Ordinary functions

Reader: %e-mail-domain (instance)
Writer: (setf %e-mail-domain) (instance)
Package

clavatar.

Source

identifiers.lisp.

Target Slot

domain.

Reader: %e-mail-local-part (instance)
Writer: (setf %e-mail-local-part) (instance)
Package

clavatar.

Source

identifiers.lisp.

Target Slot

local-part.

Function: %e-mail-p (object)
Package

clavatar.

Source

identifiers.lisp.

Function: build-url-query (args)
Package

clavatar.

Source

util.lisp.

Function: copy-%e-mail (instance)
Package

clavatar.

Source

identifiers.lisp.

Function: default-port-p (scheme port)
Package

clavatar.

Source

util.lisp.

Function: ensure-identifier (identifier)
Package

clavatar.

Source

identifiers.lisp.

Function: identifier-hash (identifier hash)
Package

clavatar.

Source

identifiers.lisp.

Function: make-%e-mail (local-part domain)
Package

clavatar.

Source

identifiers.lisp.

Function: make-e-mail (string)
Package

clavatar.

Source

identifiers.lisp.


5.2.2 Generic functions

Generic Function: avatar-url (service identifier &key size default &allow-other-keys)
Package

clavatar.

Source

clavatar.lisp.

Methods
Method: avatar-url ((service federated-service) identifier &key size default &allow-other-keys)
Method: avatar-url ((service unicornify) identifier &rest rest)
Method: avatar-url ((service libravatar-protocol) identifier &rest rest)
Method: avatar-url ((service gravatar) identifier &rest rest)
Method: avatar-url :around ((service hosted-service) identifier &key size default &allow-other-keys)
Method: avatar-url ((service (eql clavatar::federated)) identifier &rest rest)
Method: avatar-url ((service (eql clavatar:unicornify)) identifier &rest rest)
Method: avatar-url ((service (eql clavatar:libravatar)) identifier &rest rest)
Method: avatar-url ((service (eql clavatar:gravatar)) identifier &rest rest)

5.2.3 Structures

Structure: %e-mail
Package

clavatar.

Source

identifiers.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: local-part
Readers

%e-mail-local-part.

Writers

(setf %e-mail-local-part).

Slot: domain
Readers

%e-mail-domain.

Writers

(setf %e-mail-domain).


5.2.4 Classes

Class: federated-service
Package

clavatar.

Source

clavatar.lisp.

Direct superclasses

libravatar-protocol.

Direct methods

avatar-url.

Class: hosted-service
Package

clavatar.

Source

clavatar.lisp.

Direct subclasses
Direct methods

avatar-url.

Direct slots
Slot: base-uri
Class: libravatar-protocol
Package

clavatar.

Source

clavatar.lisp.

Direct subclasses
Direct methods

avatar-url.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   I   M  
Index Entry  Section

%
%e-mail-domain: Private ordinary functions
%e-mail-local-part: Private ordinary functions
%e-mail-p: Private ordinary functions

(
(setf %e-mail-domain): Private ordinary functions
(setf %e-mail-local-part): Private ordinary functions

A
avatar-url: Private generic functions
avatar-url: Private generic functions
avatar-url: Private generic functions
avatar-url: Private generic functions
avatar-url: Private generic functions
avatar-url: Private generic functions
avatar-url: Private generic functions
avatar-url: Private generic functions
avatar-url: Private generic functions
avatar-url: Private generic functions

B
build-url-query: Private ordinary functions

C
canonical-identifier: Public generic functions
canonical-identifier: Public generic functions
canonical-identifier: Public generic functions
canonical-identifier: Public generic functions
copy-%e-mail: Private ordinary functions

D
default-port-p: Private ordinary functions

E
ensure-identifier: Private ordinary functions

F
Function, %e-mail-domain: Private ordinary functions
Function, %e-mail-local-part: Private ordinary functions
Function, %e-mail-p: Private ordinary functions
Function, (setf %e-mail-domain): Private ordinary functions
Function, (setf %e-mail-local-part): Private ordinary functions
Function, build-url-query: Private ordinary functions
Function, copy-%e-mail: Private ordinary functions
Function, default-port-p: Private ordinary functions
Function, ensure-identifier: Private ordinary functions
Function, get-avatar-url: Public ordinary functions
Function, identifier-hash: Private ordinary functions
Function, make-%e-mail: Private ordinary functions
Function, make-e-mail: Private ordinary functions

G
Generic Function, avatar-url: Private generic functions
Generic Function, canonical-identifier: Public generic functions
Generic Function, identifier-domain: Public generic functions
get-avatar-url: Public ordinary functions

I
identifier-domain: Public generic functions
identifier-domain: Public generic functions
identifier-domain: Public generic functions
identifier-domain: Public generic functions
identifier-hash: Private ordinary functions

M
make-%e-mail: Private ordinary functions
make-e-mail: Private ordinary functions
Method, avatar-url: Private generic functions
Method, avatar-url: Private generic functions
Method, avatar-url: Private generic functions
Method, avatar-url: Private generic functions
Method, avatar-url: Private generic functions
Method, avatar-url: Private generic functions
Method, avatar-url: Private generic functions
Method, avatar-url: Private generic functions
Method, avatar-url: Private generic functions
Method, canonical-identifier: Public generic functions
Method, canonical-identifier: Public generic functions
Method, canonical-identifier: Public generic functions
Method, identifier-domain: Public generic functions
Method, identifier-domain: Public generic functions
Method, identifier-domain: Public generic functions