diff --git a/go.mod b/go.mod index 312b7ca06..3b3ca5744 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/alecthomas/chroma/v2 v2.14.0 github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb github.com/blevesearch/bleve/v2 v2.4.1 - github.com/buildkite/terminal-to-html/v3 v3.10.1 + github.com/buildkite/terminal-to-html/v3 v3.13.0 github.com/caddyserver/certmagic v0.21.0 github.com/chi-middleware/proxy v1.1.1 github.com/djherbis/buffer v1.2.0 diff --git a/go.sum b/go.sum index f10eda4a7..f8dc22ab5 100644 --- a/go.sum +++ b/go.sum @@ -143,8 +143,8 @@ github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= -github.com/buildkite/terminal-to-html/v3 v3.10.1 h1:znT9eD26LQ59dDJJEpMCwkP4wEptEAPi74hsTBuHdEo= -github.com/buildkite/terminal-to-html/v3 v3.10.1/go.mod h1:qtuRyYs6/Sw3FS9jUyVEaANHgHGqZsGqMknPLyau5cQ= +github.com/buildkite/terminal-to-html/v3 v3.13.0 h1:TBRfvqZWoIpxxiiM9rdIn2bbI7pwxBjlQf8/cbLJnss= +github.com/buildkite/terminal-to-html/v3 v3.13.0/go.mod h1:33sojHDaRBSMwwkKXPEkb5Uc7LKF79rWGurL3ei/GX0= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/caddyserver/certmagic v0.21.0 h1:yDoifClc4hIxhHer3AxUj4buhF+NzRR6torw/AOnuUE= github.com/caddyserver/certmagic v0.21.0/go.mod h1:OgUZNXYV/ylYoFJNmoYVR5nntydLNMQISePPgqZTyhc= diff --git a/modules/markup/console/console.go b/modules/markup/console/console.go index cf42c9cce..7c4050a72 100644 --- a/modules/markup/console/console.go +++ b/modules/markup/console/console.go @@ -58,13 +58,13 @@ func (Renderer) CanRender(filename string, input io.Reader) bool { // Render renders terminal colors to HTML with all specific handling stuff. func (Renderer) Render(ctx *markup.RenderContext, input io.Reader, output io.Writer) error { - buf, err := io.ReadAll(input) - if err != nil { + screen := &trend.Screen{} + if _, err := io.Copy(screen, input); err != nil { return err } - buf = trend.Render(buf) - buf = bytes.ReplaceAll(buf, []byte("\n"), []byte(`
`)) - _, err = output.Write(buf) + buf := screen.AsHTML() + buf = strings.ReplaceAll(buf, "\n", `
`) + _, err := output.Write([]byte(buf)) return err }