package tool
import (
"bytes"
"database/sql"
"regexp"
"github.com/yuin/goldmark"
"github.com/yuin/goldmark/extension"
"github.com/yuin/goldmark/renderer/html"
)
func Markdown(db *sql.DB, db_set map[string]string, data map[string]string) map[string]interface{} {
input := []byte(data["data"])
backlink := map[string]map[string]string{}
link_count := 0
markdown := goldmark.New(
goldmark.WithExtensions(extension.Strikethrough, extension.Table),
goldmark.WithRendererOptions(html.WithHardWraps()),
)
var buf bytes.Buffer
if err := markdown.Convert(input, &buf); err != nil {
panic(err)
}
string_data := buf.String()
r := regexp.MustCompile(`\[([^\[\]]+)\]\(([^\(\)]*)\)`)
string_data = r.ReplaceAllStringFunc(string_data, func(m string) string {
match := r.FindStringSubmatch(m)
return "" + match[1] + ""
})
// p := bluemonday.UGCPolicy()
// result := p.Sanitize(string_data)
r = regexp.MustCompile(`