feat: implement hero section using Pkl

This commit is contained in:
Prad Nukala
2024-09-30 21:16:13 -04:00
parent 3e9139bd58
commit 5f2e6c5dd4
14 changed files with 189 additions and 107 deletions
+12
View File
@@ -0,0 +1,12 @@
// Code generated from Pkl module `models`. DO NOT EDIT.
package models
type Footer struct {
Logo *Image `pkl:"logo"`
SocialLinks []*SocialLink `pkl:"socialLinks"`
CompanyLinks []*Link `pkl:"companyLinks"`
ResourcesLinks []*Link `pkl:"resourcesLinks"`
}
+2 -2
View File
@@ -4,7 +4,7 @@ package models
type Image struct {
Src string `pkl:"src"`
Width int `pkl:"width"`
Width string `pkl:"width"`
Height int `pkl:"height"`
Height string `pkl:"height"`
}
+1 -16
View File
@@ -8,6 +8,7 @@ import (
)
type Models struct {
Hero *Hero `pkl:"hero"`
}
// LoadFromPath loads the pkl module at the given path and evaluates it into a Models
@@ -26,22 +27,6 @@ func LoadFromPath(ctx context.Context, path string) (ret *Models, err error) {
return ret, err
}
// LoadFromURL loads the pkl module at the given URL and evaluates it into a Models
func LoadFromURL(ctx context.Context, url string) (ret *Models, err error) {
evaluator, err := pkl.NewEvaluator(ctx, pkl.PreconfiguredOptions)
if err != nil {
return nil, err
}
defer func() {
cerr := evaluator.Close()
if err == nil {
err = cerr
}
}()
ret, err = Load(ctx, evaluator, pkl.UriSource(url))
return ret, err
}
// Load loads the pkl module at the given source and evaluates it with the given evaluator into a Models
func Load(ctx context.Context, evaluator pkl.Evaluator, source *pkl.ModuleSource) (*Models, error) {
var ret Models
+35
View File
@@ -1 +1,36 @@
package models
import (
"context"
"errors"
"github.com/apple/pkl-go/pkl"
)
var models *Models
func LoadFromString(ctx context.Context, s string) (err error) {
evaluator, err := pkl.NewEvaluator(ctx, pkl.PreconfiguredOptions)
if err != nil {
return err
}
defer func() {
cerr := evaluator.Close()
if err == nil {
err = cerr
}
}()
ret, err := Load(ctx, evaluator, pkl.TextSource(s))
if err != nil {
return err
}
models = ret
return nil
}
func GetModels() (*Models, error) {
if models == nil {
return nil, errors.New("models not initialized")
}
return models, nil
}
+4 -3
View File
@@ -5,10 +5,11 @@ import "github.com/apple/pkl-go/pkl"
func init() {
pkl.RegisterMapping("models", Models{})
pkl.RegisterMapping("models#Hero", Hero{})
pkl.RegisterMapping("models#Button", Button{})
pkl.RegisterMapping("models#Image", Image{})
pkl.RegisterMapping("models#Stat", Stat{})
pkl.RegisterMapping("models#Link", Link{})
pkl.RegisterMapping("models#SocialLink", SocialLink{})
pkl.RegisterMapping("models#Button", Button{})
pkl.RegisterMapping("models#Stat", Stat{})
pkl.RegisterMapping("models#Hero", Hero{})
pkl.RegisterMapping("models#Footer", Footer{})
}
-1
View File
@@ -1 +0,0 @@
package models