Moved away from local files to complete database driven articles
This commit is contained in:
@@ -1,13 +1,9 @@
|
||||
package parse
|
||||
|
||||
import (
|
||||
"TheAdversary/config"
|
||||
"TheAdversary/schema"
|
||||
"github.com/gomarkdown/markdown"
|
||||
"github.com/gomarkdown/markdown/ast"
|
||||
"github.com/gomarkdown/markdown/html"
|
||||
"github.com/gomarkdown/markdown/parser"
|
||||
"os"
|
||||
)
|
||||
|
||||
func newParser() *parser.Parser {
|
||||
@@ -16,26 +12,14 @@ func newParser() *parser.Parser {
|
||||
return parser.NewWithExtensions(extensions)
|
||||
}
|
||||
|
||||
func newHtmlRenderer(title string) *html.Renderer {
|
||||
func newHtmlRenderer() *html.Renderer {
|
||||
renderOpts := html.RendererOptions{
|
||||
Title: title,
|
||||
Flags: html.CommonFlags | html.CompletePage,
|
||||
Flags: html.CommonFlags | html.LazyLoadImages,
|
||||
}
|
||||
return html.NewRenderer(renderOpts)
|
||||
}
|
||||
|
||||
func Parse(path string) (ast.Node, error) {
|
||||
raw, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return markdown.Parse(raw, newParser()), nil
|
||||
}
|
||||
|
||||
func ParseToHtml(article *schema.Article) ([]byte, error) {
|
||||
node, err := Parse(article.FilePath(config.ArticleRoot))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return markdown.Render(node, newHtmlRenderer(article.Title)), nil
|
||||
func ParseToHtml(rawMarkdown []byte) []byte {
|
||||
node := markdown.Parse(rawMarkdown, newParser())
|
||||
return markdown.Render(node, newHtmlRenderer())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user