about summary refs log tree commit diff stats
path: root/internal
diff options
context:
space:
mode:
authorAlan Pearce2024-06-27 13:34:21 +0200
committerAlan Pearce2024-06-27 13:34:21 +0200
commit879cc25421c66a959ab801f0937b4264a461fc7e (patch)
tree29141c22ef84cfc36ba74302b14546c21dbef199 /internal
parentd07ec650aafcfe4692bba8f481bc3cb8204cd4b0 (diff)
downloadwebsite-879cc25421c66a959ab801f0937b4264a461fc7e.tar.lz
website-879cc25421c66a959ab801f0937b4264a461fc7e.tar.zst
website-879cc25421c66a959ab801f0937b4264a461fc7e.zip
use pointer to config in builder & templates
Diffstat (limited to 'internal')
-rw-r--r--internal/atom/atom.go2
-rw-r--r--internal/builder/builder.go17
-rw-r--r--internal/builder/template.go4
-rw-r--r--internal/server/server.go2
-rw-r--r--internal/sitemap/sitemap.go4
-rw-r--r--internal/website/mux.go2
6 files changed, 17 insertions, 14 deletions
diff --git a/internal/atom/atom.go b/internal/atom/atom.go
index a5965a4..19ad0d1 100644
--- a/internal/atom/atom.go
+++ b/internal/atom/atom.go
@@ -7,7 +7,7 @@ import (
 	"website/internal/config"
 )
 
-func MakeTagURI(config config.Config, specific string) string {
+func MakeTagURI(config *config.Config, specific string) string {
 	return "tag:" + config.OriginalDomain + "," + config.DomainStartDate + ":" + specific
 }
 
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) {
diff --git a/internal/server/server.go b/internal/server/server.go
index 00cc022..469485f 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -108,7 +108,7 @@ func serverHeaderHandler(wrappedHandler http.Handler) http.Handler {
 }
 
 func rebuild(builderConfig builder.IOConfig, config *cfg.Config) error {
-	r, err := builder.BuildSite(builderConfig)
+	r, err := builder.BuildSite(builderConfig, config)
 	if err != nil {
 		return errors.WithMessage(err, "could not build site")
 	}
diff --git a/internal/sitemap/sitemap.go b/internal/sitemap/sitemap.go
index a38e277..a45ebd9 100644
--- a/internal/sitemap/sitemap.go
+++ b/internal/sitemap/sitemap.go
@@ -13,9 +13,9 @@ type Sitemap struct {
 	Sitemap *sitemap.Sitemap
 }
 
-func New(cfg config.Config) *Sitemap {
+func New(cfg *config.Config) *Sitemap {
 	return &Sitemap{
-		config:  &cfg,
+		config:  cfg,
 		Sitemap: sitemap.New(),
 	}
 }
diff --git a/internal/website/mux.go b/internal/website/mux.go
index c286903..c125561 100644
--- a/internal/website/mux.go
+++ b/internal/website/mux.go
@@ -50,7 +50,7 @@ func (fn WrappedWebHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
 	if err := fn.handler(w, r); err != nil {
 		if strings.Contains(r.Header.Get("Accept"), "text/html") {
 			w.WriteHeader(err.Code)
-			err := templates.Error(*fn.config, r.URL.Path, err).Render(r.Context(), w)
+			err := templates.Error(fn.config, r.URL.Path, err).Render(r.Context(), w)
 			if err != nil {
 				http.Error(w, err.Error(), http.StatusInternalServerError)
 			}