mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-28 22:11:48 -05:00
parent
4855c186d8
commit
111344113b
2 changed files with 11 additions and 2 deletions
|
@ -67,7 +67,9 @@ type cssClassCollectorWriter struct {
|
||||||
|
|
||||||
isCollecting bool
|
isCollecting bool
|
||||||
dropValue bool
|
dropValue bool
|
||||||
|
|
||||||
inQuote bool
|
inQuote bool
|
||||||
|
quoteValue byte
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *cssClassCollectorWriter) Write(p []byte) (n int, err error) {
|
func (w *cssClassCollectorWriter) Write(p []byte) (n int, err error) {
|
||||||
|
@ -165,7 +167,12 @@ func (c *cssClassCollectorWriter) startCollecting() {
|
||||||
|
|
||||||
func (c *cssClassCollectorWriter) toggleIfQuote(b byte) {
|
func (c *cssClassCollectorWriter) toggleIfQuote(b byte) {
|
||||||
if isQuote(b) {
|
if isQuote(b) {
|
||||||
c.inQuote = !c.inQuote
|
if c.inQuote && b == c.quoteValue {
|
||||||
|
c.inQuote = false
|
||||||
|
} else if !c.inQuote {
|
||||||
|
c.inQuote = true
|
||||||
|
c.quoteValue = b
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,8 @@ func TestClassCollector(t *testing.T) {
|
||||||
|
|
||||||
{"Alpine transition 1", `<div x-transition:enter-start="opacity-0 transform mobile:-translate-x-8 sm:-translate-y-8">`, f("div", "mobile:-translate-x-8 opacity-0 sm:-translate-y-8 transform", "")},
|
{"Alpine transition 1", `<div x-transition:enter-start="opacity-0 transform mobile:-translate-x-8 sm:-translate-y-8">`, f("div", "mobile:-translate-x-8 opacity-0 sm:-translate-y-8 transform", "")},
|
||||||
{"Vue bind", `<div v-bind:class="{ active: isActive }"></div>`, f("div", "active", "")},
|
{"Vue bind", `<div v-bind:class="{ active: isActive }"></div>`, f("div", "active", "")},
|
||||||
|
// https://github.com/gohugoio/hugo/issues/7746
|
||||||
|
{"Apostrophe inside attribute value", `<a class="missingclass" title="Plus d'information">my text</a><div></div>`, f("a div", "missingclass", "")},
|
||||||
} {
|
} {
|
||||||
c.Run(test.name, func(c *qt.C) {
|
c.Run(test.name, func(c *qt.C) {
|
||||||
w := newHTMLElementsCollectorWriter(newHTMLElementsCollector())
|
w := newHTMLElementsCollectorWriter(newHTMLElementsCollector())
|
||||||
|
|
Loading…
Reference in a new issue