feat(config): supports external link for images

This commit is contained in:
Anhgelus Morhtuuzh 2025-08-01 12:54:51 +02:00
parent b7829c5268
commit b87964e81f
Signed by: anhgelus
GPG key ID: 617773CACE89052C
3 changed files with 20 additions and 3 deletions

16
data.go
View file

@ -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 {