Reimplement and simplify Hugo's template system

See #13541 for details.

Fixes #13545
Fixes #13515
Closes #7964
Closes #13365
Closes #12988
Closes #4891
This commit is contained in:
Bjørn Erik Pedersen
2025-04-06 19:55:35 +02:00
parent 812ea0b325
commit 83cfdd78ca
138 changed files with 5342 additions and 4396 deletions

View File

@@ -219,19 +219,31 @@ type IntegrationTestBuilder struct {
type lockingBuffer struct {
sync.Mutex
bytes.Buffer
buf bytes.Buffer
}
func (b *lockingBuffer) String() string {
b.Lock()
defer b.Unlock()
return b.buf.String()
}
func (b *lockingBuffer) Reset() {
b.Lock()
defer b.Unlock()
b.buf.Reset()
}
func (b *lockingBuffer) ReadFrom(r io.Reader) (n int64, err error) {
b.Lock()
n, err = b.Buffer.ReadFrom(r)
n, err = b.buf.ReadFrom(r)
b.Unlock()
return
}
func (b *lockingBuffer) Write(p []byte) (n int, err error) {
b.Lock()
n, err = b.Buffer.Write(p)
n, err = b.buf.Write(p)
b.Unlock()
return
}