support for --omit-version flag

This commit is contained in:
melsonic 2025-04-03 01:27:06 +05:30
parent bc395e240e
commit a1e4312c2c
No known key found for this signature in database
GPG key ID: DFA426742F621CD7
4 changed files with 26 additions and 5 deletions

View file

@ -16,6 +16,7 @@
- CLI:
- Support `validate` command. [#2415](https://github.com/terrastruct/d2/pull/2415)
- Watch mode ignores backup files (e.g. files created by certain editors like Helix). [#2131](https://github.com/terrastruct/d2/issues/2131)
- Support for `--omit-version` flag. [#2377](https://github.com/terrastruct/d2/issues/2377)
- Compiler:
- `link`s can be set to root path, e.g. `/xyz`. [#2357](https://github.com/terrastruct/d2/issues/2357)
- Parser:

View file

@ -148,6 +148,9 @@ Set the output format when writing to stdout. Supported formats are: png, svg. O
.It Fl -no-xml-tag Ar false
Omit XML tag (<?xml ...?>) from output SVG files. Useful when generating SVGs for direct HTML embedding
.Ns .
.It Fl -omit-version Ar false
omit D2 version from generated image
.Ns .
.El
.Sh SUBCOMMANDS
.Bl -tag -width Fl
@ -218,6 +221,8 @@ See --browser flag.
See --stdout-format flag.
.It Ev Sy D2_NO_XML_TAG
See --no-xml-tag flag.
.It Ev Sy OMIT_VERSION
See --omit-version
.El
.Sh SEE ALSO
.Xr d2plugin-tala 1

View file

@ -136,6 +136,11 @@ func Run(ctx context.Context, ms *xmain.State) (err error) {
saltFlag := ms.Opts.String("", "salt", "", "", "Add a salt value to ensure the output uses unique IDs. This is useful when generating multiple identical diagrams to be included in the same HTML doc, so that duplicate IDs do not cause invalid HTML. The salt value is a string that will be appended to IDs in the output.")
omitVersionFlag, err := ms.Opts.Bool("OMIT_VERSION", "omit-version", "", false, "omit D2 version from generated image")
if err != nil {
return err
}
plugins, err := d2plugin.ListPlugins(ctx)
if err != nil {
return err
@ -331,6 +336,7 @@ func Run(ctx context.Context, ms *xmain.State) (err error) {
Scale: scale,
NoXMLTag: noXMLTagFlag,
Salt: saltFlag,
OmitVersion: omitVersionFlag,
}
if *watchFlag {
@ -884,6 +890,7 @@ func _render(ctx context.Context, ms *xmain.State, plugin d2plugin.Plugin, opts
NoXMLTag: opts.NoXMLTag,
Salt: opts.Salt,
Scale: scale,
OmitVersion: opts.OmitVersion,
}
svg, err := d2svg.Render(diagram, renderOpts)
if err != nil {
@ -978,6 +985,7 @@ func renderPDF(ctx context.Context, ms *xmain.State, plugin d2plugin.Plugin, opt
DarkThemeID: opts.DarkThemeID,
ThemeOverrides: opts.ThemeOverrides,
DarkThemeOverrides: opts.DarkThemeOverrides,
OmitVersion: opts.OmitVersion,
}
svg, err = d2svg.Render(diagram, renderOpts)
if err != nil {
@ -1085,6 +1093,7 @@ func renderPPTX(ctx context.Context, ms *xmain.State, presentation *pptx.Present
DarkThemeID: opts.DarkThemeID,
ThemeOverrides: opts.ThemeOverrides,
DarkThemeOverrides: opts.DarkThemeOverrides,
OmitVersion: opts.OmitVersion,
}
svg, err = d2svg.Render(diagram, renderOpts)
if err != nil {
@ -1332,6 +1341,7 @@ func renderPNGsForGIF(ctx context.Context, ms *xmain.State, plugin d2plugin.Plug
DarkThemeID: opts.DarkThemeID,
ThemeOverrides: opts.ThemeOverrides,
DarkThemeOverrides: opts.DarkThemeOverrides,
OmitVersion: opts.OmitVersion,
}
svg, err = d2svg.Render(diagram, renderOpts)
if err != nil {

View file

@ -96,6 +96,7 @@ type RenderOpts struct {
MasterID string
NoXMLTag *bool
Salt *string
OmitVersion *bool
}
func dimensions(diagram *d2target.Diagram, pad int) (left, top, width, height int) {
@ -2629,8 +2630,12 @@ func Render(diagram *d2target.Diagram, opts *RenderOpts) ([]byte, error) {
tag := "g"
// Many things change when this is rendering for animation
if opts.MasterID == "" {
fitToScreenWrapperOpening = fmt.Sprintf(`<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="%s" preserveAspectRatio="%s meet" viewBox="0 0 %d %d"%s>`,
version.Version,
dataD2Version := ""
if opts.OmitVersion == nil || !*opts.OmitVersion {
dataD2Version = fmt.Sprintf(`data-d2-version="%s"`, version.Version)
}
fitToScreenWrapperOpening = fmt.Sprintf(`<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" %s preserveAspectRatio="%s meet" viewBox="0 0 %d %d"%s>`,
dataD2Version,
alignment,
w, h,
dimensions,