shithub: hugo

Download patch

ref: a451c49fde1da6e2cc436a2b7d383ee772b1f893
parent: ff16c42ed0965e1c8acf6e6a6dcda3ea50c107f2
author: Bjørn Erik Pedersen <[email protected]>
date: Thu Jul 19 19:02:33 EDT 2018

hugolib: Print a WARNING about relative non-relative ref/relref matches

Fixes #4973

--- a/hugolib/page_collections.go
+++ b/hugolib/page_collections.go
@@ -20,6 +20,7 @@
 	"strings"
 
 	"github.com/gohugoio/hugo/cache"
+	"github.com/gohugoio/hugo/helpers"
 )
 
 // PageCollections contains the page collections for a site.
@@ -215,6 +216,10 @@
 	if !strings.HasPrefix(ref, "/") {
 		// Many people will have "post/foo.md" in their content files.
 		if p, err := c.getFromCache("/" + ref); err == nil && p != nil {
+			if context != nil {
+				// TODO(bep) remove this case and the message below when the storm has passed
+				helpers.DistinctFeedbackLog.Printf(`WARNING: make non-relative ref/relref page reference(s) in page %q absolute, e.g. {{< ref "/blog/my-post.md" >}}`, context.absoluteSourceRef())
+			}
 			return p, nil
 		}
 	}
@@ -225,7 +230,7 @@
 
 	if err != nil {
 		if context != nil {
-			return nil, fmt.Errorf("failed to resolve page relative to page %q: %s", context.absoluteSourceRef(), err)
+			return nil, fmt.Errorf("failed to resolve path from page %q: %s", context.absoluteSourceRef(), err)
 		}
 		return nil, fmt.Errorf("failed to resolve page: %s", err)
 	}