all repos — homestead @ e4e8173ab6124daa84ef012e73c111f111d4a8cf

Code for my website

refactor: make templates take a more specific struct

Alan Pearce
commit

e4e8173ab6124daa84ef012e73c111f111d4a8cf

parent

a9f47f4e4ed3223e86dc1d5c3edd005b8d9ce589

1 file changed, 16 insertions(+), 6 deletions(-)

changed files
M internal/builder/builder.gointernal/builder/builder.go
@@ -68,6 +68,12 @@ buf := new(buffer.Buffer)
joinSource := joinSourcePath(options.Source) storage := options.Storage postDir := "post" + siteSettings := templates.SiteSettings{ + Title: config.Title, + DefaultLanguage: config.DefaultLanguage, + Menu: config.Menus["main"], + InjectLiveReload: config.InjectLiveReload, + } log.Debug("reading posts", "source", options.Source) cc, err := content.NewContentCollection(&content.Config{
@@ -89,7 +95,7 @@ for _, post := range cc.Posts {
log.Debug("rendering post", "post", post.Basename) sitemap.AddPath(post.URL, post.Date) buf.Reset() - if err := templates.PostPage(config, post).Render(ctx, buf); err != nil { + if err := templates.PostPage(siteSettings, post).Render(ctx, buf); err != nil { return errors.WithMessage(err, "could not render post") }
@@ -100,7 +106,7 @@ }
log.Debug("rendering tags list") buf.Reset() - if err := templates.TagsPage(config, "tags", mapset.Sorted(cc.Tags), "/tags").Render(ctx, buf); err != nil { + if err := templates.TagsPage(siteSettings, "tags", mapset.Sorted(cc.Tags), "/tags").Render(ctx, buf); err != nil { return errors.WithStack(err) } if err := storage.Write("/tags/", "Tags", buf); err != nil {
@@ -118,7 +124,7 @@ }
log.Debug("rendering tags page", "tag", tag) url := path.Join("/tags", tag) + "/" buf.Reset() - if err := templates.TagPage(config, tag, matchingPosts, url).Render(ctx, buf); err != nil { + if err := templates.TagPage(siteSettings, tag, matchingPosts, url).Render(ctx, buf); err != nil { return errors.WithStack(err) } if err = storage.Write(url, tag, buf); err != nil {
@@ -148,7 +154,7 @@ }
log.Debug("rendering list page") buf.Reset() - if err := templates.ListPage(config, cc.Posts, path.Join("/", postDir)).Render(ctx, buf); err != nil { + if err := templates.ListPage(siteSettings, cc.Posts, path.Join("/", postDir)).Render(ctx, buf); err != nil { return errors.WithStack(err) } if err := storage.Write(path.Join("/", postDir)+"/", "Posts", buf); err != nil {
@@ -184,11 +190,15 @@ for _, post := range cc.Pages {
buf.Reset() log.Debug("rendering page", "source", post.Input, "path", post.URL) if post.URL == "/" { - if err := templates.Homepage(config, cc.Posts, post).Render(ctx, buf); err != nil { + if err := templates.Homepage(siteSettings, templates.HomepageVars{ + Email: config.Email, + Me: config.Menus["me"], + Posts: cc.Posts, + }, post).Render(ctx, buf); err != nil { return errors.WithStack(err) } } else { - if err := templates.Page(config, post).Render(ctx, buf); err != nil { + if err := templates.Page(siteSettings, post).Render(ctx, buf); err != nil { return errors.WithStack(err) } }