From b99b7416512cf815163f9759f62cc35a866306ad Mon Sep 17 00:00:00 2001 From: Bernard Xie Date: Mon, 21 Nov 2022 13:24:10 -0800 Subject: [PATCH] PR comments --- ci/release/changelogs/next.md | 2 +- ci/release/template/man/d2.1 | 2 +- cmd/d2/main.go | 9 ++++----- lib/png/png.go | 4 ++-- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/ci/release/changelogs/next.md b/ci/release/changelogs/next.md index 1fab4e6f8..24c43152b 100644 --- a/ci/release/changelogs/next.md +++ b/ci/release/changelogs/next.md @@ -2,8 +2,8 @@ For v0.0.99 we focused on X, Y and Z. Enjoy! #### Features 💸 +- Ability to export to PNG - Now you can easily do x, y and z #9999 -- Ability to export to PNGs #### Improvements 🔧 diff --git a/ci/release/template/man/d2.1 b/ci/release/template/man/d2.1 index a5407102c..1f86ecb6a 100644 --- a/ci/release/template/man/d2.1 +++ b/ci/release/template/man/d2.1 @@ -23,7 +23,7 @@ .Nm compiles and renders .Ar file.d2 -to +to .Ar file.svg | .Ar file.png diff --git a/cmd/d2/main.go b/cmd/d2/main.go index 9adabe9f9..a5e5c39e2 100644 --- a/cmd/d2/main.go +++ b/cmd/d2/main.go @@ -133,12 +133,11 @@ func run(ctx context.Context, ms *xmain.State) (err error) { if err != nil { return err } - defer func() error { - err = pw.Cleanup() - if err != nil { - return err + defer func() { + cleanupErr := pw.Cleanup() + if err == nil { + err = cleanupErr } - return nil }() } diff --git a/lib/png/png.go b/lib/png/png.go index c72e4fa91..0199c3c91 100644 --- a/lib/png/png.go +++ b/lib/png/png.go @@ -77,7 +77,7 @@ func ConvertSVG(ms *xmain.State, page playwright.Page, svg []byte) ([]byte, erro encodedSVG := base64.StdEncoding.EncodeToString(svg) pngInterface, err := page.Evaluate(genPNGScript, "data:image/svg+xml;charset=utf-8;base64,"+encodedSVG) if err != nil { - return nil, fmt.Errorf("failed to generate png: %w\nplease report this issue here: https://github.com/terrastruct/d2/issues/new", err) + return nil, fmt.Errorf("failed to generate png: %w", err) } pngString := pngInterface.(string) @@ -85,7 +85,7 @@ func ConvertSVG(ms *xmain.State, page playwright.Page, svg []byte) ([]byte, erro if len(pngString) > 50 { pngString = pngString[0:50] + "..." } - return nil, fmt.Errorf("invalid PNG: %q\nplease report this issue here: https://github.com/terrastruct/d2/issues/new", pngString) + return nil, fmt.Errorf("invalid PNG: %q", pngString) } splicedPNGString := pngString[len(pngPrefix):] return base64.StdEncoding.DecodeString(splicedPNGString)