blob: 3dbdf7efade496796a632ab06ef98b554c924841 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
package transcoder
import (
"github.com/SayaAndy/saya-today-article-metadata-add/internal/draft"
)
// Transcoder turns a parsed draft into a published artifact (an S3 page, a
// Telegram thread, ...). Transcode runs once per draft; Finalize runs once
// after all drafts have been processed.
type Transcoder interface {
Name() string
Transcode(doc *draft.Document) error
Finalize() error
}
var NewTranscoderMap = map[string]func(cfg any) (Transcoder, error){
"sayauz": NewSayauzTranscoder,
"telegram": NewTelegramTranscoder,
}
|