diff options
author | silverwind <me@silverwind.io> | 2020-12-03 19:46:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-03 19:46:11 +0100 |
commit | 9269a038a4e904bdeaf5470e76e3a4f8a2a4685b (patch) | |
tree | 59730c0dbe7b011a8cb751d135e44152e7feeec0 /models/user_avatar.go | |
parent | 0d35ef5b439623774d1adddf7071d744b1116809 (diff) | |
download | gitea-9269a038a4e904bdeaf5470e76e3a4f8a2a4685b.tar.gz gitea-9269a038a4e904bdeaf5470e76e3a4f8a2a4685b.zip |
Direct avatar rendering (#13649)
* Direct avatar rendering
This adds new template helpers for avatar rendering which output image
elements with direct links to avatars which makes them cacheable by the
browsers.
This should be a major performance improvment for pages with many avatars.
* fix avatars of other user's profile pages
* fix top border on user avatar name
* uncircle avatars
* remove old incomplete avatar selector
* use title attribute for name and add it back on blame
* minor refactor
* tweak comments
* fix url path join and adjust test to new result
* dedupe functions
Diffstat (limited to 'models/user_avatar.go')
-rw-r--r-- | models/user_avatar.go | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/models/user_avatar.go b/models/user_avatar.go index 2f9db5c2e2..50c1c99c57 100644 --- a/models/user_avatar.go +++ b/models/user_avatar.go @@ -13,7 +13,6 @@ import ( "strings" "code.gitea.io/gitea/modules/avatar" - "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/storage" @@ -41,7 +40,7 @@ func (u *User) generateRandomAvatar(e Engine) error { } if u.Avatar == "" { - u.Avatar = base.HashEmail(u.AvatarEmail) + u.Avatar = HashEmail(u.AvatarEmail) } if err := storage.SaveFrom(storage.Avatars, u.CustomAvatarRelativePath(), func(w io.Writer) error { @@ -76,13 +75,13 @@ func (u *User) SizedRelAvatarLink(size int) string { // func (u *User) RealSizedAvatarLink(size int) string { if u.ID == -1 { - return base.DefaultAvatarLink() + return DefaultAvatarLink() } switch { case u.UseCustomAvatar: if u.Avatar == "" { - return base.DefaultAvatarLink() + return DefaultAvatarLink() } return setting.AppSubURL + "/avatars/" + u.Avatar case setting.DisableGravatar, setting.OfflineMode: @@ -94,14 +93,14 @@ func (u *User) RealSizedAvatarLink(size int) string { return setting.AppSubURL + "/avatars/" + u.Avatar } - return base.SizedAvatarLink(u.AvatarEmail, size) + return SizedAvatarLink(u.AvatarEmail, size) } // RelAvatarLink returns a relative link to the user's avatar. The link // may either be a sub-URL to this site, or a full URL to an external avatar // service. func (u *User) RelAvatarLink() string { - return u.SizedRelAvatarLink(base.DefaultAvatarSize) + return u.SizedRelAvatarLink(DefaultAvatarSize) } // AvatarLink returns user avatar absolute link. |