Documentation
¶
Index ¶
- Constants
- Variables
- func BuiltinPNG(index int) ([]byte, error)
- func HashAvatar(uniqueID int64, data []byte) string
- func NormalizeUploadedAvatar(data []byte) ([]byte, error)
- func ProcessAvatarImage(data []byte) ([]byte, error)
- func RandomImageDefaultSize(data []byte) image.Image
- func RandomImageWithSize(size int, data []byte) image.Image
- func UsernameAvatarPNG(name string, palette int) ([]byte, error)
- func UsernameInitials(name string) string
- type BuiltinStyle
Constants ¶
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 ¶
var BuiltinCount = func() int { count := 0 for _, style := range builtinCatalog { count += len(style.Indexes) } return count }()
Functions ¶
func BuiltinPNG ¶ added in v1.3.0
BuiltinPNG returns a locally embedded, immutable avatar; no external service is needed.
func HashAvatar ¶
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
NormalizeUploadedAvatar always crops new uploads, including small compressed photos.
func ProcessAvatarImage ¶
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 ¶
RandomImageDefaultSize generates and returns a random avatar image unique to input data in default size (height and width).
func RandomImageWithSize ¶
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
UsernameAvatarPNG is deterministic, local and independent of third-party avatar services.
func UsernameInitials ¶ added in v1.7.0
Types ¶
type BuiltinStyle ¶ added in v1.7.0
func BuiltinStyles ¶ added in v1.7.0
func BuiltinStyles() []BuiltinStyle