diff --git a/ci/release/changelogs/next.md b/ci/release/changelogs/next.md index 0d7fc98ef..3ce0badec 100644 --- a/ci/release/changelogs/next.md +++ b/ci/release/changelogs/next.md @@ -10,6 +10,7 @@ #### Bugfixes ⛑️ +- Theme flags on CLI apply to PDFs [#1894](https://github.com/terrastruct/d2/pull/1894) - Fixes styles in connections not overriding styles set by globs [#1857](https://github.com/terrastruct/d2/pull/1857) - Fixes `null` being set on a nested shape not working in certain cases when connections also pointed to that shape [#1830](https://github.com/terrastruct/d2/pull/1830) - Fixes edge case of bad import syntax crashing using d2 as a library [#1829](https://github.com/terrastruct/d2/pull/1829) diff --git a/d2cli/main.go b/d2cli/main.go index 34ba5a717..93a103db9 100644 --- a/d2cli/main.go +++ b/d2cli/main.go @@ -936,10 +936,11 @@ func renderPDF(ctx context.Context, ms *xmain.State, plugin d2plugin.Plugin, opt } svg, err = d2svg.Render(diagram, &d2svg.RenderOpts{ - Pad: opts.Pad, - Sketch: opts.Sketch, - Center: opts.Center, - Scale: scale, + Pad: opts.Pad, + Sketch: opts.Sketch, + Center: opts.Center, + Scale: scale, + ThemeID: opts.ThemeID, }) if err != nil { return nil, err diff --git a/e2etests-cli/main_test.go b/e2etests-cli/main_test.go index a47f2f819..5a2f925d7 100644 --- a/e2etests-cli/main_test.go +++ b/e2etests-cli/main_test.go @@ -765,6 +765,18 @@ i used to read assert.Testdata(t, ".svg", svg) }, }, + { + name: "theme-pdf", + skipCI: true, + run: func(t *testing.T, ctx context.Context, dir string, env *xos.Env) { + writeFile(t, dir, "in.d2", `x -> y`) + err := runTestMain(t, ctx, dir, env, "--theme=5", "in.d2", "out.pdf") + assert.Success(t, err) + + pdf := readFile(t, dir, "out.pdf") + testdataIgnoreDiff(t, ".pdf", pdf) + }, + }, { name: "renamed-board", skipCI: true, diff --git a/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf b/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf index 4cf0f8d37..29ec7f45f 100644 Binary files a/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf and b/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf differ diff --git a/e2etests-cli/testdata/TestCLI_E2E/no-nav-pdf.exp.pdf b/e2etests-cli/testdata/TestCLI_E2E/no-nav-pdf.exp.pdf index 0c8250ecc..1051f9022 100644 Binary files a/e2etests-cli/testdata/TestCLI_E2E/no-nav-pdf.exp.pdf and b/e2etests-cli/testdata/TestCLI_E2E/no-nav-pdf.exp.pdf differ diff --git a/e2etests-cli/testdata/TestCLI_E2E/no-nav-pptx.exp.pptx b/e2etests-cli/testdata/TestCLI_E2E/no-nav-pptx.exp.pptx index 0d0f5f7cc..9f7034968 100644 Binary files a/e2etests-cli/testdata/TestCLI_E2E/no-nav-pptx.exp.pptx and b/e2etests-cli/testdata/TestCLI_E2E/no-nav-pptx.exp.pptx differ diff --git a/e2etests-cli/testdata/TestCLI_E2E/renamed-board.exp.pdf b/e2etests-cli/testdata/TestCLI_E2E/renamed-board.exp.pdf index fc1d6dc01..e8309b1f8 100644 Binary files a/e2etests-cli/testdata/TestCLI_E2E/renamed-board.exp.pdf and b/e2etests-cli/testdata/TestCLI_E2E/renamed-board.exp.pdf differ diff --git a/e2etests-cli/testdata/TestCLI_E2E/theme-pdf.exp.pdf b/e2etests-cli/testdata/TestCLI_E2E/theme-pdf.exp.pdf new file mode 100644 index 000000000..f76bc25b5 Binary files /dev/null and b/e2etests-cli/testdata/TestCLI_E2E/theme-pdf.exp.pdf differ