]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
hugolib: Add some more details to the "paginator not supported" error
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 1 Feb 2024 07:18:11 +0000 (08:18 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 1 Feb 2024 07:18:11 +0000 (08:18 +0100)
See #11949

hugolib/page.go
hugolib/page__output.go
hugolib/paginator_test.go

index 822b7c021f4dfe7427d45b6d71fe45f1859a2cca..10ecdcad2b8c13dbefdf01900f7c88a5c5991ef6 100644 (file)
@@ -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() {
index 02956e87c6837816c9f042b68a2c428e74f23bdc..9050766d1d01592ed6b719adef24641a3fd13fb9 100644 (file)
@@ -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())
                })
        }
 
index 919f532cac819b63b96faed069139c46dfdb119c..8075c0a5a6c39ee04dcff64e97f2e05e372fc672 100644 (file)
@@ -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"`))
 }