From 2d74d8afc321cf84fd5710314bfa6a9ff3c10a32 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Mon, 10 Mar 2025 10:56:47 +0100 Subject: refactor(pages): use html instead of json to render legal --- data.go | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'data.go') diff --git a/data.go b/data.go index 140f914..8c134b1 100644 --- a/data.go +++ b/data.go @@ -34,7 +34,7 @@ type Config struct { Person *Person `json:"person" toml:"person"` Color *Color `json:"colors" toml:"colors"` Links []*Link `json:"links" toml:"links"` - Legal *Legal `json:"legal" toml:"legal"` + Legal string `json:"legal" toml:"legal"` CustomPages []string `json:"custom_pages" toml:"custom_pages"` } @@ -79,12 +79,6 @@ type Link struct { Content string `json:"content" toml:"content"` } -type Legal struct { - LegalInformationLink string `json:"legal_information_link" toml:"legal_information_link"` - ImagesSource []string `json:"images_source" toml:"images_source"` - FontSource string `json:"font_source" toml:"font_source"` -} - func (c *Config) GetBackground() template.CSS { return c.Color.GetBackground() } @@ -142,6 +136,19 @@ func (c *Config) LoadCustomPages() ([]*CustomPage, error) { return pages, nil } +var legalContent template.HTML + +func (c *Config) GetLegal() (template.HTML, error) { + if legalContent == "" { + b, err := os.ReadFile(c.Legal) + if err != nil { + return "", err + } + legalContent = template.HTML(b) + } + return legalContent, nil +} + func (t *Color) GetTextColor() template.CSS { return template.CSS("--text-color: " + t.Text + ";") } -- cgit v1.2.3