hugolib: Display server address after each rebuild

Closes #12359
This commit is contained in:
Joe Mooring 2024-04-13 09:22:19 -07:00 committed by Bjørn Erik Pedersen
parent a6e8439176
commit 09eb822822
3 changed files with 21 additions and 6 deletions

View file

@ -237,9 +237,8 @@ func (f *fileServer) createEndpoint(i int) (*http.ServeMux, net.Listener, string
listener := f.c.serverPorts[i].ln listener := f.c.serverPorts[i].ln
logger := f.c.r.logger logger := f.c.r.logger
r.Printf("Environment: %q\n", f.c.hugoTry().Deps.Site.Hugo().Environment)
if i == 0 { if i == 0 {
r.Printf("Environment: %q\n", f.c.hugoTry().Deps.Site.Hugo().Environment)
mainTarget := "disk" mainTarget := "disk"
if f.c.r.renderToMemory { if f.c.r.renderToMemory {
mainTarget = "memory" mainTarget = "memory"
@ -569,7 +568,7 @@ func (c *serverCommand) PreRun(cd, runner *simplecobra.Commandeer) error {
} }
} }
if err := c.setBaseURLsInConfig(); err != nil { if err := c.setServerInfoInConfig(); err != nil {
return err return err
} }
@ -614,7 +613,7 @@ func (c *serverCommand) PreRun(cd, runner *simplecobra.Commandeer) error {
return nil return nil
} }
func (c *serverCommand) setBaseURLsInConfig() error { func (c *serverCommand) setServerInfoInConfig() error {
if len(c.serverPorts) == 0 { if len(c.serverPorts) == 0 {
panic("no server ports set") panic("no server ports set")
} }
@ -641,7 +640,8 @@ func (c *serverCommand) setBaseURLsInConfig() error {
if c.liveReloadPort != -1 { if c.liveReloadPort != -1 {
baseURLLiveReload, _ = baseURLLiveReload.WithPort(c.liveReloadPort) baseURLLiveReload, _ = baseURLLiveReload.WithPort(c.liveReloadPort)
} }
langConfig.C.SetBaseURL(baseURL, baseURLLiveReload) langConfig.C.SetServerInfo(baseURL, baseURLLiveReload, c.serverInterface)
} }
return nil return nil
}) })

View file

@ -400,6 +400,7 @@ type ConfigCompiled struct {
Timeout time.Duration Timeout time.Duration
BaseURL urls.BaseURL BaseURL urls.BaseURL
BaseURLLiveReload urls.BaseURL BaseURLLiveReload urls.BaseURL
ServerInterface string
KindOutputFormats map[string]output.Formats KindOutputFormats map[string]output.Formats
DisabledKinds map[string]bool DisabledKinds map[string]bool
DisabledLanguages map[string]bool DisabledLanguages map[string]bool
@ -434,9 +435,10 @@ func (c *ConfigCompiled) IsMainSectionsSet() bool {
} }
// This is set after the config is compiled by the server command. // This is set after the config is compiled by the server command.
func (c *ConfigCompiled) SetBaseURL(baseURL, baseURLLiveReload urls.BaseURL) { func (c *ConfigCompiled) SetServerInfo(baseURL, baseURLLiveReload urls.BaseURL, serverInterface string) {
c.BaseURL = baseURL c.BaseURL = baseURL
c.BaseURLLiveReload = baseURLLiveReload c.BaseURLLiveReload = baseURLLiveReload
c.ServerInterface = serverInterface
} }
// RootConfig holds all the top-level configuration options in Hugo // RootConfig holds all the top-level configuration options in Hugo

View file

@ -919,9 +919,22 @@ func (h *HugoSites) processPartial(ctx context.Context, l logg.LevelLogger, conf
} }
} }
h.logServerAddresses()
return nil return nil
} }
func (h *HugoSites) logServerAddresses() {
if h.hugoInfo.IsMultihost() {
for _, s := range h.Sites {
h.Log.Printf("Web Server is available at %s (bind address %s) %s\n", s.conf.C.BaseURL, s.conf.C.ServerInterface, s.Language().Lang)
}
} else {
s := h.Sites[0]
h.Log.Printf("Web Server is available at %s (bind address %s)\n", s.conf.C.BaseURL, s.conf.C.ServerInterface)
}
}
func (h *HugoSites) processFull(ctx context.Context, l logg.LevelLogger, config BuildCfg) (err error) { func (h *HugoSites) processFull(ctx context.Context, l logg.LevelLogger, config BuildCfg) (err error) {
if err = h.processFiles(ctx, l, config); err != nil { if err = h.processFiles(ctx, l, config); err != nil {
err = fmt.Errorf("readAndProcessContent: %w", err) err = fmt.Errorf("readAndProcessContent: %w", err)