diff options
author | Bjørn Erik Pedersen <[email protected]> | 2017-02-05 10:20:06 +0700 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2017-02-17 17:15:26 +0100 |
commit | 93ca7c9e958e34469a337e4efcc7c75774ec50fd (patch) | |
tree | 5dfa296cfe74fd5ef8f0d41ea4078704f453aa04 /transform | |
parent | e34af6ee30f70f5780a281e2fd8f4ed9b487ee61 (diff) | |
download | hugo-93ca7c9e958e34469a337e4efcc7c75774ec50fd.tar.gz hugo-93ca7c9e958e34469a337e4efcc7c75774ec50fd.zip |
all: Refactor to nonglobal Viper, i18n etc.
This is a final rewrite that removes all the global state in Hugo, which also enables
the use if `t.Parallel` in tests.
Updates #2701
Fixes #3016
Diffstat (limited to 'transform')
-rw-r--r-- | transform/livereloadinject.go | 31 | ||||
-rw-r--r-- | transform/livereloadinject_test.go | 5 |
2 files changed, 16 insertions, 20 deletions
diff --git a/transform/livereloadinject.go b/transform/livereloadinject.go index 95608185d..83fe7c106 100644 --- a/transform/livereloadinject.go +++ b/transform/livereloadinject.go @@ -16,24 +16,23 @@ package transform import ( "bytes" "fmt" - - "github.com/spf13/viper" ) -func LiveReloadInject(ct contentTransformer) { - endBodyTag := "</body>" - match := []byte(endBodyTag) - port := viper.Get("port") - replaceTemplate := `<script data-no-instant>document.write('<script src="/livereload.js?port=%d&mindelay=10"></' + 'script>')</script>%s` - replace := []byte(fmt.Sprintf(replaceTemplate, port, endBodyTag)) - - newcontent := bytes.Replace(ct.Content(), match, replace, 1) - if len(newcontent) == len(ct.Content()) { - endBodyTag = "</BODY>" - replace := []byte(fmt.Sprintf(replaceTemplate, port, endBodyTag)) +func LiveReloadInject(port int) func(ct contentTransformer) { + return func(ct contentTransformer) { + endBodyTag := "</body>" match := []byte(endBodyTag) - newcontent = bytes.Replace(ct.Content(), match, replace, 1) - } + replaceTemplate := `<script data-no-instant>document.write('<script src="/livereload.js?port=%d&mindelay=10"></' + 'script>')</script>%s` + replace := []byte(fmt.Sprintf(replaceTemplate, port, endBodyTag)) + + newcontent := bytes.Replace(ct.Content(), match, replace, 1) + if len(newcontent) == len(ct.Content()) { + endBodyTag = "</BODY>" + replace := []byte(fmt.Sprintf(replaceTemplate, port, endBodyTag)) + match := []byte(endBodyTag) + newcontent = bytes.Replace(ct.Content(), match, replace, 1) + } - ct.Write(newcontent) + ct.Write(newcontent) + } } diff --git a/transform/livereloadinject_test.go b/transform/livereloadinject_test.go index 9f28e05e2..3337243bd 100644 --- a/transform/livereloadinject_test.go +++ b/transform/livereloadinject_test.go @@ -18,8 +18,6 @@ import ( "fmt" "strings" "testing" - - "github.com/spf13/viper" ) func TestLiveReloadInject(t *testing.T) { @@ -28,11 +26,10 @@ func TestLiveReloadInject(t *testing.T) { } func doTestLiveReloadInject(t *testing.T, bodyEndTag string) { - viper.Set("port", 1313) out := new(bytes.Buffer) in := strings.NewReader(bodyEndTag) - tr := NewChain(LiveReloadInject) + tr := NewChain(LiveReloadInject(1313)) tr.Apply(out, in, []byte("path")) expected := fmt.Sprintf(`<script data-no-instant>document.write('<script src="/livereload.js?port=1313&mindelay=10"></' + 'script>')</script>%s`, bodyEndTag) |