Help us shape the future of Go! Take the 2026 Go Developer Survey

avatar

package
v1.16.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2026 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultAvatarSize = 256

DefaultAvatarSize is the target CSS pixel size for avatar generation. It is multiplied by setting.Avatar.RenderedSizeFactor and the resulting size is the usual size of avatar image saved on server, unless the original file is smaller than the size after resizing.

Variables

View Source
var BuiltinCount = func() int {
	count := 0
	for _, style := range builtinCatalog {
		count += len(style.Indexes)
	}
	return count
}()

Functions

func BuiltinPNG added in v1.3.0

func BuiltinPNG(index int) ([]byte, error)

BuiltinPNG returns a locally embedded, immutable avatar; no external service is needed.

func HashAvatar

func HashAvatar(uniqueID int64, data []byte) string

HashAvatar will generate a unique string, which ensures that when there's a different unique ID while the data is the same, it will generate a different output. It will generate the output according to: HEX(HASH(uniqueID || - || data)) The hash being used is SHA256. The sole purpose of the unique ID is to generate a distinct hash Such that two unique IDs with the same data will have a different hash output. The "-" byte is important to ensure that data cannot be modified such that the first byte is a number, which could lead to a "collision" with the hash of another unique ID.

func NormalizeUploadedAvatar added in v1.3.0

func NormalizeUploadedAvatar(data []byte) ([]byte, error)

NormalizeUploadedAvatar always crops new uploads, including small compressed photos.

func ProcessAvatarImage

func ProcessAvatarImage(data []byte) ([]byte, error)

ProcessAvatarImage process the avatar image data, crop and resize it if necessary. the returned data could be the original image if no processing is needed.

func RandomImageDefaultSize

func RandomImageDefaultSize(data []byte) image.Image

RandomImageDefaultSize generates and returns a random avatar image unique to input data in default size (height and width).

func RandomImageWithSize

func RandomImageWithSize(size int, data []byte) image.Image

RandomImageWithSize generates and returns a random avatar image unique to input data in custom size (height and width).

func UsernameAvatarPNG added in v1.7.0

func UsernameAvatarPNG(name string, palette int) ([]byte, error)

UsernameAvatarPNG is deterministic, local and independent of third-party avatar services.

func UsernameInitials added in v1.7.0

func UsernameInitials(name string) string

Types

type BuiltinStyle added in v1.7.0

type BuiltinStyle struct {
	ID      string
	Label   string
	Indexes []int
}

func BuiltinStyles added in v1.7.0

func BuiltinStyles() []BuiltinStyle

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL