From b87964e81f99e03dd5ed2983d3788ae2170de237 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?William=20Herg=C3=A8s?= Date: Fri, 1 Aug 2025 12:54:51 +0200 Subject: feat(config): supports external link for images --- data.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'data.go') diff --git a/data.go b/data.go index 75ec2d0..f95289a 100644 --- a/data.go +++ b/data.go @@ -7,10 +7,15 @@ import ( "github.com/anhgelus/golatt" "html/template" "os" + "regexp" "strconv" "strings" ) +var ( + regexExternalLink = regexp.MustCompile(`https?://`) +) + type ConfigData interface { GetTextColor() template.CSS GetBackground() template.CSS @@ -70,12 +75,19 @@ type Link struct { Content string `json:"content" toml:"content"` } +func getImage(s string) string { + if regexExternalLink.MatchString(s) { + return s + } + return golatt.GetStaticPath(s) +} + func (c *Config) GetBackground() template.CSS { return c.Color.GetBackground() } func (c *Config) GetBackgroundImage() template.CSS { - return template.CSS("--background-image: url(" + golatt.GetStaticPath(c.Image) + ");") + return template.CSS("--background-image: url(" + getImage(c.Image) + ");") } func (c *Config) GetTextColor() template.CSS { @@ -168,7 +180,7 @@ func (p *CustomPage) GetTextColor() template.CSS { } func (p *CustomPage) GetBackgroundImage() template.CSS { - return template.CSS("--background-image: url(" + golatt.GetStaticPath(p.Image) + ");") + return template.CSS("--background-image: url(" + getImage(p.Image) + ");") } func (p *CustomPage) GetBackground() template.CSS { -- cgit v1.2.3