From 23705b31e4faa57276c8c22fcd3d58890308e5c9 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Wed, 31 May 2023 13:54:00 +0200 Subject: [PATCH] [chore/frontend] refactor header templating, add apple-touch-icon (#1850) --- web/template/header.tmpl | 117 ++++++++++++++++++++++++++------------- 1 file changed, 79 insertions(+), 38 deletions(-) diff --git a/web/template/header.tmpl b/web/template/header.tmpl index 05e47991a..2759ab804 100644 --- a/web/template/header.tmpl +++ b/web/template/header.tmpl @@ -17,64 +17,105 @@ // along with this program. If not, see . */ -}} - +{{- /* + NESTED TEMPLATE DECLARATIONS + If some if/else macro is used multiple times, declare it once here instead. + When invoking these nested templates, remember to pass in the values passed + to the executing template, ie., use '{{ template "example" . }}' not + '{{ template "example" }}', otherwise you'll end up with empty variables. +*/ -}} +{{ define "thumbnailType" }}{{ if .instance.ThumbnailType }}{{ .instance.ThumbnailType }}{{ else }}image/png{{ end }}{{ end }} +{{ define "instanceTitle" }}{{ if .ogMeta }}{{ .ogMeta.Title }}{{ else }}{{ .instance.Title }} - GoToSocial{{ end }}{{ end }} + +{{- /* + BOILERPLATE GOES HERE +*/ -}} + - + + {{- /* + ROBOTS META TAGS + If this template was provided with a specific robots meta policy, use that. + Otherwise, fall back to a default restrictive policy. + See: https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag + */ -}} - {{ if .ogMeta }}{{ if .ogMeta.Locale }} - - {{ end }} - - - - - - {{ if .ogMeta.ArticlePublisher }} - - - - - {{ end }}{{ if .ogMeta.ProfileUsername }} - - {{ end }} - - {{ if .ogMeta.ImageAlt }} - - {{ end }}{{ if .ogMeta.ImageWidth }} - - - {{ end }}{{ end }} - - {{ if .rssFeed }} - {{ end }} + + {{- /* + OPEN GRAPH META TAGS + To enable fancy previews of links to GtS posts/profiles shared via instant + messaging, or other social media, parse out provided Open Graph meta tags. + */ -}} + {{ if .ogMeta -}} + {{ if .ogMeta.Locale }}{{ end }} + + + + + + {{ if .ogMeta.ArticlePublisher }} + + + + + {{ end }} + {{ if .ogMeta.ProfileUsername }}{{ end }} + + {{ if .ogMeta.ImageAlt }}{{ end }} + {{ if .ogMeta.ImageWidth }} + + + {{ end }} + {{- end }} + + {{- /* + ICON + For icon, provide a link to the instance thumbnail. If the instance admin has + set a custom thumbnail, use the type they uploaded, else assume image/png. + See: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel#icon + */ -}} + + + + + {{- /* + RSS FEED + To enable automatic rss feed discovery for feed readers, provide the 'alternate' + link only if rss is enabled. + See: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel#alternate + */ -}} + {{ if .rssFeed -}} + + {{- end }} + + {{- /* + STYLESHEET STUFF + To try to speed up rendering a little bit, offer a preload for each stylesheet. + See: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/preload. + */ -}} - {{range .stylesheets}} - - {{end}} + {{ range .stylesheets }}{{ end }} - {{range .stylesheets}} - - {{end}}{{ if .ogMeta }}{{ .ogMeta.Title }}{{ else }}{{.instance.Title}} - GoToSocial{{ end }} + {{ range .stylesheets }}{{ end }} + {{ template "instanceTitle" . }}
- + {{ if .instance.ThumbnailDescription }}{{ .instance.ThumbnailDescription }}{{ else }}Instance Logo{{ end }}

- {{.instance.Title}} + {{ .instance.Title }}