re-organise everything
1 file changed, 10 insertions(+), 11 deletions(-)
changed files
M internal/builder/builder.go → internal/builder/builder.go
@@ -2,6 +2,7 @@ package builder import ( "context" + "database/sql" "fmt" "io" "io/fs"@@ -24,11 +25,10 @@ mapset "github.com/deckarep/golang-set/v2" "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 build( storage storage.Writer, - ioConfig *IOConfig, + ioConfig *Options, config *config.Config, log *log.Logger, ) (*Result, error) {@@ -83,7 +83,6 @@ ctx := context.TODO() buf := new(buffer.Buffer) joinSource := joinSourcePath(ioConfig.Source) - log.Debug("output", "dir", ioConfig.Destination) r := &Result{ Hashes: make([]string, 0), }@@ -259,22 +258,22 @@ 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) }