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, }