Repository: gohugoio/hugo
Pull request #11626 (2023-10-30 08:08:05)

Make site.BaseURL and $pager.URL a string
Was template.URL.



Patch:
diff --git a/hugolib/site_new.go b/hugolib/site_new.go
index 127b0e296..ac59e01c7 100644
--- a/hugolib/site_new.go
+++ b/hugolib/site_new.go
@@ -417,8 +417,8 @@ func (s *Site) Hugo() hugo.HugoInfo {
 }
 
 // Returns the BaseURL for this Site.
-func (s *Site) BaseURL() template.URL {
-	return template.URL(s.conf.C.BaseURL.WithPath)
+func (s *Site) BaseURL() string {
+	return s.conf.C.BaseURL.WithPath
 }
 
 // Returns the last modification date of the content.
diff --git a/resources/page/pagination.go b/resources/page/pagination.go
index a4605fa8e..9113b6062 100644
--- a/resources/page/pagination.go
+++ b/resources/page/pagination.go
@@ -16,7 +16,6 @@ package page
 import (
 	"errors"
 	"fmt"
-	"html/template"
 	"math"
 	"reflect"
 
@@ -71,8 +70,8 @@ func (p *Pager) PageNumber() int {
 }
 
 // URL returns the URL to the current page.
-func (p *Pager) URL() template.HTML {
-	return template.HTML(p.paginationURLFactory(p.PageNumber()))
+func (p *Pager) URL() string {
+	return p.paginationURLFactory(p.PageNumber())
 }
 
 // Pages returns the Pages on this page.
diff --git a/resources/page/site.go b/resources/page/site.go
index ba2759a06..0480ce674 100644
--- a/resources/page/site.go
+++ b/resources/page/site.go
@@ -82,7 +82,7 @@ type Site interface {
 	Hugo() hugo.HugoInfo
 
 	// Returns the BaseURL for this Site.
-	BaseURL() template.URL
+	BaseURL() string
 
 	// Returns a taxonomy map.
 	Taxonomies() TaxonomyList
@@ -172,6 +172,7 @@ func (s *siteWrapper) Social() map[string]string {
 func (s *siteWrapper) Author() map[string]interface{} {
 	return s.s.Author()
 }
+
 func (s *siteWrapper) Authors() AuthorList {
 	return AuthorList{}
 }
@@ -250,7 +251,7 @@ func (s *siteWrapper) Hugo() hugo.HugoInfo {
 	return s.s.Hugo()
 }
 
-func (s *siteWrapper) BaseURL() template.URL {
+func (s *siteWrapper) BaseURL() string {
 	return s.s.BaseURL()
 }
 
@@ -319,6 +320,7 @@ type testSite struct {
 func (s testSite) Author() map[string]interface{} {
 	return nil
 }
+
 func (s testSite) Authors() AuthorList {
 	return AuthorList{}
 }
@@ -421,7 +423,7 @@ func (t testSite) Taxonomies() TaxonomyList {
 	return nil
 }
 
-func (t testSite) BaseURL() template.URL {
+func (t testSite) BaseURL() string {
 	return ""
 }
 


Test patch:
diff --git a/resources/page/pagination_test.go b/resources/page/pagination_test.go
index 1e115d62b..487b36adb 100644
--- a/resources/page/pagination_test.go
+++ b/resources/page/pagination_test.go
@@ -16,7 +16,6 @@ package page
 import (
 	"context"
 	"fmt"
-	"html/template"
 	"testing"
 
 	qt "github.com/frankban/quicktest"
@@ -119,7 +118,7 @@ func doTestPages(t *testing.T, paginator *Paginator) {
 	c.Assert(paginator.TotalPages(), qt.Equals, 5)
 
 	first := paginatorPages[0]
-	c.Assert(first.URL(), qt.Equals, template.HTML("page/1/"))
+	c.Assert(first.URL(), qt.Equals, "page/1/")
 	c.Assert(first.First(), qt.Equals, first)
 	c.Assert(first.HasNext(), qt.Equals, true)
 	c.Assert(first.Next(), qt.Equals, paginatorPages[1])
@@ -134,7 +133,7 @@ func doTestPages(t *testing.T, paginator *Paginator) {
 	c.Assert(third.Prev(), qt.Equals, paginatorPages[1])
 
 	last := paginatorPages[4]
-	c.Assert(last.URL(), qt.Equals, template.HTML("page/5/"))
+	c.Assert(last.URL(), qt.Equals, "page/5/")
 	c.Assert(last.Last(), qt.Equals, last)
 	c.Assert(last.HasNext(), qt.Equals, false)
 	c.Assert(last.Next(), qt.IsNil)