From 0ecb7125b3915984dc382237b1fdb9c3862cb4a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Mon, 25 May 2020 21:05:59 +0200 Subject: [PATCH] publisher: Fix tag collector for nested table elements Fixes #7318 --- publisher/htmlElementsCollector.go | 20 ++++++++++++++++++++ publisher/htmlElementsCollector_test.go | 6 ++++++ 2 files changed, 26 insertions(+) diff --git a/publisher/htmlElementsCollector.go b/publisher/htmlElementsCollector.go index e033f52d716..7bb2ebf1532 100644 --- a/publisher/htmlElementsCollector.go +++ b/publisher/htmlElementsCollector.go @@ -116,7 +116,13 @@ func (w *cssClassCollectorWriter) Write(p []byte) (n int, err error) { w.buff.Reset() + if strings.HasPrefix(s, ". +func (c *cssClassCollectorWriter) insertStandinHTMLElement(el string) (string, string) { + tag := el[1:] + spacei := strings.Index(tag, " ") + if spacei != -1 { + tag = tag[:spacei] + } + newv := strings.Replace(el, tag, "div", 1) + return newv, strings.ToLower(tag) + +} + func (c *cssClassCollectorWriter) endCollecting(drop bool) { c.isCollecting = false c.inQuote = false diff --git a/publisher/htmlElementsCollector_test.go b/publisher/htmlElementsCollector_test.go index 72abd94f07d..e255a735478 100644 --- a/publisher/htmlElementsCollector_test.go +++ b/publisher/htmlElementsCollector_test.go @@ -51,6 +51,12 @@ func TestClassCollector(t *testing.T) { {"duplicates", `
`, f("div", "a b", "")}, {"single quote", ``, f("body", "a b", "")}, {"no quote", ``, f("body", "b", "myelement")}, + {"thead", ` + https://github.com/gohugoio/hugo/issues/7318 + + + +
`, f("table tbody td thead tr", "cl1 cl2 cl3 cl4 cl5 cl6 cl7", "")}, // https://github.com/gohugoio/hugo/issues/7161 {"minified a href", ``, f("a", "a b", "")},