refactor(blogo,plugins): move markdown plugin to plugins package
This commit is contained in:
@@ -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)
|
||||||
Reference in New Issue
Block a user