From 879cc25421c66a959ab801f0937b4264a461fc7e Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Thu, 27 Jun 2024 13:34:21 +0200 Subject: use pointer to config in builder & templates --- internal/builder/builder.go | 17 ++++++++++------- internal/builder/template.go | 4 ++-- 2 files changed, 12 insertions(+), 9 deletions(-) (limited to 'internal/builder') diff --git a/internal/builder/builder.go b/internal/builder/builder.go index 4436151..177fa2f 100644 --- a/internal/builder/builder.go +++ b/internal/builder/builder.go @@ -86,7 +86,7 @@ func writerToFile(writer io.WriterTo, pathParts ...string) error { return nil } -func build(outDir string, config config.Config) (*Result, error) { +func build(outDir string, config *config.Config) (*Result, error) { log.Debug("output", "dir", outDir) r := &Result{ Hashes: make([]string, 0), @@ -252,16 +252,19 @@ func build(outDir string, config config.Config) (*Result, error) { return r, nil } -func BuildSite(ioConfig IOConfig) (*Result, error) { - config, err := config.GetConfig() - if err != nil { - return nil, errors.WithMessage(err, "could not get config") +func BuildSite(ioConfig IOConfig, cfg *config.Config) (*Result, error) { + if cfg == nil { + var err error + cfg, err = config.GetConfig() + if err != nil { + return nil, errors.WithMessage(err, "could not get config") + } } - config.InjectLiveReload = ioConfig.Development + cfg.InjectLiveReload = ioConfig.Development compressFiles = !ioConfig.Development templates.Setup() loadCSS() - return build(ioConfig.Destination, *config) + return build(ioConfig.Destination, cfg) } diff --git a/internal/builder/template.go b/internal/builder/template.go index da45fb7..d46844d 100644 --- a/internal/builder/template.go +++ b/internal/builder/template.go @@ -66,7 +66,7 @@ func (q *QueryDocument) Find(selector string) *QuerySelection { return &QuerySelection{q.Document.Find(selector)} } -func renderRobotsTXT(config config.Config) (io.Reader, error) { +func renderRobotsTXT(config *config.Config) (io.Reader, error) { r, w := io.Pipe() tpl, err := template.ParseFiles("templates/robots.tmpl") if err != nil { @@ -87,7 +87,7 @@ func renderRobotsTXT(config config.Config) (io.Reader, error) { func renderFeed( title string, - config config.Config, + config *config.Config, posts []content.Post, specific string, ) (io.Reader, error) { -- cgit 1.4.1