mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-29 22:29:56 +02:00
markup/goldmark: Fix mangling of headers/links in render hooks
```bash name old time/op new time/op delta SiteWithRenderHooks-10 11.9ms ± 1% 11.9ms ± 1% ~ (p=0.486 n=4+4) name old alloc/op new alloc/op delta SiteWithRenderHooks-10 11.2MB ± 0% 11.3MB ± 0% +0.16% (p=0.029 n=4+4) name old allocs/op new allocs/op delta SiteWithRenderHooks-10 145k ± 0% 145k ± 0% +0.14% (p=0.029 n=4+4) ``` Fixes #9504
This commit is contained in:
@@ -47,8 +47,7 @@ import (
|
||||
// Provider is the package entry point.
|
||||
var Provider converter.ProviderProvider = provide{}
|
||||
|
||||
type provide struct {
|
||||
}
|
||||
type provide struct{}
|
||||
|
||||
func (p provide) New(cfg converter.ProviderConfig) (converter.Provider, error) {
|
||||
md := newMarkdown(cfg)
|
||||
@@ -199,10 +198,21 @@ func (b *bufWriter) Flush() error {
|
||||
|
||||
type renderContext struct {
|
||||
*bufWriter
|
||||
pos int
|
||||
positions []int
|
||||
renderContextData
|
||||
}
|
||||
|
||||
func (ctx *renderContext) pushPos(n int) {
|
||||
ctx.positions = append(ctx.positions, n)
|
||||
}
|
||||
|
||||
func (ctx *renderContext) popPos() int {
|
||||
i := len(ctx.positions) - 1
|
||||
p := ctx.positions[i]
|
||||
ctx.positions = ctx.positions[:i]
|
||||
return p
|
||||
}
|
||||
|
||||
type renderContextData interface {
|
||||
RenderContext() converter.RenderContext
|
||||
DocumentContext() converter.DocumentContext
|
||||
|
Reference in New Issue
Block a user