diff options
Diffstat (limited to 'transform/livereloadinject.go')
-rw-r--r-- | transform/livereloadinject.go | 31 |
1 files changed, 15 insertions, 16 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) + } } |