summary refs log tree commit diff stats
path: root/internal/builder/builder.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/builder/builder.go')
-rw-r--r--internal/builder/builder.go21
1 files changed, 10 insertions, 11 deletions
diff --git a/internal/builder/builder.go b/internal/builder/builder.go
index 266ce56..14bbb77 100644
--- a/internal/builder/builder.go
+++ b/internal/builder/builder.go
@@ -2,6 +2,7 @@ package builder
 
 import (
 	"context"
+	"database/sql"
 	"fmt"
 	"io"
 	"io/fs"
@@ -24,11 +25,10 @@ import (
 	"gitlab.com/tozd/go/errors"
 )
 
-type IOConfig struct {
+type Options struct {
 	Source      string `conf:"default:.,short:s,flag:src"`
-	Destination string `conf:"default:public,short:d,flag:dest"`
-	DBPath      string `conf:"default:site.db,flag:db"`
 	Development bool   `conf:"default:false,flag:dev"`
+	DB          *sql.DB
 }
 
 type Result struct {
@@ -75,7 +75,7 @@ func copyRecursive(storage storage.Writer, src string) error {
 
 func build(
 	storage storage.Writer,
-	ioConfig *IOConfig,
+	ioConfig *Options,
 	config *config.Config,
 	log *log.Logger,
 ) (*Result, error) {
@@ -83,7 +83,6 @@ func build(
 	buf := new(buffer.Buffer)
 	joinSource := joinSourcePath(ioConfig.Source)
 
-	log.Debug("output", "dir", ioConfig.Destination)
 	r := &Result{
 		Hashes: make([]string, 0),
 	}
@@ -259,22 +258,22 @@ func build(
 	return r, nil
 }
 
-func BuildSite(ioConfig *IOConfig, cfg *config.Config, log *log.Logger) (*Result, error) {
+func BuildSite(options *Options, cfg *config.Config, log *log.Logger) (*Result, error) {
 	if cfg == nil {
 		return nil, errors.New("config is nil")
 	}
-	cfg.InjectLiveReload = ioConfig.Development
+	cfg.InjectLiveReload = options.Development
 
 	templates.Setup()
-	loadCSS(ioConfig.Source)
+	loadCSS(options.Source)
 
 	var storage storage.Writer
-	storage, err := sqlite.NewWriter(ioConfig.DBPath, log, &sqlite.Options{
-		Compress: !ioConfig.Development,
+	storage, err := sqlite.NewWriter(options.DB, log, &sqlite.Options{
+		Compress: !options.Development,
 	})
 	if err != nil {
 		return nil, errors.WithMessage(err, "could not create storage")
 	}
 
-	return build(storage, ioConfig, cfg, log)
+	return build(storage, options, cfg, log)
 }