summaryrefslogtreecommitdiffhomepage
path: root/transform
diff options
context:
space:
mode:
Diffstat (limited to 'transform')
-rw-r--r--transform/livereloadinject.go31
-rw-r--r--transform/livereloadinject_test.go5
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)