package main import ( "io/ioutil" "os" "path/filepath" "github.com/fatih/color" "github.com/gomarkdown/markdown" "github.com/gomarkdown/markdown/parser" ) func check(err error) { if err != nil { color.Red(err.Error()) } } func readDir(dirpath string) []string { var elems []string _ = filepath.Walk(dirpath, func(path string, f os.FileInfo, err error) error { elems = append(elems, path) return nil }) return elems } func readFile(path string) (string, error) { dat, err := ioutil.ReadFile(path) if err != nil { color.Red(path) return "", err } return string(dat), nil } func fileToHTML(path string) (string, error) { mdExtensions := parser.NoIntraEmphasis | parser.Tables | parser.FencedCode | parser.Autolink | parser.Strikethrough | parser.SpaceHeadings | parser.HeadingIDs | parser.BackslashLineBreak | parser.DefinitionLists | parser.MathJax mdcontent, err := readFile(path) if err != nil { return "", err } mdParser := parser.NewWithExtensions(mdExtensions) htmlcontent := markdown.ToHTML([]byte(mdcontent), mdParser, nil) // htmlcontent := string(blackfriday.Run([]byte(mdcontent))) return string(htmlcontent), nil }