Package goldmark implements functions to convert markdown text to a desired format.
package goldmark

import (
	
	
	
	
	
	
)
DefaultRenderer returns a new Renderer that is configured by default values.
Convert interprets a UTF-8 bytes source in Markdown and write rendered contents to a writer w.
func ( []byte,  io.Writer,  ...parser.ParseOption) error {
	return defaultMarkdown.Convert(, , ...)
}
A Markdown interface offers functions to convert Markdown text to a desired format.
Convert interprets a UTF-8 bytes source in Markdown and write rendered contents to a writer w.
	Convert(source []byte, writer io.Writer, opts ...parser.ParseOption) error
Parser returns a Parser that will be used for conversion.
	Parser() parser.Parser
SetParser sets a Parser to this object.
	SetParser(parser.Parser)
Parser returns a Renderer that will be used for conversion.
	Renderer() renderer.Renderer
SetRenderer sets a Renderer to this object.
	SetRenderer(renderer.Renderer)
}
Option is a functional option type for Markdown objects.
type Option func(*markdown)
WithExtensions adds extensions.
func ( ...Extender) Option {
	return func( *markdown) {
		.extensions = append(.extensions, ...)
	}
}
WithParser allows you to override the default parser.
func ( parser.Parser) Option {
	return func( *markdown) {
		.parser = 
	}
}
WithParserOptions applies options for the parser.
func ( ...parser.Option) Option {
	return func( *markdown) {
		.parser.AddOptions(...)
	}
}
WithRenderer allows you to override the default renderer.
func ( renderer.Renderer) Option {
	return func( *markdown) {
		.renderer = 
	}
}
WithRendererOptions applies options for the renderer.
New returns a new Markdown with given options.
func ( ...Option) Markdown {
	 := &markdown{
		parser:     DefaultParser(),
		renderer:   DefaultRenderer(),
		extensions: []Extender{},
	}
	for ,  := range  {
		()
	}
	for ,  := range .extensions {
		.Extend()
	}
	return 
}

func ( *markdown) ( []byte,  io.Writer,  ...parser.ParseOption) error {
	 := text.NewReader()
	 := .parser.Parse(, ...)
	return .renderer.Render(, , )
}

func ( *markdown) () parser.Parser {
	return .parser
}

func ( *markdown) ( parser.Parser) {
	.parser = 
}

func ( *markdown) () renderer.Renderer {
	return .renderer
}

func ( *markdown) ( renderer.Renderer) {
	.renderer = 
}
An Extender interface is used for extending Markdown.
Extend extends the Markdown.
	Extend(Markdown)