diff options
Diffstat (limited to 'vendor/github.com/yuin/goldmark/markdown.go')
-rw-r--r-- | vendor/github.com/yuin/goldmark/markdown.go | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/vendor/github.com/yuin/goldmark/markdown.go b/vendor/github.com/yuin/goldmark/markdown.go deleted file mode 100644 index 8ebaa5a25..000000000 --- a/vendor/github.com/yuin/goldmark/markdown.go +++ /dev/null @@ -1,141 +0,0 @@ -// Package goldmark implements functions to convert markdown text to a desired format. -package goldmark - -import ( - "io" - - "github.com/yuin/goldmark/parser" - "github.com/yuin/goldmark/renderer" - "github.com/yuin/goldmark/renderer/html" - "github.com/yuin/goldmark/text" - "github.com/yuin/goldmark/util" -) - -// DefaultParser returns a new Parser that is configured by default values. -func DefaultParser() parser.Parser { - return parser.NewParser(parser.WithBlockParsers(parser.DefaultBlockParsers()...), - parser.WithInlineParsers(parser.DefaultInlineParsers()...), - parser.WithParagraphTransformers(parser.DefaultParagraphTransformers()...), - ) -} - -// DefaultRenderer returns a new Renderer that is configured by default values. -func DefaultRenderer() renderer.Renderer { - return renderer.NewRenderer(renderer.WithNodeRenderers(util.Prioritized(html.NewRenderer(), 1000))) -} - -var defaultMarkdown = New() - -// Convert interprets a UTF-8 bytes source in Markdown and -// write rendered contents to a writer w. -func Convert(source []byte, w io.Writer, opts ...parser.ParseOption) error { - return defaultMarkdown.Convert(source, w, opts...) -} - -// A Markdown interface offers functions to convert Markdown text to -// a desired format. -type Markdown interface { - // 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 WithExtensions(ext ...Extender) Option { - return func(m *markdown) { - m.extensions = append(m.extensions, ext...) - } -} - -// WithParser allows you to override the default parser. -func WithParser(p parser.Parser) Option { - return func(m *markdown) { - m.parser = p - } -} - -// WithParserOptions applies options for the parser. -func WithParserOptions(opts ...parser.Option) Option { - return func(m *markdown) { - m.parser.AddOptions(opts...) - } -} - -// WithRenderer allows you to override the default renderer. -func WithRenderer(r renderer.Renderer) Option { - return func(m *markdown) { - m.renderer = r - } -} - -// WithRendererOptions applies options for the renderer. -func WithRendererOptions(opts ...renderer.Option) Option { - return func(m *markdown) { - m.renderer.AddOptions(opts...) - } -} - -type markdown struct { - parser parser.Parser - renderer renderer.Renderer - extensions []Extender -} - -// New returns a new Markdown with given options. -func New(options ...Option) Markdown { - md := &markdown{ - parser: DefaultParser(), - renderer: DefaultRenderer(), - extensions: []Extender{}, - } - for _, opt := range options { - opt(md) - } - for _, e := range md.extensions { - e.Extend(md) - } - return md -} - -func (m *markdown) Convert(source []byte, writer io.Writer, opts ...parser.ParseOption) error { - reader := text.NewReader(source) - doc := m.parser.Parse(reader, opts...) - return m.renderer.Render(writer, source, doc) -} - -func (m *markdown) Parser() parser.Parser { - return m.parser -} - -func (m *markdown) SetParser(v parser.Parser) { - m.parser = v -} - -func (m *markdown) Renderer() renderer.Renderer { - return m.renderer -} - -func (m *markdown) SetRenderer(v renderer.Renderer) { - m.renderer = v -} - -// An Extender interface is used for extending Markdown. -type Extender interface { - // Extend extends the Markdown. - Extend(Markdown) -} |