mirror of
				https://github.com/gohugoio/hugo.git
				synced 2024-05-11 05:54:58 +00:00 
			
		
		
		
	Remove URL param from exported AbsURL methods
This is to make it clear that there is only one URL in play, the BaseURL.
This commit is contained in:
		@@ -1,33 +1,47 @@
 | 
			
		||||
package transform
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/spf13/viper"
 | 
			
		||||
	"sync"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var absURLInit sync.Once
 | 
			
		||||
var ar *absURLReplacer
 | 
			
		||||
 | 
			
		||||
// for performance reasons, we reuse the first baseURL given
 | 
			
		||||
func initAbsURLReplacer(baseURL string) {
 | 
			
		||||
	absURLInit.Do(func() {
 | 
			
		||||
		ar = newAbsURLReplacer(baseURL)
 | 
			
		||||
	})
 | 
			
		||||
func AbsURL() (trs []link, err error) {
 | 
			
		||||
	initAbsURLReplacer()
 | 
			
		||||
	return absURLFromReplacer(ar)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func AbsURL(absURL string) (trs []link, err error) {
 | 
			
		||||
	initAbsURLReplacer(absURL)
 | 
			
		||||
func absURLFromURL(URL string) (trs []link, err error) {
 | 
			
		||||
	return absURLFromReplacer(newAbsURLReplacer(URL))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func absURLFromReplacer(ar *absURLReplacer) (trs []link, err error) {
 | 
			
		||||
	trs = append(trs, func(rw contentRewriter) {
 | 
			
		||||
		ar.replaceInHTML(rw)
 | 
			
		||||
	})
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func AbsURLInXML(absURL string) (trs []link, err error) {
 | 
			
		||||
	initAbsURLReplacer(absURL)
 | 
			
		||||
func AbsURLInXML() (trs []link, err error) {
 | 
			
		||||
	initAbsURLReplacer()
 | 
			
		||||
	return absURLInXMLFromReplacer(ar)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func absURLInXMLFromURL(URL string) (trs []link, err error) {
 | 
			
		||||
	return absURLInXMLFromReplacer(newAbsURLReplacer(URL))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func absURLInXMLFromReplacer(ar *absURLReplacer) (trs []link, err error) {
 | 
			
		||||
	trs = append(trs, func(rw contentRewriter) {
 | 
			
		||||
		ar.replaceInXML(rw)
 | 
			
		||||
	})
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func initAbsURLReplacer() {
 | 
			
		||||
	absURLInit.Do(func() {
 | 
			
		||||
		ar = newAbsURLReplacer(viper.GetString("BaseURL"))
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -85,7 +85,7 @@ func TestChaingMultipleTransformers(t *testing.T) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func BenchmarkAbsURL(b *testing.B) {
 | 
			
		||||
	absURL, _ := AbsURL("http://base")
 | 
			
		||||
	absURL, _ := absURLFromURL("http://base")
 | 
			
		||||
	tr := NewChain(absURL...)
 | 
			
		||||
 | 
			
		||||
	b.ResetTimer()
 | 
			
		||||
@@ -95,7 +95,7 @@ func BenchmarkAbsURL(b *testing.B) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestAbsURL(t *testing.T) {
 | 
			
		||||
	absURL, _ := AbsURL("http://base")
 | 
			
		||||
	absURL, _ := absURLFromURL("http://base")
 | 
			
		||||
	tr := NewChain(absURL...)
 | 
			
		||||
 | 
			
		||||
	apply(t.Errorf, tr, abs_url_tests)
 | 
			
		||||
@@ -103,7 +103,7 @@ func TestAbsURL(t *testing.T) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func BenchmarkXMLAbsURL(b *testing.B) {
 | 
			
		||||
	absURLInXML, _ := AbsURLInXML("http://base")
 | 
			
		||||
	absURLInXML, _ := absURLInXMLFromURL("http://base")
 | 
			
		||||
	tr := NewChain(absURLInXML...)
 | 
			
		||||
 | 
			
		||||
	b.ResetTimer()
 | 
			
		||||
@@ -113,7 +113,7 @@ func BenchmarkXMLAbsURL(b *testing.B) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestXMLAbsURL(t *testing.T) {
 | 
			
		||||
	absURLInXML, _ := AbsURLInXML("http://base")
 | 
			
		||||
	absURLInXML, _ := absURLInXMLFromURL("http://base")
 | 
			
		||||
	tr := NewChain(absURLInXML...)
 | 
			
		||||
	apply(t.Errorf, tr, xml_abs_url_tests)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user