Add a way to merge pages by language

As an example:

```html
{{ $pages := .Site.RegularPages | lang.Merge $frSite.RegularPages | lang.Merge $enSite.RegularPages }}
```

Will "fill in the gaps" in the current site with, from left to right, content from the French site, and lastly the English.

Fixes #4463
This commit is contained in:
Bjørn Erik Pedersen
2018-03-15 09:37:30 +01:00
parent 91fb8f1b59
commit ffaec4ca8c
13 changed files with 571 additions and 45 deletions

View File

@@ -15,9 +15,12 @@ package hugolib
import (
"bytes"
"fmt"
"errors"
jww "github.com/spf13/jwalterweatherman"
"github.com/fsnotify/fsnotify"
"github.com/gohugoio/hugo/helpers"
)
@@ -71,6 +74,11 @@ func (h *HugoSites) Build(config BuildCfg, events ...fsnotify.Event) error {
h.Log.FEEDBACK.Println()
}
errorCount := h.Log.LogCountForLevel(jww.LevelError)
if errorCount > 0 {
return fmt.Errorf("logged %d error(s)", errorCount)
}
return nil
}