markdown.go 658 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package misc
  2. import (
  3. "gitote/gitote/pkg/context"
  4. "gitote/gitote/pkg/markup"
  5. api "gitlab.com/gitote/go-gitote-client"
  6. )
  7. func Markdown(c *context.APIContext, form api.MarkdownOption) {
  8. if c.HasApiError() {
  9. c.Error(422, "", c.GetErrMsg())
  10. return
  11. }
  12. if len(form.Text) == 0 {
  13. c.Write([]byte(""))
  14. return
  15. }
  16. switch form.Mode {
  17. case "gfm":
  18. c.Write(markup.Markdown([]byte(form.Text), form.Context, nil))
  19. default:
  20. c.Write(markup.RawMarkdown([]byte(form.Text), ""))
  21. }
  22. }
  23. func MarkdownRaw(c *context.APIContext) {
  24. body, err := c.Req.Body().Bytes()
  25. if err != nil {
  26. c.Error(422, "", err)
  27. return
  28. }
  29. c.Write(markup.RawMarkdown(body, ""))
  30. }