feat(config): supports external link for images
This commit is contained in:
parent
b7829c5268
commit
b87964e81f
3 changed files with 20 additions and 3 deletions
16
data.go
16
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 {
|
||||
|
|
5
main.go
5
main.go
|
@ -7,6 +7,7 @@ import (
|
|||
"fmt"
|
||||
"github.com/BurntSushi/toml"
|
||||
"github.com/anhgelus/golatt"
|
||||
"html/template"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"os"
|
||||
|
@ -127,6 +128,10 @@ func main() {
|
|||
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
|
||||
}
|
||||
|
||||
g.TemplateFuncMap = template.FuncMap{
|
||||
"getImage": getImage,
|
||||
}
|
||||
|
||||
host := fmt.Sprintf(":%d", port)
|
||||
if dev {
|
||||
if port != 80 {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<main style="{{ .GetBackground }}">
|
||||
<div class="presentation">
|
||||
<figure>
|
||||
<img src="{{ getStaticPath .Person.Image }}" alt="{{ .Person.Name }}'s image">
|
||||
<img src="{{ getImage .Person.Image }}" alt="{{ .Person.Name }}'s image">
|
||||
</figure>
|
||||
<div class="presentation__information">
|
||||
<h2>{{ .Person.Name }}</h2>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue