...

Package renderer

import "github.com/yuin/goldmark/renderer"
Overview
Index
Subdirectories

Overview ▾

Package renderer renders the given AST to certain formats.

type Config

A Config struct is a data structure that holds configuration of the Renderer.

type Config struct {
    Options       map[OptionName]interface{}
    NodeRenderers util.PrioritizedSlice
}

func NewConfig

func NewConfig() *Config

NewConfig returns a new Config

type NodeRenderer

A NodeRenderer interface offers NodeRendererFuncs.

type NodeRenderer interface {
    // RendererFuncs registers NodeRendererFuncs to given NodeRendererFuncRegisterer.
    RegisterFuncs(NodeRendererFuncRegisterer)
}

type NodeRendererFunc

NodeRendererFunc is a function that renders a given node.

type NodeRendererFunc func(writer util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error)

type NodeRendererFuncRegisterer

A NodeRendererFuncRegisterer registers

type NodeRendererFuncRegisterer interface {
    // Register registers given NodeRendererFunc to this object.
    Register(ast.NodeKind, NodeRendererFunc)
}

type Option

An Option interface is a functional option type for the Renderer.

type Option interface {
    SetConfig(*Config)
}

func WithNodeRenderers

func WithNodeRenderers(ps ...util.PrioritizedValue) Option

WithNodeRenderers is a functional option that allow you to add NodeRenderers to the renderer.

func WithOption

func WithOption(name OptionName, value interface{}) Option

WithOption is a functional option that allow you to set an arbitrary option to the parser.

type OptionName

An OptionName is a name of the option.

type OptionName string

type Renderer

A Renderer interface renders given AST node to given writer with given Renderer.

type Renderer interface {
    Render(w io.Writer, source []byte, n ast.Node) error

    // AddOptions adds given option to this renderer.
    AddOptions(...Option)
}

func NewRenderer

func NewRenderer(options ...Option) Renderer

NewRenderer returns a new Renderer with given options.

type SetOptioner

A SetOptioner interface sets given option to the object.

type SetOptioner interface {
    // SetOption sets given option to the object.
    // Unacceptable options may be passed.
    // Thus implementations must ignore unacceptable options.
    SetOption(name OptionName, value interface{})
}

Subdirectories

Name Synopsis
..
html