You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

51 lines
1.1 KiB

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
}