support for --omit-version flag
This commit is contained in:
parent
bc395e240e
commit
a1e4312c2c
4 changed files with 26 additions and 5 deletions
|
|
@ -16,6 +16,7 @@
|
||||||
- CLI:
|
- CLI:
|
||||||
- Support `validate` command. [#2415](https://github.com/terrastruct/d2/pull/2415)
|
- 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)
|
- 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:
|
- Compiler:
|
||||||
- `link`s can be set to root path, e.g. `/xyz`. [#2357](https://github.com/terrastruct/d2/issues/2357)
|
- `link`s can be set to root path, e.g. `/xyz`. [#2357](https://github.com/terrastruct/d2/issues/2357)
|
||||||
- Parser:
|
- Parser:
|
||||||
|
|
|
||||||
|
|
@ -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
|
.It Fl -no-xml-tag Ar false
|
||||||
Omit XML tag (<?xml ...?>) from output SVG files. Useful when generating SVGs for direct HTML embedding
|
Omit XML tag (<?xml ...?>) from output SVG files. Useful when generating SVGs for direct HTML embedding
|
||||||
.Ns .
|
.Ns .
|
||||||
|
.It Fl -omit-version Ar false
|
||||||
|
omit D2 version from generated image
|
||||||
|
.Ns .
|
||||||
.El
|
.El
|
||||||
.Sh SUBCOMMANDS
|
.Sh SUBCOMMANDS
|
||||||
.Bl -tag -width Fl
|
.Bl -tag -width Fl
|
||||||
|
|
@ -218,6 +221,8 @@ See --browser flag.
|
||||||
See --stdout-format flag.
|
See --stdout-format flag.
|
||||||
.It Ev Sy D2_NO_XML_TAG
|
.It Ev Sy D2_NO_XML_TAG
|
||||||
See --no-xml-tag flag.
|
See --no-xml-tag flag.
|
||||||
|
.It Ev Sy OMIT_VERSION
|
||||||
|
See --omit-version
|
||||||
.El
|
.El
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
.Xr d2plugin-tala 1
|
.Xr d2plugin-tala 1
|
||||||
|
|
|
||||||
|
|
@ -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.")
|
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)
|
plugins, err := d2plugin.ListPlugins(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
@ -331,6 +336,7 @@ func Run(ctx context.Context, ms *xmain.State) (err error) {
|
||||||
Scale: scale,
|
Scale: scale,
|
||||||
NoXMLTag: noXMLTagFlag,
|
NoXMLTag: noXMLTagFlag,
|
||||||
Salt: saltFlag,
|
Salt: saltFlag,
|
||||||
|
OmitVersion: omitVersionFlag,
|
||||||
}
|
}
|
||||||
|
|
||||||
if *watchFlag {
|
if *watchFlag {
|
||||||
|
|
@ -884,6 +890,7 @@ func _render(ctx context.Context, ms *xmain.State, plugin d2plugin.Plugin, opts
|
||||||
NoXMLTag: opts.NoXMLTag,
|
NoXMLTag: opts.NoXMLTag,
|
||||||
Salt: opts.Salt,
|
Salt: opts.Salt,
|
||||||
Scale: scale,
|
Scale: scale,
|
||||||
|
OmitVersion: opts.OmitVersion,
|
||||||
}
|
}
|
||||||
svg, err := d2svg.Render(diagram, renderOpts)
|
svg, err := d2svg.Render(diagram, renderOpts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -978,6 +985,7 @@ func renderPDF(ctx context.Context, ms *xmain.State, plugin d2plugin.Plugin, opt
|
||||||
DarkThemeID: opts.DarkThemeID,
|
DarkThemeID: opts.DarkThemeID,
|
||||||
ThemeOverrides: opts.ThemeOverrides,
|
ThemeOverrides: opts.ThemeOverrides,
|
||||||
DarkThemeOverrides: opts.DarkThemeOverrides,
|
DarkThemeOverrides: opts.DarkThemeOverrides,
|
||||||
|
OmitVersion: opts.OmitVersion,
|
||||||
}
|
}
|
||||||
svg, err = d2svg.Render(diagram, renderOpts)
|
svg, err = d2svg.Render(diagram, renderOpts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -1085,6 +1093,7 @@ func renderPPTX(ctx context.Context, ms *xmain.State, presentation *pptx.Present
|
||||||
DarkThemeID: opts.DarkThemeID,
|
DarkThemeID: opts.DarkThemeID,
|
||||||
ThemeOverrides: opts.ThemeOverrides,
|
ThemeOverrides: opts.ThemeOverrides,
|
||||||
DarkThemeOverrides: opts.DarkThemeOverrides,
|
DarkThemeOverrides: opts.DarkThemeOverrides,
|
||||||
|
OmitVersion: opts.OmitVersion,
|
||||||
}
|
}
|
||||||
svg, err = d2svg.Render(diagram, renderOpts)
|
svg, err = d2svg.Render(diagram, renderOpts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -1332,6 +1341,7 @@ func renderPNGsForGIF(ctx context.Context, ms *xmain.State, plugin d2plugin.Plug
|
||||||
DarkThemeID: opts.DarkThemeID,
|
DarkThemeID: opts.DarkThemeID,
|
||||||
ThemeOverrides: opts.ThemeOverrides,
|
ThemeOverrides: opts.ThemeOverrides,
|
||||||
DarkThemeOverrides: opts.DarkThemeOverrides,
|
DarkThemeOverrides: opts.DarkThemeOverrides,
|
||||||
|
OmitVersion: opts.OmitVersion,
|
||||||
}
|
}
|
||||||
svg, err = d2svg.Render(diagram, renderOpts)
|
svg, err = d2svg.Render(diagram, renderOpts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -93,9 +93,10 @@ type RenderOpts struct {
|
||||||
|
|
||||||
// MasterID is passed when the diagram should use something other than its own hash for unique targeting
|
// MasterID is passed when the diagram should use something other than its own hash for unique targeting
|
||||||
// Currently, that's when multi-boards are collapsed
|
// Currently, that's when multi-boards are collapsed
|
||||||
MasterID string
|
MasterID string
|
||||||
NoXMLTag *bool
|
NoXMLTag *bool
|
||||||
Salt *string
|
Salt *string
|
||||||
|
OmitVersion *bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func dimensions(diagram *d2target.Diagram, pad int) (left, top, width, height int) {
|
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"
|
tag := "g"
|
||||||
// Many things change when this is rendering for animation
|
// Many things change when this is rendering for animation
|
||||||
if opts.MasterID == "" {
|
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>`,
|
dataD2Version := ""
|
||||||
version.Version,
|
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,
|
alignment,
|
||||||
w, h,
|
w, h,
|
||||||
dimensions,
|
dimensions,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue