summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2024-02-01 08:18:11 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2024-02-01 08:18:11 +0100
commit1891d5e6b5575e3abb7e0f80c3fbce1670f9bd5e (patch)
tree48ff8aa0174826fcc248404a3c6303a3ff710773
parent156f08de351a3148f59fd010930d33d5ffaabf43 (diff)
hugolib: Add some more details to the "paginator not supported" error
See #11949
-rw-r--r--hugolib/page.go8
-rw-r--r--hugolib/page__output.go2
-rw-r--r--hugolib/paginator_test.go2
3 files changed, 10 insertions, 2 deletions
diff --git a/hugolib/page.go b/hugolib/page.go
index 822b7c021..10ecdcad2 100644
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -553,6 +553,14 @@ func (p *pageState) wrapError(err error) error {
return p.m.wrapError(err, p.s.h.SourceFs)
}
+func (p *pageState) getPageInfoForError() string {
+ s := fmt.Sprintf("kind: %q, path: %q", p.Kind(), p.Path())
+ if p.File() != nil {
+ s += fmt.Sprintf(", file: %q", p.File().Filename())
+ }
+ return s
+}
+
func (p *pageState) getContentConverter() converter.Converter {
var err error
p.contentConverterInit.Do(func() {
diff --git a/hugolib/page__output.go b/hugolib/page__output.go
index 02956e87c..9050766d1 100644
--- a/hugolib/page__output.go
+++ b/hugolib/page__output.go
@@ -47,7 +47,7 @@ func newPageOutput(
paginatorProvider = pag
} else {
paginatorProvider = page.PaginatorNotSupportedFunc(func() error {
- return fmt.Errorf("pagination not supported for pages of kind %q", ps.Kind())
+ return fmt.Errorf("pagination not supported for this page: %s", ps.getPageInfoForError())
})
}
diff --git a/hugolib/paginator_test.go b/hugolib/paginator_test.go
index 919f532ca..8075c0a5a 100644
--- a/hugolib/paginator_test.go
+++ b/hugolib/paginator_test.go
@@ -168,5 +168,5 @@ Paginator: {{ .Paginator }}
`
b, err := TestE(t, files)
b.Assert(err, qt.IsNotNil)
- b.Assert(err.Error(), qt.Contains, `error calling Paginator: pagination not supported for pages of kind "page"`)
+ b.Assert(err.Error(), qt.Contains, `error calling Paginator: pagination not supported for this page: kind: "page", path: "/p1", file: `+filepath.FromSlash(`"/content/p1.md"`))
}