mirror of
https://github.com/rwinkhart/glamour-temp-MUTN.git
synced 2026-09-02 23:17:34 -04:00
Reuse initialized markdown renderer
This commit is contained in:
@@ -19,7 +19,7 @@ import (
|
||||
)
|
||||
|
||||
type TermRenderer struct {
|
||||
Options ansi.Options
|
||||
md goldmark.Markdown
|
||||
}
|
||||
|
||||
// Render initializes a new TermRenderer and renders a markdown with a specific
|
||||
@@ -61,8 +61,23 @@ func NewTermRendererFromBytes(b []byte, options ansi.Options) (*TermRenderer, er
|
||||
return nil, err
|
||||
}
|
||||
|
||||
md := goldmark.New(
|
||||
goldmark.WithExtensions(
|
||||
extension.GFM,
|
||||
extension.DefinitionList,
|
||||
),
|
||||
goldmark.WithParserOptions(
|
||||
parser.WithAutoHeadingID(),
|
||||
),
|
||||
)
|
||||
|
||||
ar := ansi.NewRenderer(options)
|
||||
md.SetRenderer(
|
||||
renderer.NewRenderer(
|
||||
renderer.WithNodeRenderers(util.Prioritized(ar, 1000))))
|
||||
|
||||
return &TermRenderer{
|
||||
Options: options,
|
||||
md: md,
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -74,23 +89,8 @@ func (tr *TermRenderer) Render(in string) (string, error) {
|
||||
|
||||
// RenderBytes returns the markdown rendered into a byte slice.
|
||||
func (tr *TermRenderer) RenderBytes(in []byte) ([]byte, error) {
|
||||
md := goldmark.New(
|
||||
goldmark.WithExtensions(
|
||||
extension.GFM,
|
||||
extension.DefinitionList,
|
||||
),
|
||||
goldmark.WithParserOptions(
|
||||
parser.WithAutoHeadingID(),
|
||||
),
|
||||
)
|
||||
|
||||
ar := ansi.NewRenderer(tr.Options)
|
||||
md.SetRenderer(
|
||||
renderer.NewRenderer(
|
||||
renderer.WithNodeRenderers(util.Prioritized(ar, 1000))))
|
||||
|
||||
var buf bytes.Buffer
|
||||
err := md.Convert(in, &buf)
|
||||
err := tr.md.Convert(in, &buf)
|
||||
return buf.Bytes(), err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user