refactor(blogo,plugins): move markdown plugin to plugins package

This commit is contained in:
Guz
2025-01-23 10:07:05 -03:00
parent ba552e7844
commit 7696e40e63

View File

@@ -1,7 +1,9 @@
package markdown package markdown
import ( import (
"errors"
"io" "io"
"io/fs"
"strings" "strings"
"github.com/yuin/goldmark" "github.com/yuin/goldmark"
@@ -11,17 +13,17 @@ import (
"github.com/yuin/goldmark/renderer" "github.com/yuin/goldmark/renderer"
"github.com/yuin/goldmark/text" "github.com/yuin/goldmark/text"
"forge.capytal.company/loreddev/x/blogo" "forge.capytal.company/loreddev/x/blogo/plugin"
) )
const pluginName = "blogo-markdown-renderer" const pluginName = "blogo-markdown-renderer"
type plugin struct { type p struct {
parser parser.Parser parser parser.Parser
renderer renderer.Renderer renderer renderer.Renderer
} }
func New() blogo.Plugin { func New() plugin.Plugin {
m := goldmark.New( m := goldmark.New(
goldmark.WithExtensions( goldmark.WithExtensions(
extension.NewLinkify(), extension.NewLinkify(),
@@ -29,20 +31,20 @@ func New() blogo.Plugin {
), ),
) )
return &plugin{ return &p{
parser: m.Parser(), parser: m.Parser(),
renderer: m.Renderer(), renderer: m.Renderer(),
} }
} }
func (p *plugin) Name() string { func (p *p) Name() string {
return pluginName return pluginName
} }
func (p *plugin) Render(f blogo.File, w io.Writer) error { func (p *p) Render(f fs.File, w io.Writer) error {
stat, err := f.Stat() stat, err := f.Stat()
if err != nil || !strings.HasSuffix(stat.Name(), ".md") { if err != nil || !strings.HasSuffix(stat.Name(), ".md") {
return blogo.ErrRendererNotSupportedFile return errors.New("does not support file")
} }
src, err := io.ReadAll(f) src, err := io.ReadAll(f)