diff options
author | Alan Pearce | 2024-04-25 12:49:10 +0200 |
---|---|---|
committer | Alan Pearce | 2024-04-25 12:49:10 +0200 |
commit | f94882b9001f3b0855e26b26b4a84b96e3deb22b (patch) | |
tree | 12acd2904fcd5d90556ed4aeb78bef4fb4f21620 | |
parent | e1524c7db6634f9b7c7d2a6073a997a5433594ea (diff) | |
download | website-f94882b9001f3b0855e26b26b4a84b96e3deb22b.tar.lz website-f94882b9001f3b0855e26b26b4a84b96e3deb22b.tar.zst website-f94882b9001f3b0855e26b26b4a84b96e3deb22b.zip |
re-organise module layout
-rw-r--r-- | cmd/build/main.go | 6 | ||||
-rw-r--r-- | cmd/server/main.go | 15 | ||||
-rw-r--r-- | internal/builder/builder.go (renamed from cmd/build/build.go) | 16 | ||||
-rw-r--r-- | internal/builder/posts.go (renamed from cmd/build/posts.go) | 2 | ||||
-rw-r--r-- | internal/builder/template.go (renamed from cmd/build/template.go) | 2 | ||||
-rw-r--r-- | internal/server/filemap.go (renamed from cmd/server/filemap.go) | 2 | ||||
-rw-r--r-- | internal/server/logging.go (renamed from cmd/server/logging.go) | 2 | ||||
-rw-r--r-- | internal/server/server.go (renamed from cmd/server/server.go) | 12 |
8 files changed, 30 insertions, 27 deletions
diff --git a/cmd/build/main.go b/cmd/build/main.go index 9b6a79b..c619f38 100644 --- a/cmd/build/main.go +++ b/cmd/build/main.go @@ -7,6 +7,8 @@ import ( "log/slog" "os" + "website/internal/builder" + "github.com/BurntSushi/toml" "github.com/ardanlabs/conf/v3" "github.com/pkg/errors" @@ -18,7 +20,7 @@ func main() { } slog.Debug("starting build process") - ioConfig := IOConfig{} + ioConfig := builder.IOConfig{} if help, err := conf.Parse("", &ioConfig); err != nil { if errors.Is(err, conf.ErrHelpWanted) { fmt.Println(help) @@ -34,7 +36,7 @@ func main() { } } - if err := buildSite(ioConfig); err != nil { + if err := builder.BuildSite(ioConfig); err != nil { switch cause := errors.Cause(err).(type) { case *fs.PathError: slog.Info("pathError") diff --git a/cmd/server/main.go b/cmd/server/main.go index 9fb9f14..f9be765 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -5,26 +5,19 @@ import ( "log" "log/slog" "os" - cfg "website/internal/config" + + "website/internal/server" "github.com/ardanlabs/conf/v3" "github.com/pkg/errors" ) -type Config struct { - Production bool `conf:"default:false"` - ListenAddress string `conf:"default:localhost"` - Port uint16 `conf:"default:3000,short:p"` - BaseURL cfg.URL `conf:"default:http://localhost:3000,short:b"` - RedirectOtherHostnames bool `conf:"default:false"` -} - func main() { if os.Getenv("DEBUG") != "" { slog.SetLogLoggerLevel(slog.LevelDebug) } - runtimeConfig := Config{} + runtimeConfig := server.Config{} help, err := conf.Parse("", &runtimeConfig) if err != nil { if errors.Is(err, conf.ErrHelpWanted) { @@ -34,5 +27,5 @@ func main() { log.Panicf("parsing runtime configuration: %v", err) } - startServer(&runtimeConfig) + server.Start(&runtimeConfig) } diff --git a/cmd/build/build.go b/internal/builder/builder.go index 5daa940..dd34245 100644 --- a/cmd/build/build.go +++ b/internal/builder/builder.go @@ -1,4 +1,4 @@ -package main +package builder import ( "fmt" @@ -16,6 +16,12 @@ import ( "github.com/pkg/errors" ) +type IOConfig struct { + Source string `conf:"default:.,short:s"` + Destination string `conf:"default:website,short:d"` + BaseURL config.URL +} + func mkdirp(dirs ...string) error { return os.MkdirAll(path.Join(dirs...), 0755) } @@ -163,13 +169,7 @@ func build(outDir string, config config.Config) error { return nil } -type IOConfig struct { - Source string `conf:"default:.,short:s"` - Destination string `conf:"default:website,short:d"` - BaseURL config.URL -} - -func buildSite(ioConfig IOConfig) error { +func BuildSite(ioConfig IOConfig) error { config, err := config.GetConfig() if err != nil { log.Panic(errors.Errorf("could not get config: %v", err)) diff --git a/cmd/build/posts.go b/internal/builder/posts.go index f03caf3..223531b 100644 --- a/cmd/build/posts.go +++ b/internal/builder/posts.go @@ -1,4 +1,4 @@ -package main +package builder import ( "bytes" diff --git a/cmd/build/template.go b/internal/builder/template.go index 32f408f..07ea0da 100644 --- a/cmd/build/template.go +++ b/internal/builder/template.go @@ -1,4 +1,4 @@ -package main +package builder import ( "encoding/xml" diff --git a/cmd/server/filemap.go b/internal/server/filemap.go index 5f7e1bb..466db49 100644 --- a/cmd/server/filemap.go +++ b/internal/server/filemap.go @@ -1,4 +1,4 @@ -package main +package server import ( "fmt" diff --git a/cmd/server/logging.go b/internal/server/logging.go index 601baab..135f06e 100644 --- a/cmd/server/logging.go +++ b/internal/server/logging.go @@ -1,4 +1,4 @@ -package main +package server import ( "fmt" diff --git a/cmd/server/server.go b/internal/server/server.go index 10144bb..5d45de2 100644 --- a/cmd/server/server.go +++ b/internal/server/server.go @@ -1,4 +1,4 @@ -package main +package server import ( "fmt" @@ -23,6 +23,14 @@ var Commit string var config *cfg.Config +type Config struct { + Production bool `conf:"default:false"` + ListenAddress string `conf:"default:localhost"` + Port uint16 `conf:"default:3000,short:p"` + BaseURL cfg.URL `conf:"default:http://localhost:3000,short:b"` + RedirectOtherHostnames bool `conf:"default:false"` +} + type HTTPError struct { Error error Message string @@ -95,7 +103,7 @@ func fixupMIMETypes() { } } -func startServer(runtimeConfig *Config) { +func Start(runtimeConfig *Config) { fixupMIMETypes() c, err := cfg.GetConfig() |