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" . }}