diff --git a/README.md b/README.md index ade5630f76373e291c6f0a1ff9af0cd5d8c5080b..77aaad8492f7d8a2f3a9fa55b30daa5355e8d8f8 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ My [personal website](https://jolheiser.com). Uses [tailwind](https://tailwindcss.com/) (with [catppuccin btw](https://github.com/catppuccin/tailwindcss)) and [templ](https://github.com/a-h/templ) as a simple static page generator. -Links are sourced from [links.jsonnet](links.jsonnet). +Links are sourced from [links.yaml](links.yaml). ## Dev diff --git a/go.mod b/go.mod index 6fdac75d56847e20cd8856eba258905882139e5c..b7fb607b96ed107a9de88c40fbfce3a0c857a05c 100644 --- a/go.mod +++ b/go.mod @@ -5,10 +5,5 @@ require ( git.jojodev.com/jolheiser/simpleicons v0.0.3 github.com/a-h/templ v0.2.778 - github.com/google/go-jsonnet v0.20.0 -) - -require ( - gopkg.in/yaml.v2 v2.2.7 // indirect - sigs.k8s.io/yaml v1.1.0 // indirect + gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.mod.sri b/go.mod.sri index ac7c6efe8b49f46c1bdb25e6f2bcc2024896ea76..0d33c4f4bea34299bce53af21a16581b76ebfde5 100644 --- a/go.mod.sri +++ b/go.mod.sri @@ -1 +1 @@ -sha256-LCjIObTQdTuKwkM+0DESmaC5gWlbX8rGQkL1hn6Iy8Q= \ No newline at end of file +sha256-EQclwPNQJxVv2sU5zBoeHjVIbezj7irqLVmoo2c/u5I= \ No newline at end of file diff --git a/go.sum b/go.sum index 58ab33e95c25fa0c8226165c68643ffb18ce76a9..662b7c7c6968a086f93d7cfd2c8b2db42a940cd9 100644 --- a/go.sum +++ b/go.sum @@ -4,13 +4,7 @@ github.com/a-h/templ v0.2.778 h1:VzhOuvWECrwOec4790lcLlZpP4Iptt5Q4K9aFxQmtaM= github.com/a-h/templ v0.2.778/go.mod h1:lq48JXoUvuQrU0VThrK31yFwdRjTCnIE5bcPCM9IP1w= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-jsonnet v0.20.0 h1:WG4TTSARuV7bSm4PMB4ohjxe33IHT5WVTrJSU33uT4g= -github.com/google/go-jsonnet v0.20.0/go.mod h1:VbgWF9JX7ztlv770x/TolZNGGFfiHEVx9G6ca2eUmeA= -github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo= -gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/links.jsonnet b/links.jsonnet deleted file mode 100644 index 2111fd9118471bfca6d45969a9b536c16350c035..0000000000000000000000000000000000000000 --- a/links.jsonnet +++ /dev/null @@ -1,17 +0,0 @@ -local Link(name, url, icon=std.asciiLower(name)) = { - icon: icon, - name: name, - url: url, -}; - -{ - links: [ - Link('Git', 'https://git.jolheiser.com'), - Link('GitHub', 'https://github.com/jolheiser'), - Link('Gitea', 'https://gitea.com/jolheiser'), - Link('JoJoDev', 'https://git.jojodev.com/jolheiser', 'gitea'), - Link('Fediverse', 'https://social.jolheiser.com/@jolheiser', 'activitypub'), - Link('Bluesky', 'https://bsky.app/profile/jolheiser.com'), - Link('LinkedIn', 'https://linkedin.com/in/jolheiser'), - ], -} diff --git a/links.yaml b/links.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e8d60a91f80ab7d119b8cd6b389e46b934f1f68d --- /dev/null +++ b/links.yaml @@ -0,0 +1,19 @@ +links: + - name: GitHub + url: https://github.com/jolheiser + icon: github + - name: Gitea + url: https://gitea.com/jolheiser + icon: gitea + - name: JoJoDev + url: https://git.jojodev.com/jolheiser + icon: gitea + - name: Fediverse + url: https://social.jolheiser.com/@jolheiser + icon: activitypub + - name: Bluesky + url: https://bsky.app/profile/jolheiser.com + icon: bluesky + - name: LinkedIn + url: https://linkedin.com/in/jolheiser + icon: linkedin diff --git a/main.go b/main.go index 05aa439e889bb65d9f4e3bb317b46346070d48ba..c0f8095001dd7b00c2abef122d27a1822d06aab7 100644 --- a/main.go +++ b/main.go @@ -2,17 +2,18 @@ package main import ( "context" - "encoding/json" + "io" "os" "git.jojodev.com/jolheiser/simpleicons" - "github.com/google/go-jsonnet" + "github.com/a-h/templ" + "gopkg.in/yaml.v3" ) type Link struct { - Name string `json:"name"` - URL string `json:"url"` - IconName string `json:"icon"` + Name string `yaml:"name"` + URL string `yaml:"url"` + IconName string `yaml:"icon"` } func (l Link) Icon() simpleicons.Icon { @@ -30,15 +31,15 @@ //go:generate go run . //go:generate tailwind-ctp -i ./dist/styles.css -o ./dist/styles.css --minify func main() { var links struct { - Links []Link `json:"links"` + Links []Link `yaml:"links"` } - vm := jsonnet.MakeVM() - data, err := vm.EvaluateFile("links.jsonnet") + fi, err := os.Open("links.yaml") if err != nil { panic(err) } - if err := json.Unmarshal([]byte(data), &links); err != nil { + defer fi.Close() + if err := yaml.NewDecoder(fi).Decode(&links); err != nil { panic(err) } @@ -66,3 +67,10 @@ if _, err := css.WriteString(tailwindCSS); err != nil { panic(err) } } + +func SafeHTML(html string) templ.Component { + return templ.ComponentFunc(func(ctx context.Context, w io.Writer) (err error) { + _, err = io.WriteString(w, html) + return + }) +}