mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-28 22:19:59 +02:00
Fix some server rebuild issues for non-HTML custom output formats
The failing test case here is * A custom search output format defined on the home page, marked as `noAlternative` and not `permalinkable` * In fast render mode, when making a change to a data source for that search output format, the JSON file was not refreshed. There are variants of the above, but the gist of it is: * The change set was correctly determined, but since the search JSON file was not in the recently visited browser stack, we skipped rendering it. Running with `hugo server --disableFastRender` would be a workaround for the above. This commit fixes this by: * Adding a check for the HTTP request header `Sec-Fetch-Mode = navigation` to the condition for if we should track server request as a user navigation (and not e.g. a HTTP request for a linked CSS stylesheet). * Making sure that we compare against the real relative URL for non-permalinkable output formats. Fixes #13014
This commit is contained in:
@@ -341,7 +341,7 @@ func (h *HugoSites) render(l logg.LevelLogger, config *BuildCfg) error {
|
||||
loggers.TimeTrackf(l, start, h.buildCounters.loggFields(), "")
|
||||
}()
|
||||
|
||||
siteRenderContext := &siteRenderContext{cfg: config, multihost: h.Configs.IsMultihost}
|
||||
siteRenderContext := &siteRenderContext{cfg: config, infol: l, multihost: h.Configs.IsMultihost}
|
||||
|
||||
renderErr := func(err error) error {
|
||||
if err == nil {
|
||||
@@ -902,12 +902,12 @@ func (h *HugoSites) processPartialFileEvents(ctx context.Context, l logg.LevelLo
|
||||
|
||||
needsPagesAssemble = true
|
||||
|
||||
if config.RecentlyVisited != nil {
|
||||
if config.RecentlyTouched != nil {
|
||||
// Fast render mode. Adding them to the visited queue
|
||||
// avoids rerendering them on navigation.
|
||||
for _, id := range changes {
|
||||
if p, ok := id.(page.Page); ok {
|
||||
config.RecentlyVisited.Add(p.RelPermalink())
|
||||
config.RecentlyTouched.Add(p.RelPermalink())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user