feat(sidebar): add support for external avatar (#53)

add [params.sidebar.avatar] section in config.toml, with 2 fields: local and src

Migration guide:
 - Copy the old value of `params.sidebar.avatar` to `param.sidebar.avatar.src`
 - Set params.sidebar.avatar.local = true

Co-authored-by: Jimmy Cai <jimmehcai@gmail.com>
This commit is contained in:
Victor Lourme 2020-12-11 16:33:02 +01:00 committed by GitHub
parent bfeddf3217
commit f919b8bd90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 8 deletions

View File

@ -21,8 +21,10 @@ DefaultContentLanguage = "en" # Theme i18n support
[params.sidebar] [params.sidebar]
emoji = "🍥" emoji = "🍥"
avatar = "img/avatar.png"
subtitle = "Lorem ipsum dolor sit amet, consectetur adipiscing elit." subtitle = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
[params.sidebar.avatar]
local = true
src = "img/avatar.png"
[params.article] [params.article]
math = false math = false

View File

@ -8,15 +8,19 @@
<header class="site-info"> <header class="site-info">
{{ with .Site.Params.sidebar.avatar }} {{ with .Site.Params.sidebar.avatar }}
<figure class="site-avatar"> <figure class="site-avatar">
{{ $avatar := resources.Get (.) }} {{ if not .local }}
<img src="{{ .src }}" width="300" height="300" class="site-logo" loading="lazy" alt="Avatar">
{{ else }}
{{ $avatar := resources.Get (.src) }}
{{ if $avatar }} {{ if $avatar }}
{{ $avatarResized := $avatar.Resize "300x300" }} {{ $avatarResized := $avatar.Resize "300x" }}
<img src="{{ $avatarResized.RelPermalink }}" width="{{ $avatarResized.Width }}" <img src="{{ $avatarResized.RelPermalink }}" width="{{ $avatarResized.Width }}"
height="{{ $avatarResized.Height }}" class="site-logo" loading="lazy" alt="Avatar"> height="{{ $avatarResized.Height }}" class="site-logo" loading="lazy" alt="Avatar">
{{ else }} {{ else }}
{{ errorf "Failed loading avatar from %q" . }} {{ errorf "Failed loading avatar from %q" . }}
{{ end }} {{ end }}
{{ end }}
{{ with $.Site.Params.sidebar.emoji }} {{ with $.Site.Params.sidebar.emoji }}
<span class="emoji">{{ . }}</span> <span class="emoji">{{ . }}</span>