// Package markdown provides markdown render functions.
package markdown

import (
	"github.com/microcosm-cc/bluemonday"
	"github.com/shurcooL/github_flavored_markdown"
)

// Render markdown from untrusted sources.
func Render(input string) string {
	// Render Markdown to HTML.
	html := github_flavored_markdown.Markdown([]byte(input))

	// Sanitize the HTML from any nasties.
	p := bluemonday.UGCPolicy()
	safened := p.SanitizeBytes(html)
	return string(safened)
}
