package markdown import ( domain "RenewCMS/internal/domain/article" ) type Converter struct{} var _ domain.BodyRenderer = &Converter{} func NewConverter() *Converter { return &Converter{} } func (c *Converter) Render(html string, format domain.BodyFormat) (string, error) { switch format { case domain.BodyFormatHTML: return html, nil case domain.BodyFormatMarkdown: blocks, err := parseBlocks(html) if err != nil { return "", err } return renderMarkdown(blocks), nil case domain.BodyFormatJSON: blocks, err := parseBlocks(html) if err != nil { return "", err } return renderJSON(blocks) } return "", domain.ErrUnsupportedBodyFormat }