Add transform resolver wiring
This commit is contained in:
@@ -19,7 +19,11 @@ func PlanOutputs(ctx context.Context, req Request) ([]Output, error) {
|
||||
outputs = append(outputs, sourceOutputs...)
|
||||
}
|
||||
if req.Publish.HTML {
|
||||
generatedOutputs, err := markdownTransformer().Generate(ctx, transform.Request{
|
||||
transformer, err := resolveTransformer(req.Transformers, transform.MarkdownToHTML)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
generatedOutputs, err := transformer.Generate(ctx, transform.Request{
|
||||
SourceBundle: req.SourceBundle,
|
||||
SourceBackend: req.SourceBackend,
|
||||
})
|
||||
@@ -47,6 +51,17 @@ func PlanOutputs(ctx context.Context, req Request) ([]Output, error) {
|
||||
return outputs, nil
|
||||
}
|
||||
|
||||
func resolveTransformer(resolver TransformerResolver, name string) (transform.Transformer, error) {
|
||||
if resolver == nil {
|
||||
return nil, fmt.Errorf("transformer resolver is required for %s", name)
|
||||
}
|
||||
transformer, ok := resolver.Get(name)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("transformer %s is not registered", name)
|
||||
}
|
||||
return transformer, nil
|
||||
}
|
||||
|
||||
func PlanSourceOutputs(req Request) ([]Output, error) {
|
||||
outputs := make([]Output, 0, len(req.SourceBundle.Manifest.Files))
|
||||
for _, file := range req.SourceBundle.Manifest.Files {
|
||||
|
||||
Reference in New Issue
Block a user