email: change font, template common parts

Using the newer Jellyfin logo font for the header and hanken grotesk for the body.
Tried to redo emails with maizzle because using tailwind sounded nice, but getting it
to look like a17t would be more trouble than it's worth, since you can't
use CSS vars in emails and a17t uses them heavily. Instead, cleaned up
the mj-header a little and stored it in a separate file, and also the
header & footer, and changed the template vars with {{ .header }}  and
{{ .footer }} for all emails. Values are determined by
CustomContentInfo.Header/FooterText funcs. nil values are replaced at
program start by _runtimeValidator.

also, i beg of you don't try to do light/dark mode with mjml, you'll
want to die.
This commit is contained in:
Harvey Tindall
2025-09-01 15:27:57 +01:00
parent eb941794a8
commit 8781e48601
22 changed files with 318 additions and 893 deletions
+2 -1
View File
@@ -719,7 +719,8 @@ type ContentSourceFileInfo struct{ Section, SettingPrefix, DefaultValue string }
type CustomContentInfo struct {
Name string `json:"name" badgerhold:"key"`
DisplayName, Description func(dict *Lang, lang string) string
Subject func(config *Config, lang *emailLang) string
// Subject returns the subject of the email. Header/FooterText returns what should show in the header, a nil-value implies "Jellyfin" (or user-supplied text).
Subject, HeaderText, FooterText func(config *Config, lang *emailLang) string
// Config section, the main part of the setting name (without "html" or "text"), and the default filename (without ".html" or ".txt").
SourceFile ContentSourceFileInfo
ContentType CustomContentContext `json:"type"`