cli + tui to publish to leaflet (wip) & manage tasks, notes & watch/read lists 馃崈
charm
leaflet
readability
golang
1package handlers
2
3import (
4 "fmt"
5
6 "github.com/charmbracelet/glamour"
7)
8
9type MarkdownRenderer interface {
10 Render(string) (string, error)
11}
12
13var newRenderer = func() (MarkdownRenderer, error) {
14 return glamour.NewTermRenderer(glamour.WithAutoStyle(), glamour.WithWordWrap(80))
15}
16
17func renderMarkdown(content string) (string, error) {
18 renderer, err := newRenderer()
19 if err != nil {
20 return "", fmt.Errorf("failed to create markdown renderer: %w", err)
21 }
22
23 rendered, err := renderer.Render(content)
24 if err != nil {
25 return "", fmt.Errorf("failed to render markdown: %w", err)
26 }
27 return rendered, nil
28}