diff --git a/notes/file.go b/notes/file.go index ea97599..1d9d92a 100755 --- a/notes/file.go +++ b/notes/file.go @@ -8,15 +8,14 @@ import ( "io" "io/ioutil" "local/notes-server/filetree" + "local/notes-server/notes/md" "path" "regexp" "strings" "github.com/fairlyblank/md2min" - "github.com/gomarkdown/markdown" "github.com/gomarkdown/markdown/ast" "github.com/gomarkdown/markdown/html" - "github.com/gomarkdown/markdown/parser" "github.com/yuin/goldmark" blackfriday "gopkg.in/russross/blackfriday.v2" ) @@ -57,35 +56,7 @@ func (n *Notes) md2min(urlPath string, b []byte) (string, error) { } func (n *Notes) gomarkdown(urlPath string, b []byte) (string, error) { - return Gomarkdown(b, n.commentFormer(urlPath, b)) -} - -func Gomarkdown(b []byte, renderHook html.RenderNodeFunc) (string, error) { - renderer := html.NewRenderer(html.RendererOptions{ - Flags: html.CommonFlags | html.TOC, - RenderNodeHook: renderHook, - }) - ext := parser.NoExtensions - for _, extension := range []parser.Extensions{ - parser.NoIntraEmphasis, - parser.Tables, - parser.FencedCode, - parser.Autolink, - parser.Strikethrough, - parser.SpaceHeadings, - parser.HeadingIDs, - parser.BackslashLineBreak, - parser.DefinitionLists, - parser.MathJax, - parser.Titleblock, - parser.AutoHeadingIDs, - parser.Includes, - } { - ext |= extension - } - parser := parser.NewWithExtensions(ext) - content := markdown.ToHTML(b, parser, renderer) - return string(content) + "\n", nil + return md.Gomarkdown(b, n.commentFormer(urlPath, b)) } func (n *Notes) commentFormer(urlPath string, md []byte) html.RenderNodeFunc { diff --git a/notes/md/file.go b/notes/md/file.go new file mode 100755 index 0000000..9ba3e94 --- /dev/null +++ b/notes/md/file.go @@ -0,0 +1,35 @@ +package md + +import ( + "github.com/gomarkdown/markdown" + "github.com/gomarkdown/markdown/html" + "github.com/gomarkdown/markdown/parser" +) + +func Gomarkdown(b []byte, renderHook html.RenderNodeFunc) (string, error) { + renderer := html.NewRenderer(html.RendererOptions{ + Flags: html.CommonFlags | html.TOC, + RenderNodeHook: renderHook, + }) + ext := parser.NoExtensions + for _, extension := range []parser.Extensions{ + parser.NoIntraEmphasis, + parser.Tables, + parser.FencedCode, + parser.Autolink, + parser.Strikethrough, + parser.SpaceHeadings, + parser.HeadingIDs, + parser.BackslashLineBreak, + parser.DefinitionLists, + parser.MathJax, + parser.Titleblock, + parser.AutoHeadingIDs, + parser.Includes, + } { + ext |= extension + } + parser := parser.NewWithExtensions(ext) + content := markdown.ToHTML(b, parser, renderer) + return string(content) + "\n", nil +}