mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-16 20:53:59 +02:00
@@ -30,19 +30,18 @@ type tag struct {
|
||||
}
|
||||
|
||||
var tags = []tag{
|
||||
tag{markup: []byte("<head>"), appendScript: true},
|
||||
tag{markup: []byte("<HEAD>"), appendScript: true},
|
||||
tag{markup: []byte("</body>")},
|
||||
tag{markup: []byte("</BODY>")},
|
||||
{markup: []byte("<head>"), appendScript: true},
|
||||
{markup: []byte("<HEAD>"), appendScript: true},
|
||||
{markup: []byte("</body>")},
|
||||
{markup: []byte("</BODY>")},
|
||||
}
|
||||
|
||||
// New creates a function that can be used
|
||||
// to inject a script tag for the livereload JavaScript in a HTML document.
|
||||
func New(baseURL url.URL) transform.Transformer {
|
||||
|
||||
return func(ft transform.FromTo) error {
|
||||
b := ft.From().Bytes()
|
||||
var idx = -1
|
||||
idx := -1
|
||||
var match tag
|
||||
// We used to insert the livereload script right before the closing body.
|
||||
// This does not work when combined with tools such as Turbolinks.
|
||||
|
@@ -61,5 +61,4 @@ func TestLiveReloadInject(t *testing.T) {
|
||||
c.Run("No match", func(c *qt.C) {
|
||||
c.Assert(apply("<h1>No match</h1>"), qt.Equals, "<h1>No match</h1>")
|
||||
})
|
||||
|
||||
}
|
||||
|
@@ -23,8 +23,10 @@ import (
|
||||
"github.com/gohugoio/hugo/transform"
|
||||
)
|
||||
|
||||
var metaTagsCheck = regexp.MustCompile(`(?i)<meta\s+name=['|"]?generator['|"]?`)
|
||||
var hugoGeneratorTag = fmt.Sprintf(`<meta name="generator" content="Hugo %s" />`, hugo.CurrentVersion)
|
||||
var (
|
||||
metaTagsCheck = regexp.MustCompile(`(?i)<meta\s+name=['|"]?generator['|"]?`)
|
||||
hugoGeneratorTag = fmt.Sprintf(`<meta name="generator" content="Hugo %s" />`, hugo.CurrentVersion)
|
||||
)
|
||||
|
||||
// HugoGenerator injects a meta generator tag for Hugo if none present.
|
||||
func HugoGenerator(ft transform.FromTo) error {
|
||||
@@ -51,5 +53,4 @@ func HugoGenerator(ft transform.FromTo) error {
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
}
|
||||
|
@@ -57,5 +57,4 @@ func TestHugoGeneratorInject(t *testing.T) {
|
||||
t.Errorf("[%d] Expected \n%q got \n%q", i, this.expect, out.String())
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -131,7 +131,6 @@ func (l *absurllexer) posAfterURL(q []byte) int {
|
||||
return bytes.IndexFunc(l.content[l.pos:], func(r rune) bool {
|
||||
return r == '>' || unicode.IsSpace(r)
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
// handle URLs in srcset.
|
||||
@@ -188,7 +187,6 @@ func checkCandidateSrcset(l *absurllexer) {
|
||||
|
||||
l.pos += len(section)
|
||||
l.start = l.pos
|
||||
|
||||
}
|
||||
|
||||
// main loop
|
||||
@@ -231,12 +229,12 @@ func (l *absurllexer) replace() {
|
||||
}
|
||||
|
||||
func doReplace(path string, ct transform.FromTo, quotes [][]byte) {
|
||||
|
||||
lexer := &absurllexer{
|
||||
content: ct.From().Bytes(),
|
||||
w: ct.To(),
|
||||
path: []byte(path),
|
||||
quotes: quotes}
|
||||
quotes: quotes,
|
||||
}
|
||||
|
||||
lexer.replace()
|
||||
}
|
||||
@@ -249,7 +247,8 @@ type absURLReplacer struct {
|
||||
func newAbsURLReplacer() *absURLReplacer {
|
||||
return &absURLReplacer{
|
||||
htmlQuotes: [][]byte{[]byte("\""), []byte("'")},
|
||||
xmlQuotes: [][]byte{[]byte("""), []byte("'")}}
|
||||
xmlQuotes: [][]byte{[]byte("""), []byte("'")},
|
||||
}
|
||||
}
|
||||
|
||||
func (au *absURLReplacer) replaceInHTML(path string, ct transform.FromTo) {
|
||||
|
@@ -116,7 +116,8 @@ var (
|
||||
srcsetXMLTests = []test{
|
||||
{srcsetXMLBasic, srcsetXMLBasicCorrect},
|
||||
{srcsetXMLSingleQuote, srcsetXMLSingleQuoteCorrect},
|
||||
{srcsetXMLVariations, srcsetXMLVariationsCorrect}}
|
||||
{srcsetXMLVariations, srcsetXMLVariationsCorrect},
|
||||
}
|
||||
|
||||
relurlTests = []test{{relPathVariations, relPathVariationsCorrect}}
|
||||
)
|
||||
@@ -152,7 +153,6 @@ func TestAbsURL(t *testing.T) {
|
||||
tr := transform.New(NewAbsURLTransformer(testBaseURL))
|
||||
|
||||
apply(t.Errorf, tr, absURLTests)
|
||||
|
||||
}
|
||||
|
||||
func TestAbsURLUnqoted(t *testing.T) {
|
||||
@@ -174,7 +174,6 @@ func TestRelativeURL(t *testing.T) {
|
||||
tr := transform.New(NewAbsURLTransformer(helpers.GetDottedRelativePath(filepath.FromSlash("/post/sub/"))))
|
||||
|
||||
applyWithPath(t.Errorf, tr, relurlTests)
|
||||
|
||||
}
|
||||
|
||||
func TestAbsURLSrcSet(t *testing.T) {
|
||||
|
Reference in New Issue
Block a user