diff options
Diffstat (limited to 'internal/builder/builder.go')
-rw-r--r-- | internal/builder/builder.go | 21 |
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) } |