summaryrefslogtreecommitdiffstats
path: root/tpl/transform
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-05-25 10:56:14 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-05-25 17:55:23 +0200
commit3854a6fa6c323d1c09aa71a0626c9eef62709294 (patch)
treeea3727c14f73fb73aef89d43795dd6d6f75f1220 /tpl/transform
parentcd0112a05a9ddb7043c9808284f93d8099c48473 (diff)
Fix Plainify edge cases
This commit replaces the main part of `helpers.StripHTML` with Go's implementation in its html/template package. It's a little slower, but correctness is more important: ```bash BenchmarkStripHTMLOld-10 680316 1764 ns/op 728 B/op 4 allocs/op BenchmarkStripHTMLNew-10 384520 3099 ns/op 2089 B/op 10 allocs/op ``` Fixes #9199 Fixes #9909 Closes #9410
Diffstat (limited to 'tpl/transform')
-rw-r--r--tpl/transform/transform.go3
-rw-r--r--tpl/transform/transform_test.go1
2 files changed, 3 insertions, 1 deletions
diff --git a/tpl/transform/transform.go b/tpl/transform/transform.go
index 7c0914378..69ab98a9a 100644
--- a/tpl/transform/transform.go
+++ b/tpl/transform/transform.go
@@ -22,6 +22,7 @@ import (
"github.com/gohugoio/hugo/cache/namedmemcache"
"github.com/gohugoio/hugo/markup/converter/hooks"
"github.com/gohugoio/hugo/markup/highlight"
+ "github.com/gohugoio/hugo/tpl"
"github.com/gohugoio/hugo/deps"
"github.com/gohugoio/hugo/helpers"
@@ -141,7 +142,7 @@ func (ns *Namespace) Plainify(s any) (string, error) {
return "", err
}
- return helpers.StripHTML(ss), nil
+ return tpl.StripHTML(ss), nil
}
// For internal use.
diff --git a/tpl/transform/transform_test.go b/tpl/transform/transform_test.go
index ab2fd3b9e..edef4e1bd 100644
--- a/tpl/transform/transform_test.go
+++ b/tpl/transform/transform_test.go
@@ -237,6 +237,7 @@ func TestPlainify(t *testing.T) {
expect any
}{
{"<em>Note:</em> blah <b>blah</b>", "Note: blah blah"},
+ {"<div data-action='click->my-controller#doThing'>qwe</div>", "qwe"},
// errors
{tstNoStringer{}, false},
} {