markdown.go 442 B

12345678910111213141516171819
  1. package markdown
  2. import (
  3. "bytes"
  4. "github.com/yuin/goldmark"
  5. "github.com/yuin/goldmark/extension"
  6. "servitor/hypertext"
  7. )
  8. var renderer = goldmark.New(goldmark.WithExtensions(extension.GFM))
  9. func NewMarkup(text string) (*hypertext.Markup, []string, error) {
  10. var buf bytes.Buffer
  11. if err := renderer.Convert([]byte(text), &buf); err != nil {
  12. return nil, []string{}, err
  13. }
  14. output := buf.String()
  15. return hypertext.NewMarkup(output)
  16. }