Files
md-live-server/utils.go
2022-07-08 09:27:18 +02:00

49 lines
1.1 KiB
Go

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 {
dat, err := ioutil.ReadFile(path)
if err != nil {
color.Red(path)
}
check(err)
return string(dat)
}
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 := readFile(path)
mdParser := parser.NewWithExtensions(mdExtensions)
htmlcontent := markdown.ToHTML([]byte(mdcontent), mdParser, nil)
// htmlcontent := string(blackfriday.Run([]byte(mdcontent)))
return string(htmlcontent), nil
}