func NewBfRenderer() blackfriday.Renderer {
	return CodeStyleRenderer{bfchroma.NewRenderer(
		bfchroma.ChromaOptions(
			chromahtml.WithClasses(true),
			chromahtml.PreventSurroundingPre(true),
		),
		bfchroma.Extend(
			blackfriday.NewHTMLRenderer(blackfriday.HTMLRendererParameters{
				Flags: blackfriday.CommonHTMLFlags,
			}),
		),
	)}
}
NewBfRenderer creates the default blackfriday renderer to be passed to NewParser()
package markdown
import (
	"bytes"
	"context"
	"fmt"
	"html"
	"io"
	"net/url"
	"regexp"
	"strconv"
	"strings"
	"unicode"
	"unicode/utf8"
	"github.com/Depado/bfchroma"
	chromahtml "github.com/alecthomas/chroma/formatters/html"
	"github.com/pkg/errors"
	"github.com/russross/blackfriday/v2"
)
type Document struct {
	Meta Metadata
	Title string
	HTML []byte
	Tree []*SectionNode
}
type Options struct {
	Base *url.URL
	ContentFilePathToLinkPath func(string) string
	Funcs FuncMap
	FuncInfo FuncInfo
}
type FuncMap map[string]func(context.Context, FuncInfo, map[string]string) (string, error)
type FuncInfo struct {
	Version string  
}
func NewParser(renderer blackfriday.Renderer) *blackfriday.Markdown {
	return blackfriday.New(
		blackfriday.WithRenderer(renderer),
		blackfriday.WithExtensions(blackfriday.CommonExtensions),
	)
}