diff --git a/internal/render/document.go b/internal/render/document.go index c5ab27d..79ce958 100644 --- a/internal/render/document.go +++ b/internal/render/document.go @@ -49,7 +49,7 @@ func renderToFilesystem(wg *sync.WaitGroup, errOutputCh chan error, data *render rel, err := filepath.Rel(config.ProjectRoot(), p.FullPath) if err != nil { - rel = p.FullPath + rel = p.FullPat } fmt.Printf("%s -> %s\n", rel, filepath.Join("output", p.OutputFilename)) }(doc) diff --git a/internal/render/pandoc.go b/internal/render/pandoc.go index 3d5f012..9ba5c3f 100644 --- a/internal/render/pandoc.go +++ b/internal/render/pandoc.go @@ -64,9 +64,11 @@ func dockerPandoc(outputFilename string, errOutputCh chan error) { errOutputCh <- errors.Wrap(err, "unable to remove container") return } + errOutputCh <-nil }() - if err := cli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}); err != nil { + err = cli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}) + if err != nil { errOutputCh <- errors.Wrap(err, "unable to start Docker container") return } @@ -90,8 +92,6 @@ func dockerPandoc(outputFilename string, errOutputCh chan error) { errOutputCh <- errors.Wrap(err, "output not generated; verify your Docker image is up to date") return } - - errOutputCh <- nil } // 🐼 diff --git a/internal/render/pdf.go b/internal/render/pdf.go index 93c1333..bca2311 100644 --- a/internal/render/pdf.go +++ b/internal/render/pdf.go @@ -42,6 +42,12 @@ func pdf(output string, live bool, errCh chan error, wg *sync.WaitGroup) { for _, narrative := range narratives { renderToFilesystem(&pdfWG, errOutputCh, data, narrative, live) + err = <-errOutputCh + if err != nil { + errCh <- err + wg.Done() + return + } } pdfWG.Wait()