From 26169f5abab4a957597b35862eee1ecfc639d7a3 Mon Sep 17 00:00:00 2001 From: Bernard Xie Date: Fri, 24 Feb 2023 11:57:52 -0800 Subject: [PATCH 1/2] fix --- d2themes/element.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/d2themes/element.go b/d2themes/element.go index 980755bc5..2d015801c 100644 --- a/d2themes/element.go +++ b/d2themes/element.go @@ -96,6 +96,9 @@ func (el *ThemableElement) SetMaskUrl(url string) { func (el *ThemableElement) Render() string { out := "<" + el.tag + if len(el.Href) > 0 { + out += fmt.Sprintf(` href="%s"`, el.Href) + } if el.X != math.MaxFloat64 { out += fmt.Sprintf(` x="%f"`, el.X) } @@ -148,9 +151,6 @@ func (el *ThemableElement) Render() string { if len(el.Transform) > 0 { out += fmt.Sprintf(` transform="%s"`, el.Transform) } - if len(el.Href) > 0 { - out += fmt.Sprintf(` href="%s"`, el.Href) - } if len(el.Xmlns) > 0 { out += fmt.Sprintf(` xmlns="%s"`, el.Xmlns) } From c3071598dc9955fd44773041e0dcf25577c50748 Mon Sep 17 00:00:00 2001 From: Bernard Xie Date: Fri, 24 Feb 2023 12:01:37 -0800 Subject: [PATCH 2/2] add comment, fix tests, add to changelog --- ci/release/changelogs/next.md | 1 + .../testdata/diagram_wider_than_tooltip/sketch.exp.svg | 2 +- .../d2svg/dark_theme/testdata/twitter/dark_theme.exp.svg | 4 ++-- d2themes/element.go | 1 + .../regression/elk_img_empty_label_panic/dagre/sketch.exp.svg | 2 +- .../regression/elk_img_empty_label_panic/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/images/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/images/elk/sketch.exp.svg | 2 +- .../overlapping_image_container_labels/dagre/sketch.exp.svg | 2 +- .../overlapping_image_container_labels/elk/sketch.exp.svg | 2 +- .../stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg | 2 +- .../stable/sequence_diagram_all_shapes/elk/sketch.exp.svg | 2 +- 12 files changed, 13 insertions(+), 11 deletions(-) diff --git a/ci/release/changelogs/next.md b/ci/release/changelogs/next.md index 269c3dcb0..487888e50 100644 --- a/ci/release/changelogs/next.md +++ b/ci/release/changelogs/next.md @@ -5,3 +5,4 @@ #### Bugfixes ⛑️ - Error reported when no actors are declared in sequence diagram. [#886](https://github.com/terrastruct/d2/pull/886) +- Fixed img bundling on image shapes. [#889](https://github.com/terrastruct/d2/issues/889) diff --git a/d2renderers/d2svg/appendix/testdata/diagram_wider_than_tooltip/sketch.exp.svg b/d2renderers/d2svg/appendix/testdata/diagram_wider_than_tooltip/sketch.exp.svg index 2a700a79b..cf1ac8dbc 100644 --- a/d2renderers/d2svg/appendix/testdata/diagram_wider_than_tooltip/sketch.exp.svg +++ b/d2renderers/d2svg/appendix/testdata/diagram_wider_than_tooltip/sketch.exp.svg @@ -47,7 +47,7 @@ svgEl.setAttribute("height", height * ratio - 16); } }); -]]>customerissuerstore1Like starbucks or somethingacquirer2I'm not sure what this isnetworkcustomer bankstore bankinitial transactionpayment processor behind the scenessimplified 1 banana please$10 dollarsthinking: wow, inflationchecks bank accountSavings: $11I can do that, here's my cardRun this cardProcess to card issuerProcess this payment$10 debit$10 creditAn error in judgement is about to occur +]]>customerissuerstore1Like starbucks or somethingacquirer2I'm not sure what this isnetworkcustomer bankstore bankinitial transactionpayment processor behind the scenessimplified 1 banana please$10 dollarsthinking: wow, inflationchecks bank accountSavings: $11I can do that, here's my cardRun this cardProcess to card issuerProcess this payment$10 debit$10 creditAn error in judgement is about to occur diff --git a/d2renderers/d2svg/dark_theme/testdata/twitter/dark_theme.exp.svg b/d2renderers/d2svg/dark_theme/testdata/twitter/dark_theme.exp.svg index 99c56c87a..71f8e83df 100644 --- a/d2renderers/d2svg/dark_theme/testdata/twitter/dark_theme.exp.svg +++ b/d2renderers/d2svg/dark_theme/testdata/twitter/dark_theme.exp.svg @@ -793,7 +793,7 @@ .md .contains-task-list:dir(rtl) .task-list-item-checkbox { margin: 0 -1.6em 0.25em 0.2em; } -People discovery serviceAd mixerOnboarding serviceTwitter Frontend WebIphoneAndroidTimelineScorerHome RankerTimeline ServiceHome mixerManhattanGizmoduckSocial graphTweety PiePrediction ServiceHome ScorerManhattanMemcacheFetchFeatureScoringPrediction Service...etc

Timeline mixer

+People discovery serviceAd mixerOnboarding serviceTwitter Frontend WebIphoneAndroidTimelineScorerHome RankerTimeline ServiceHome mixerManhattanGizmoduckSocial graphTweety PiePrediction ServiceHome ScorerManhattanMemcacheFetchFeatureScoringPrediction Service...etc

Timeline mixer

  • Inject ads, who-to-follow, onboarding
  • Conversation module
  • @@ -801,7 +801,7 @@
  • Tweat deduplication
  • Served data logging
-
GraphQLFederated Strato Column

Tweet/user content hydration, visibility filtering

+
GraphQLFederated Strato Column

Tweet/user content hydration, visibility filtering

TLS-API (being deprecated)CrMixerEarlyBirdUtagSpaceCommunities iPhone webHTTP AndroidThrift RPC Candidate FetchFeature HydrationCandidate sources diff --git a/d2themes/element.go b/d2themes/element.go index 2d015801c..5cb7b49c3 100644 --- a/d2themes/element.go +++ b/d2themes/element.go @@ -96,6 +96,7 @@ func (el *ThemableElement) SetMaskUrl(url string) { func (el *ThemableElement) Render() string { out := "<" + el.tag + // href has to be at the top for the img bundler to detect tags correctly if len(el.Href) > 0 { out += fmt.Sprintf(` href="%s"`, el.Href) } diff --git a/e2etests/testdata/regression/elk_img_empty_label_panic/dagre/sketch.exp.svg b/e2etests/testdata/regression/elk_img_empty_label_panic/dagre/sketch.exp.svg index 9ac8b424a..6e4e7c84b 100644 --- a/e2etests/testdata/regression/elk_img_empty_label_panic/dagre/sketch.exp.svg +++ b/e2etests/testdata/regression/elk_img_empty_label_panic/dagre/sketch.exp.svg @@ -30,7 +30,7 @@ svgEl.setAttribute("height", height * ratio - 16); } }); -]]> +]]> \ No newline at end of file diff --git a/e2etests/testdata/regression/elk_img_empty_label_panic/elk/sketch.exp.svg b/e2etests/testdata/regression/elk_img_empty_label_panic/elk/sketch.exp.svg index ac237de57..8f3b72af4 100644 --- a/e2etests/testdata/regression/elk_img_empty_label_panic/elk/sketch.exp.svg +++ b/e2etests/testdata/regression/elk_img_empty_label_panic/elk/sketch.exp.svg @@ -30,7 +30,7 @@ svgEl.setAttribute("height", height * ratio - 16); } }); -]]> +]]> \ No newline at end of file diff --git a/e2etests/testdata/stable/images/dagre/sketch.exp.svg b/e2etests/testdata/stable/images/dagre/sketch.exp.svg index b91cbd931..02d602922 100644 --- a/e2etests/testdata/stable/images/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/images/dagre/sketch.exp.svg @@ -37,7 +37,7 @@ svgEl.setAttribute("height", height * ratio - 16); } }); -]]>ab +]]>ab \ No newline at end of file diff --git a/e2etests/testdata/stable/images/elk/sketch.exp.svg b/e2etests/testdata/stable/images/elk/sketch.exp.svg index fd3c43173..39e581511 100644 --- a/e2etests/testdata/stable/images/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/images/elk/sketch.exp.svg @@ -37,7 +37,7 @@ svgEl.setAttribute("height", height * ratio - 16); } }); -]]>ab +]]>ab \ No newline at end of file diff --git a/e2etests/testdata/stable/overlapping_image_container_labels/dagre/sketch.exp.svg b/e2etests/testdata/stable/overlapping_image_container_labels/dagre/sketch.exp.svg index 476ae68dd..2d9d50075 100644 --- a/e2etests/testdata/stable/overlapping_image_container_labels/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/overlapping_image_container_labels/dagre/sketch.exp.svg @@ -51,7 +51,7 @@ svgEl.setAttribute("height", height * ratio - 16); } }); -]]>rootcontainerrootleft2rightrootinnerrootinnerleft2rightleft2right to inner left2to inner rightto inner left2to inner rightto left2 container rootto right container root +]]>rootcontainerrootleft2rightrootinnerrootinnerleft2rightleft2right to inner left2to inner rightto inner left2to inner rightto left2 container rootto right container root diff --git a/e2etests/testdata/stable/overlapping_image_container_labels/elk/sketch.exp.svg b/e2etests/testdata/stable/overlapping_image_container_labels/elk/sketch.exp.svg index 72ddaaa60..5e4de85c2 100644 --- a/e2etests/testdata/stable/overlapping_image_container_labels/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/overlapping_image_container_labels/elk/sketch.exp.svg @@ -51,7 +51,7 @@ svgEl.setAttribute("height", height * ratio - 16); } }); -]]>rootcontainerrootleft2rightrootinnerrootinnerleft2rightleft2right to inner left2to inner rightto inner left2to inner rightto left2 container rootto right container root +]]>rootcontainerrootleft2rightrootinnerrootinnerleft2rightleft2right to inner left2to inner rightto inner left2to inner rightto left2 container rootto right container root diff --git a/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg index e5991ad0a..090313fe6 100644 --- a/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg @@ -67,7 +67,7 @@ }); ]]>a labelblabelsa class+public() boolvoid-private() intvoidcloudyyyy:= 5 := a + 7 -fmt.Printf("%d", b)cyldiadocssix cornersa random iconoverpackdocs pagetoohard o saysinglepersona queuea squarea step at a timedatausersidintnamevarchar result := callThisFunction(obj, 5) midthis sideother side +fmt.Printf("%d", b)cyldiadocssix cornersa random iconoverpackdocs pagetoohard o saysinglepersona queuea squarea step at a timedatausersidintnamevarchar result := callThisFunction(obj, 5) midthis sideother side diff --git a/e2etests/testdata/stable/sequence_diagram_all_shapes/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_all_shapes/elk/sketch.exp.svg index e5991ad0a..090313fe6 100644 --- a/e2etests/testdata/stable/sequence_diagram_all_shapes/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagram_all_shapes/elk/sketch.exp.svg @@ -67,7 +67,7 @@ }); ]]>a labelblabelsa class+public() boolvoid-private() intvoidcloudyyyy:= 5 := a + 7 -fmt.Printf("%d", b)cyldiadocssix cornersa random iconoverpackdocs pagetoohard o saysinglepersona queuea squarea step at a timedatausersidintnamevarchar result := callThisFunction(obj, 5) midthis sideother side +fmt.Printf("%d", b)cyldiadocssix cornersa random iconoverpackdocs pagetoohard o saysinglepersona queuea squarea step at a timedatausersidintnamevarchar result := callThisFunction(obj, 5) midthis sideother side