diff options
author | bep <[email protected]> | 2015-03-18 19:42:46 +0100 |
---|---|---|
committer | bep <[email protected]> | 2015-03-18 20:03:34 +0100 |
commit | 658cfb287ec8af3c97633e19a2b584d5a9b0ecc2 (patch) | |
tree | 98adfcb917d14e42ee1560d0f7ec9398bfdbb6a9 /transform | |
parent | e7099cfa26d31cc7544e6db37899678ef8bd65ff (diff) | |
download | hugo-658cfb287ec8af3c97633e19a2b584d5a9b0ecc2.tar.gz hugo-658cfb287ec8af3c97633e19a2b584d5a9b0ecc2.zip |
Remove URL param from exported AbsURL methods
This is to make it clear that there is only one URL in play,
the BaseURL.
Diffstat (limited to 'transform')
-rw-r--r-- | transform/absurl.go | 32 | ||||
-rw-r--r-- | transform/chain_test.go | 8 |
2 files changed, 27 insertions, 13 deletions
diff --git a/transform/absurl.go b/transform/absurl.go index b4bd1dff4..1c721071d 100644 --- a/transform/absurl.go +++ b/transform/absurl.go @@ -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")) + }) +} diff --git a/transform/chain_test.go b/transform/chain_test.go index d8ceb8bca..c69b2eb82 100644 --- a/transform/chain_test.go +++ b/transform/chain_test.go @@ -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) } |