d2/d2cli/export.go

31 lines
645 B
Go
Raw Normal View History

2023-04-13 13:54:26 +00:00
package d2cli
import "path/filepath"
type exportExtension string
var KNOWN_EXTENSIONS = []string{".svg", ".png", ".pptx", ".pdf"}
func getExportExtension(outputPath string) exportExtension {
ext := filepath.Ext(outputPath)
for _, kext := range KNOWN_EXTENSIONS {
if kext == ext {
return exportExtension(ext)
}
}
// default is svg
return exportExtension(".svg")
}
func (ex exportExtension) supportsAnimation() bool {
return ex == ".svg"
}
func (ex exportExtension) requiresPngRenderer() bool {
return ex == ".png" || ex == ".pdf" || ex == ".pptx"
}
func (ex exportExtension) supportsDarkTheme() bool {
return ex == ".svg"
}