d2svg: parse connection label fill gradients

This commit is contained in:
Alexander Wang 2025-02-03 16:28:07 -07:00
parent 7b140e7aff
commit d6ac9f8f00
No known key found for this signature in database
GPG key ID: BE3937D0D52D8927
6 changed files with 207 additions and 180 deletions

View file

@ -1906,6 +1906,9 @@ func Render(diagram *d2target.Diagram, opts *RenderOpts) ([]byte, error) {
if color.IsGradient(c.Stroke) { if color.IsGradient(c.Stroke) {
defineGradients(buf, c.Stroke) defineGradients(buf, c.Stroke)
} }
if color.IsGradient(c.Fill) {
defineGradients(buf, c.Fill)
}
} }
// Apply hash on IDs for targeting, to be specific for this diagram // Apply hash on IDs for targeting, to be specific for this diagram

View file

@ -58,7 +58,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 9, "x": 9,
"y": 166 "y": 187
}, },
"width": 89, "width": 89,
"height": 66, "height": 66,
@ -106,37 +106,38 @@
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
"stroke": "B1", "stroke": "red",
"fill": "radial-gradient(#ffffff, #000000)",
"borderRadius": 10, "borderRadius": 10,
"label": "", "label": "foobar",
"fontSize": 16, "fontSize": 16,
"fontFamily": "DEFAULT", "fontFamily": "DEFAULT",
"language": "", "language": "",
"color": "N2", "color": "red",
"italic": true, "italic": true,
"bold": false, "bold": false,
"underline": false, "underline": false,
"labelWidth": 0, "labelWidth": 46,
"labelHeight": 0, "labelHeight": 21,
"labelPosition": "", "labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0, "labelPercentage": 0,
"link": "", "link": "",
"route": [ "route": [
{ {
"x": 53, "x": 53,
"y": 66 "y": 65.5
}, },
{ {
"x": 53, "x": 53,
"y": 106 "y": 114.30000305175781
}, },
{ {
"x": 53, "x": 53,
"y": 126 "y": 138.6999969482422
}, },
{ {
"x": 53, "x": 53,
"y": 166 "y": 187.5
} }
], ],
"isCurve": true, "isCurve": true,

View file

@ -1,10 +1,17 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="v0.6.8-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 108 234"><svg class="d2-1875635527 d2-svg" width="108" height="234" viewBox="-1 -1 108 234"><rect x="-1.000000" y="-1.000000" width="108.000000" height="234.000000" rx="0.000000" fill="url('#grad-748b4596c77533b881df8829b0adfb302f4dd5d0')" stroke-width="0" /><style type="text/css"><![CDATA[ <?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="v0.6.8-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 108 255"><svg class="d2-1069291522 d2-svg" width="108" height="255" viewBox="-1 -1 108 255"><rect x="-1.000000" y="-1.000000" width="108.000000" height="255.000000" rx="0.000000" fill="url('#grad-748b4596c77533b881df8829b0adfb302f4dd5d0')" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1875635527 .text-bold { .d2-1069291522 .text-bold {
font-family: "d2-1875635527-font-bold"; font-family: "d2-1069291522-font-bold";
} }
@font-face { @font-face {
font-family: d2-1875635527-font-bold; font-family: d2-1069291522-font-bold;
src: url("data:application/font-woff;base64,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"); src: url("data:application/font-woff;base64,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");
}
.d2-1069291522 .text-italic {
font-family: "d2-1069291522-font-italic";
}
@font-face {
font-family: d2-1069291522-font-italic;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape { }]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
@ -18,78 +25,78 @@
opacity: 0.5; opacity: 0.5;
} }
.d2-1875635527 .fill-N1{fill:#0A0F25;} .d2-1069291522 .fill-N1{fill:#0A0F25;}
.d2-1875635527 .fill-N2{fill:#676C7E;} .d2-1069291522 .fill-N2{fill:#676C7E;}
.d2-1875635527 .fill-N3{fill:#9499AB;} .d2-1069291522 .fill-N3{fill:#9499AB;}
.d2-1875635527 .fill-N4{fill:#CFD2DD;} .d2-1069291522 .fill-N4{fill:#CFD2DD;}
.d2-1875635527 .fill-N5{fill:#DEE1EB;} .d2-1069291522 .fill-N5{fill:#DEE1EB;}
.d2-1875635527 .fill-N6{fill:#EEF1F8;} .d2-1069291522 .fill-N6{fill:#EEF1F8;}
.d2-1875635527 .fill-N7{fill:#FFFFFF;} .d2-1069291522 .fill-N7{fill:#FFFFFF;}
.d2-1875635527 .fill-B1{fill:#0D32B2;} .d2-1069291522 .fill-B1{fill:#0D32B2;}
.d2-1875635527 .fill-B2{fill:#0D32B2;} .d2-1069291522 .fill-B2{fill:#0D32B2;}
.d2-1875635527 .fill-B3{fill:#E3E9FD;} .d2-1069291522 .fill-B3{fill:#E3E9FD;}
.d2-1875635527 .fill-B4{fill:#E3E9FD;} .d2-1069291522 .fill-B4{fill:#E3E9FD;}
.d2-1875635527 .fill-B5{fill:#EDF0FD;} .d2-1069291522 .fill-B5{fill:#EDF0FD;}
.d2-1875635527 .fill-B6{fill:#F7F8FE;} .d2-1069291522 .fill-B6{fill:#F7F8FE;}
.d2-1875635527 .fill-AA2{fill:#4A6FF3;} .d2-1069291522 .fill-AA2{fill:#4A6FF3;}
.d2-1875635527 .fill-AA4{fill:#EDF0FD;} .d2-1069291522 .fill-AA4{fill:#EDF0FD;}
.d2-1875635527 .fill-AA5{fill:#F7F8FE;} .d2-1069291522 .fill-AA5{fill:#F7F8FE;}
.d2-1875635527 .fill-AB4{fill:#EDF0FD;} .d2-1069291522 .fill-AB4{fill:#EDF0FD;}
.d2-1875635527 .fill-AB5{fill:#F7F8FE;} .d2-1069291522 .fill-AB5{fill:#F7F8FE;}
.d2-1875635527 .stroke-N1{stroke:#0A0F25;} .d2-1069291522 .stroke-N1{stroke:#0A0F25;}
.d2-1875635527 .stroke-N2{stroke:#676C7E;} .d2-1069291522 .stroke-N2{stroke:#676C7E;}
.d2-1875635527 .stroke-N3{stroke:#9499AB;} .d2-1069291522 .stroke-N3{stroke:#9499AB;}
.d2-1875635527 .stroke-N4{stroke:#CFD2DD;} .d2-1069291522 .stroke-N4{stroke:#CFD2DD;}
.d2-1875635527 .stroke-N5{stroke:#DEE1EB;} .d2-1069291522 .stroke-N5{stroke:#DEE1EB;}
.d2-1875635527 .stroke-N6{stroke:#EEF1F8;} .d2-1069291522 .stroke-N6{stroke:#EEF1F8;}
.d2-1875635527 .stroke-N7{stroke:#FFFFFF;} .d2-1069291522 .stroke-N7{stroke:#FFFFFF;}
.d2-1875635527 .stroke-B1{stroke:#0D32B2;} .d2-1069291522 .stroke-B1{stroke:#0D32B2;}
.d2-1875635527 .stroke-B2{stroke:#0D32B2;} .d2-1069291522 .stroke-B2{stroke:#0D32B2;}
.d2-1875635527 .stroke-B3{stroke:#E3E9FD;} .d2-1069291522 .stroke-B3{stroke:#E3E9FD;}
.d2-1875635527 .stroke-B4{stroke:#E3E9FD;} .d2-1069291522 .stroke-B4{stroke:#E3E9FD;}
.d2-1875635527 .stroke-B5{stroke:#EDF0FD;} .d2-1069291522 .stroke-B5{stroke:#EDF0FD;}
.d2-1875635527 .stroke-B6{stroke:#F7F8FE;} .d2-1069291522 .stroke-B6{stroke:#F7F8FE;}
.d2-1875635527 .stroke-AA2{stroke:#4A6FF3;} .d2-1069291522 .stroke-AA2{stroke:#4A6FF3;}
.d2-1875635527 .stroke-AA4{stroke:#EDF0FD;} .d2-1069291522 .stroke-AA4{stroke:#EDF0FD;}
.d2-1875635527 .stroke-AA5{stroke:#F7F8FE;} .d2-1069291522 .stroke-AA5{stroke:#F7F8FE;}
.d2-1875635527 .stroke-AB4{stroke:#EDF0FD;} .d2-1069291522 .stroke-AB4{stroke:#EDF0FD;}
.d2-1875635527 .stroke-AB5{stroke:#F7F8FE;} .d2-1069291522 .stroke-AB5{stroke:#F7F8FE;}
.d2-1875635527 .background-color-N1{background-color:#0A0F25;} .d2-1069291522 .background-color-N1{background-color:#0A0F25;}
.d2-1875635527 .background-color-N2{background-color:#676C7E;} .d2-1069291522 .background-color-N2{background-color:#676C7E;}
.d2-1875635527 .background-color-N3{background-color:#9499AB;} .d2-1069291522 .background-color-N3{background-color:#9499AB;}
.d2-1875635527 .background-color-N4{background-color:#CFD2DD;} .d2-1069291522 .background-color-N4{background-color:#CFD2DD;}
.d2-1875635527 .background-color-N5{background-color:#DEE1EB;} .d2-1069291522 .background-color-N5{background-color:#DEE1EB;}
.d2-1875635527 .background-color-N6{background-color:#EEF1F8;} .d2-1069291522 .background-color-N6{background-color:#EEF1F8;}
.d2-1875635527 .background-color-N7{background-color:#FFFFFF;} .d2-1069291522 .background-color-N7{background-color:#FFFFFF;}
.d2-1875635527 .background-color-B1{background-color:#0D32B2;} .d2-1069291522 .background-color-B1{background-color:#0D32B2;}
.d2-1875635527 .background-color-B2{background-color:#0D32B2;} .d2-1069291522 .background-color-B2{background-color:#0D32B2;}
.d2-1875635527 .background-color-B3{background-color:#E3E9FD;} .d2-1069291522 .background-color-B3{background-color:#E3E9FD;}
.d2-1875635527 .background-color-B4{background-color:#E3E9FD;} .d2-1069291522 .background-color-B4{background-color:#E3E9FD;}
.d2-1875635527 .background-color-B5{background-color:#EDF0FD;} .d2-1069291522 .background-color-B5{background-color:#EDF0FD;}
.d2-1875635527 .background-color-B6{background-color:#F7F8FE;} .d2-1069291522 .background-color-B6{background-color:#F7F8FE;}
.d2-1875635527 .background-color-AA2{background-color:#4A6FF3;} .d2-1069291522 .background-color-AA2{background-color:#4A6FF3;}
.d2-1875635527 .background-color-AA4{background-color:#EDF0FD;} .d2-1069291522 .background-color-AA4{background-color:#EDF0FD;}
.d2-1875635527 .background-color-AA5{background-color:#F7F8FE;} .d2-1069291522 .background-color-AA5{background-color:#F7F8FE;}
.d2-1875635527 .background-color-AB4{background-color:#EDF0FD;} .d2-1069291522 .background-color-AB4{background-color:#EDF0FD;}
.d2-1875635527 .background-color-AB5{background-color:#F7F8FE;} .d2-1069291522 .background-color-AB5{background-color:#F7F8FE;}
.d2-1875635527 .color-N1{color:#0A0F25;} .d2-1069291522 .color-N1{color:#0A0F25;}
.d2-1875635527 .color-N2{color:#676C7E;} .d2-1069291522 .color-N2{color:#676C7E;}
.d2-1875635527 .color-N3{color:#9499AB;} .d2-1069291522 .color-N3{color:#9499AB;}
.d2-1875635527 .color-N4{color:#CFD2DD;} .d2-1069291522 .color-N4{color:#CFD2DD;}
.d2-1875635527 .color-N5{color:#DEE1EB;} .d2-1069291522 .color-N5{color:#DEE1EB;}
.d2-1875635527 .color-N6{color:#EEF1F8;} .d2-1069291522 .color-N6{color:#EEF1F8;}
.d2-1875635527 .color-N7{color:#FFFFFF;} .d2-1069291522 .color-N7{color:#FFFFFF;}
.d2-1875635527 .color-B1{color:#0D32B2;} .d2-1069291522 .color-B1{color:#0D32B2;}
.d2-1875635527 .color-B2{color:#0D32B2;} .d2-1069291522 .color-B2{color:#0D32B2;}
.d2-1875635527 .color-B3{color:#E3E9FD;} .d2-1069291522 .color-B3{color:#E3E9FD;}
.d2-1875635527 .color-B4{color:#E3E9FD;} .d2-1069291522 .color-B4{color:#E3E9FD;}
.d2-1875635527 .color-B5{color:#EDF0FD;} .d2-1069291522 .color-B5{color:#EDF0FD;}
.d2-1875635527 .color-B6{color:#F7F8FE;} .d2-1069291522 .color-B6{color:#F7F8FE;}
.d2-1875635527 .color-AA2{color:#4A6FF3;} .d2-1069291522 .color-AA2{color:#4A6FF3;}
.d2-1875635527 .color-AA4{color:#EDF0FD;} .d2-1069291522 .color-AA4{color:#EDF0FD;}
.d2-1875635527 .color-AA5{color:#F7F8FE;} .d2-1069291522 .color-AA5{color:#F7F8FE;}
.d2-1875635527 .color-AB4{color:#EDF0FD;} .d2-1069291522 .color-AB4{color:#EDF0FD;}
.d2-1875635527 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-1875635527);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1875635527);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1875635527);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1875635527);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1875635527);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1875635527);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1875635527);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-1875635527);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1875635527);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1875635527);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1875635527);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1875635527);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1875635527);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1875635527);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1875635527);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1875635527);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1875635527);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1875635527);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><defs><radialGradient id="grad-748b4596c77533b881df8829b0adfb302f4dd5d0"> .d2-1069291522 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-1069291522);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1069291522);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1069291522);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1069291522);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1069291522);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1069291522);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1069291522);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-1069291522);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1069291522);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1069291522);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1069291522);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1069291522);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1069291522);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1069291522);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1069291522);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1069291522);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1069291522);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1069291522);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><defs><radialGradient id="grad-748b4596c77533b881df8829b0adfb302f4dd5d0">
<stop offset="0%" stop-color="white" /> <stop offset="0%" stop-color="white" />
<stop offset="60%" stop-color="#8A2BE2" /> <stop offset="60%" stop-color="#8A2BE2" />
<stop offset="100%" stop-color="#4B0082" /> <stop offset="100%" stop-color="#4B0082" />
@ -118,8 +125,12 @@
<stop offset="50%" stop-color="green" /> <stop offset="50%" stop-color="green" />
<stop offset="75%" stop-color="cyan" /> <stop offset="75%" stop-color="cyan" />
<stop offset="100%" stop-color="blue" /> <stop offset="100%" stop-color="blue" />
</linearGradient></defs><g class="Z3JhZGllbnQ="><g class="shape" ><rect x="0.000000" y="0.000000" width="106.000000" height="66.000000" stroke="url('#grad-38ebdc3aba5158fdec998f13cadd2b81d5d3e467')" fill="url('#grad-984dfec132f72578000afe61cf8daaed70c7c3de')" style="stroke-width:2;" /></g><text x="53.000000" y="38.500000" fill="url('#grad-df376e8348556a67f106fb4c1ec75fc6e38aabea')" class="text-bold" style="text-anchor:middle;font-size:16px">gradient</text></g><g class="Y29sb3Jz"><g class="shape" ><rect x="9.000000" y="166.000000" width="89.000000" height="66.000000" stroke="url('#grad-6a6578853b2dd58addb4313cedbcddecb53a2df1')" fill="url('#grad-867086f31fcac752507fbbbe0405e35050a4704e')" style="stroke-width:2;" /></g><text x="53.500000" y="204.500000" fill="url('#grad-ac2d0b347164c939a2dee5c122da0c2ada91319c')" class="text-bold" style="text-anchor:middle;font-size:16px">colors</text></g><g class="KGdyYWRpZW50IC0mZ3Q7IGNvbG9ycylbMF0="><marker id="mk-d2-1875635527-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 53.000000 68.000000 C 53.000000 106.000000 53.000000 126.000000 53.000000 162.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1875635527-3488378134)" mask="url(#d2-1875635527)" /></g><mask id="d2-1875635527" maskUnits="userSpaceOnUse" x="-1" y="-1" width="108" height="234"> </linearGradient></defs><defs><radialGradient id="grad-55e7a4a151193a1c51bab42473171be11be44c9c">
<rect x="-1" y="-1" width="108" height="234" fill="white"></rect> <stop offset="0.00%" stop-color="#ffffff" />
<stop offset="100.00%" stop-color="#000000" />
</radialGradient></defs><g class="Z3JhZGllbnQ="><g class="shape" ><rect x="0.000000" y="0.000000" width="106.000000" height="66.000000" stroke="url('#grad-38ebdc3aba5158fdec998f13cadd2b81d5d3e467')" fill="url('#grad-984dfec132f72578000afe61cf8daaed70c7c3de')" style="stroke-width:2;" /></g><text x="53.000000" y="38.500000" fill="url('#grad-df376e8348556a67f106fb4c1ec75fc6e38aabea')" class="text-bold" style="text-anchor:middle;font-size:16px">gradient</text></g><g class="Y29sb3Jz"><g class="shape" ><rect x="9.000000" y="187.000000" width="89.000000" height="66.000000" stroke="url('#grad-6a6578853b2dd58addb4313cedbcddecb53a2df1')" fill="url('#grad-867086f31fcac752507fbbbe0405e35050a4704e')" style="stroke-width:2;" /></g><text x="53.500000" y="225.500000" fill="url('#grad-ac2d0b347164c939a2dee5c122da0c2ada91319c')" class="text-bold" style="text-anchor:middle;font-size:16px">colors</text></g><g class="KGdyYWRpZW50IC0mZ3Q7IGNvbG9ycylbMF0="><marker id="mk-d2-1069291522-1222543834" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="red" class="connection" stroke-width="2" /> </marker><path d="M 53.000000 67.500000 C 53.000000 114.300003 53.000000 138.699997 53.000000 183.500000" stroke="red" fill="none" class="connection" style="stroke-width:2;" marker-end="url(#mk-d2-1069291522-1222543834)" mask="url(#d2-1069291522)" /><rect x="26.000000" y="113.000000" width="54.000000" height="27.000000" rx="10.000000" fill="url('#grad-55e7a4a151193a1c51bab42473171be11be44c9c')" /><text x="53.000000" y="132.000000" fill="red" class="text-italic" style="text-anchor:middle;font-size:16px">foobar</text></g><mask id="d2-1069291522" maskUnits="userSpaceOnUse" x="-1" y="-1" width="108" height="255">
<rect x="-1" y="-1" width="108" height="255" fill="white"></rect>
<rect x="22.500000" y="22.500000" width="61" height="21" fill="rgba(0,0,0,0.75)"></rect> <rect x="22.500000" y="22.500000" width="61" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="31.500000" y="188.500000" width="44" height="21" fill="rgba(0,0,0,0.75)"></rect> <rect x="31.500000" y="209.500000" width="44" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="30.000000" y="116.000000" width="46" height="21" fill="black"></rect>
</mask></svg></svg> </mask></svg></svg>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View file

@ -58,7 +58,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 20, "x": 20,
"y": 148 "y": 239
}, },
"width": 89, "width": 89,
"height": 66, "height": 66,
@ -106,19 +106,20 @@
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
"stroke": "B1", "stroke": "red",
"fill": "radial-gradient(#ffffff, #000000)",
"borderRadius": 10, "borderRadius": 10,
"label": "", "label": "foobar",
"fontSize": 16, "fontSize": 16,
"fontFamily": "DEFAULT", "fontFamily": "DEFAULT",
"language": "", "language": "",
"color": "N2", "color": "red",
"italic": true, "italic": true,
"bold": false, "bold": false,
"underline": false, "underline": false,
"labelWidth": 0, "labelWidth": 46,
"labelHeight": 0, "labelHeight": 21,
"labelPosition": "", "labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0, "labelPercentage": 0,
"link": "", "link": "",
"route": [ "route": [
@ -128,7 +129,7 @@
}, },
{ {
"x": 65, "x": 65,
"y": 148 "y": 239
} }
], ],
"animated": false, "animated": false,

View file

@ -1,10 +1,17 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="v0.6.8-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 108 204"><svg class="d2-3711055192 d2-svg" width="108" height="204" viewBox="11 11 108 204"><rect x="11.000000" y="11.000000" width="108.000000" height="204.000000" rx="0.000000" fill="url('#grad-748b4596c77533b881df8829b0adfb302f4dd5d0')" stroke-width="0" /><style type="text/css"><![CDATA[ <?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="v0.6.8-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 108 295"><svg class="d2-2458666147 d2-svg" width="108" height="295" viewBox="11 11 108 295"><rect x="11.000000" y="11.000000" width="108.000000" height="295.000000" rx="0.000000" fill="url('#grad-748b4596c77533b881df8829b0adfb302f4dd5d0')" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3711055192 .text-bold { .d2-2458666147 .text-bold {
font-family: "d2-3711055192-font-bold"; font-family: "d2-2458666147-font-bold";
} }
@font-face { @font-face {
font-family: d2-3711055192-font-bold; font-family: d2-2458666147-font-bold;
src: url("data:application/font-woff;base64,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"); src: url("data:application/font-woff;base64,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");
}
.d2-2458666147 .text-italic {
font-family: "d2-2458666147-font-italic";
}
@font-face {
font-family: d2-2458666147-font-italic;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape { }]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
@ -18,78 +25,78 @@
opacity: 0.5; opacity: 0.5;
} }
.d2-3711055192 .fill-N1{fill:#0A0F25;} .d2-2458666147 .fill-N1{fill:#0A0F25;}
.d2-3711055192 .fill-N2{fill:#676C7E;} .d2-2458666147 .fill-N2{fill:#676C7E;}
.d2-3711055192 .fill-N3{fill:#9499AB;} .d2-2458666147 .fill-N3{fill:#9499AB;}
.d2-3711055192 .fill-N4{fill:#CFD2DD;} .d2-2458666147 .fill-N4{fill:#CFD2DD;}
.d2-3711055192 .fill-N5{fill:#DEE1EB;} .d2-2458666147 .fill-N5{fill:#DEE1EB;}
.d2-3711055192 .fill-N6{fill:#EEF1F8;} .d2-2458666147 .fill-N6{fill:#EEF1F8;}
.d2-3711055192 .fill-N7{fill:#FFFFFF;} .d2-2458666147 .fill-N7{fill:#FFFFFF;}
.d2-3711055192 .fill-B1{fill:#0D32B2;} .d2-2458666147 .fill-B1{fill:#0D32B2;}
.d2-3711055192 .fill-B2{fill:#0D32B2;} .d2-2458666147 .fill-B2{fill:#0D32B2;}
.d2-3711055192 .fill-B3{fill:#E3E9FD;} .d2-2458666147 .fill-B3{fill:#E3E9FD;}
.d2-3711055192 .fill-B4{fill:#E3E9FD;} .d2-2458666147 .fill-B4{fill:#E3E9FD;}
.d2-3711055192 .fill-B5{fill:#EDF0FD;} .d2-2458666147 .fill-B5{fill:#EDF0FD;}
.d2-3711055192 .fill-B6{fill:#F7F8FE;} .d2-2458666147 .fill-B6{fill:#F7F8FE;}
.d2-3711055192 .fill-AA2{fill:#4A6FF3;} .d2-2458666147 .fill-AA2{fill:#4A6FF3;}
.d2-3711055192 .fill-AA4{fill:#EDF0FD;} .d2-2458666147 .fill-AA4{fill:#EDF0FD;}
.d2-3711055192 .fill-AA5{fill:#F7F8FE;} .d2-2458666147 .fill-AA5{fill:#F7F8FE;}
.d2-3711055192 .fill-AB4{fill:#EDF0FD;} .d2-2458666147 .fill-AB4{fill:#EDF0FD;}
.d2-3711055192 .fill-AB5{fill:#F7F8FE;} .d2-2458666147 .fill-AB5{fill:#F7F8FE;}
.d2-3711055192 .stroke-N1{stroke:#0A0F25;} .d2-2458666147 .stroke-N1{stroke:#0A0F25;}
.d2-3711055192 .stroke-N2{stroke:#676C7E;} .d2-2458666147 .stroke-N2{stroke:#676C7E;}
.d2-3711055192 .stroke-N3{stroke:#9499AB;} .d2-2458666147 .stroke-N3{stroke:#9499AB;}
.d2-3711055192 .stroke-N4{stroke:#CFD2DD;} .d2-2458666147 .stroke-N4{stroke:#CFD2DD;}
.d2-3711055192 .stroke-N5{stroke:#DEE1EB;} .d2-2458666147 .stroke-N5{stroke:#DEE1EB;}
.d2-3711055192 .stroke-N6{stroke:#EEF1F8;} .d2-2458666147 .stroke-N6{stroke:#EEF1F8;}
.d2-3711055192 .stroke-N7{stroke:#FFFFFF;} .d2-2458666147 .stroke-N7{stroke:#FFFFFF;}
.d2-3711055192 .stroke-B1{stroke:#0D32B2;} .d2-2458666147 .stroke-B1{stroke:#0D32B2;}
.d2-3711055192 .stroke-B2{stroke:#0D32B2;} .d2-2458666147 .stroke-B2{stroke:#0D32B2;}
.d2-3711055192 .stroke-B3{stroke:#E3E9FD;} .d2-2458666147 .stroke-B3{stroke:#E3E9FD;}
.d2-3711055192 .stroke-B4{stroke:#E3E9FD;} .d2-2458666147 .stroke-B4{stroke:#E3E9FD;}
.d2-3711055192 .stroke-B5{stroke:#EDF0FD;} .d2-2458666147 .stroke-B5{stroke:#EDF0FD;}
.d2-3711055192 .stroke-B6{stroke:#F7F8FE;} .d2-2458666147 .stroke-B6{stroke:#F7F8FE;}
.d2-3711055192 .stroke-AA2{stroke:#4A6FF3;} .d2-2458666147 .stroke-AA2{stroke:#4A6FF3;}
.d2-3711055192 .stroke-AA4{stroke:#EDF0FD;} .d2-2458666147 .stroke-AA4{stroke:#EDF0FD;}
.d2-3711055192 .stroke-AA5{stroke:#F7F8FE;} .d2-2458666147 .stroke-AA5{stroke:#F7F8FE;}
.d2-3711055192 .stroke-AB4{stroke:#EDF0FD;} .d2-2458666147 .stroke-AB4{stroke:#EDF0FD;}
.d2-3711055192 .stroke-AB5{stroke:#F7F8FE;} .d2-2458666147 .stroke-AB5{stroke:#F7F8FE;}
.d2-3711055192 .background-color-N1{background-color:#0A0F25;} .d2-2458666147 .background-color-N1{background-color:#0A0F25;}
.d2-3711055192 .background-color-N2{background-color:#676C7E;} .d2-2458666147 .background-color-N2{background-color:#676C7E;}
.d2-3711055192 .background-color-N3{background-color:#9499AB;} .d2-2458666147 .background-color-N3{background-color:#9499AB;}
.d2-3711055192 .background-color-N4{background-color:#CFD2DD;} .d2-2458666147 .background-color-N4{background-color:#CFD2DD;}
.d2-3711055192 .background-color-N5{background-color:#DEE1EB;} .d2-2458666147 .background-color-N5{background-color:#DEE1EB;}
.d2-3711055192 .background-color-N6{background-color:#EEF1F8;} .d2-2458666147 .background-color-N6{background-color:#EEF1F8;}
.d2-3711055192 .background-color-N7{background-color:#FFFFFF;} .d2-2458666147 .background-color-N7{background-color:#FFFFFF;}
.d2-3711055192 .background-color-B1{background-color:#0D32B2;} .d2-2458666147 .background-color-B1{background-color:#0D32B2;}
.d2-3711055192 .background-color-B2{background-color:#0D32B2;} .d2-2458666147 .background-color-B2{background-color:#0D32B2;}
.d2-3711055192 .background-color-B3{background-color:#E3E9FD;} .d2-2458666147 .background-color-B3{background-color:#E3E9FD;}
.d2-3711055192 .background-color-B4{background-color:#E3E9FD;} .d2-2458666147 .background-color-B4{background-color:#E3E9FD;}
.d2-3711055192 .background-color-B5{background-color:#EDF0FD;} .d2-2458666147 .background-color-B5{background-color:#EDF0FD;}
.d2-3711055192 .background-color-B6{background-color:#F7F8FE;} .d2-2458666147 .background-color-B6{background-color:#F7F8FE;}
.d2-3711055192 .background-color-AA2{background-color:#4A6FF3;} .d2-2458666147 .background-color-AA2{background-color:#4A6FF3;}
.d2-3711055192 .background-color-AA4{background-color:#EDF0FD;} .d2-2458666147 .background-color-AA4{background-color:#EDF0FD;}
.d2-3711055192 .background-color-AA5{background-color:#F7F8FE;} .d2-2458666147 .background-color-AA5{background-color:#F7F8FE;}
.d2-3711055192 .background-color-AB4{background-color:#EDF0FD;} .d2-2458666147 .background-color-AB4{background-color:#EDF0FD;}
.d2-3711055192 .background-color-AB5{background-color:#F7F8FE;} .d2-2458666147 .background-color-AB5{background-color:#F7F8FE;}
.d2-3711055192 .color-N1{color:#0A0F25;} .d2-2458666147 .color-N1{color:#0A0F25;}
.d2-3711055192 .color-N2{color:#676C7E;} .d2-2458666147 .color-N2{color:#676C7E;}
.d2-3711055192 .color-N3{color:#9499AB;} .d2-2458666147 .color-N3{color:#9499AB;}
.d2-3711055192 .color-N4{color:#CFD2DD;} .d2-2458666147 .color-N4{color:#CFD2DD;}
.d2-3711055192 .color-N5{color:#DEE1EB;} .d2-2458666147 .color-N5{color:#DEE1EB;}
.d2-3711055192 .color-N6{color:#EEF1F8;} .d2-2458666147 .color-N6{color:#EEF1F8;}
.d2-3711055192 .color-N7{color:#FFFFFF;} .d2-2458666147 .color-N7{color:#FFFFFF;}
.d2-3711055192 .color-B1{color:#0D32B2;} .d2-2458666147 .color-B1{color:#0D32B2;}
.d2-3711055192 .color-B2{color:#0D32B2;} .d2-2458666147 .color-B2{color:#0D32B2;}
.d2-3711055192 .color-B3{color:#E3E9FD;} .d2-2458666147 .color-B3{color:#E3E9FD;}
.d2-3711055192 .color-B4{color:#E3E9FD;} .d2-2458666147 .color-B4{color:#E3E9FD;}
.d2-3711055192 .color-B5{color:#EDF0FD;} .d2-2458666147 .color-B5{color:#EDF0FD;}
.d2-3711055192 .color-B6{color:#F7F8FE;} .d2-2458666147 .color-B6{color:#F7F8FE;}
.d2-3711055192 .color-AA2{color:#4A6FF3;} .d2-2458666147 .color-AA2{color:#4A6FF3;}
.d2-3711055192 .color-AA4{color:#EDF0FD;} .d2-2458666147 .color-AA4{color:#EDF0FD;}
.d2-3711055192 .color-AA5{color:#F7F8FE;} .d2-2458666147 .color-AA5{color:#F7F8FE;}
.d2-3711055192 .color-AB4{color:#EDF0FD;} .d2-2458666147 .color-AB4{color:#EDF0FD;}
.d2-3711055192 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3711055192);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3711055192);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-3711055192);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-3711055192);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3711055192);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3711055192);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3711055192);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-3711055192);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3711055192);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-3711055192);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3711055192);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3711055192);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3711055192);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3711055192);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3711055192);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-3711055192);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3711055192);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3711055192);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><defs><radialGradient id="grad-748b4596c77533b881df8829b0adfb302f4dd5d0"> .d2-2458666147 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2458666147);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2458666147);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-2458666147);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-2458666147);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2458666147);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2458666147);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2458666147);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-2458666147);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2458666147);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-2458666147);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2458666147);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2458666147);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2458666147);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2458666147);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2458666147);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2458666147);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2458666147);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2458666147);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><defs><radialGradient id="grad-748b4596c77533b881df8829b0adfb302f4dd5d0">
<stop offset="0%" stop-color="white" /> <stop offset="0%" stop-color="white" />
<stop offset="60%" stop-color="#8A2BE2" /> <stop offset="60%" stop-color="#8A2BE2" />
<stop offset="100%" stop-color="#4B0082" /> <stop offset="100%" stop-color="#4B0082" />
@ -118,8 +125,12 @@
<stop offset="50%" stop-color="green" /> <stop offset="50%" stop-color="green" />
<stop offset="75%" stop-color="cyan" /> <stop offset="75%" stop-color="cyan" />
<stop offset="100%" stop-color="blue" /> <stop offset="100%" stop-color="blue" />
</linearGradient></defs><g class="Z3JhZGllbnQ="><g class="shape" ><rect x="12.000000" y="12.000000" width="106.000000" height="66.000000" stroke="url('#grad-38ebdc3aba5158fdec998f13cadd2b81d5d3e467')" fill="url('#grad-984dfec132f72578000afe61cf8daaed70c7c3de')" style="stroke-width:2;" /></g><text x="65.000000" y="50.500000" fill="url('#grad-df376e8348556a67f106fb4c1ec75fc6e38aabea')" class="text-bold" style="text-anchor:middle;font-size:16px">gradient</text></g><g class="Y29sb3Jz"><g class="shape" ><rect x="20.000000" y="148.000000" width="89.000000" height="66.000000" stroke="url('#grad-6a6578853b2dd58addb4313cedbcddecb53a2df1')" fill="url('#grad-867086f31fcac752507fbbbe0405e35050a4704e')" style="stroke-width:2;" /></g><text x="64.500000" y="186.500000" fill="url('#grad-ac2d0b347164c939a2dee5c122da0c2ada91319c')" class="text-bold" style="text-anchor:middle;font-size:16px">colors</text></g><g class="KGdyYWRpZW50IC0mZ3Q7IGNvbG9ycylbMF0="><marker id="mk-d2-3711055192-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 65.000000 80.000000 L 65.000000 144.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3711055192-3488378134)" mask="url(#d2-3711055192)" /></g><mask id="d2-3711055192" maskUnits="userSpaceOnUse" x="11" y="11" width="108" height="204"> </linearGradient></defs><defs><radialGradient id="grad-55e7a4a151193a1c51bab42473171be11be44c9c">
<rect x="11" y="11" width="108" height="204" fill="white"></rect> <stop offset="0.00%" stop-color="#ffffff" />
<stop offset="100.00%" stop-color="#000000" />
</radialGradient></defs><g class="Z3JhZGllbnQ="><g class="shape" ><rect x="12.000000" y="12.000000" width="106.000000" height="66.000000" stroke="url('#grad-38ebdc3aba5158fdec998f13cadd2b81d5d3e467')" fill="url('#grad-984dfec132f72578000afe61cf8daaed70c7c3de')" style="stroke-width:2;" /></g><text x="65.000000" y="50.500000" fill="url('#grad-df376e8348556a67f106fb4c1ec75fc6e38aabea')" class="text-bold" style="text-anchor:middle;font-size:16px">gradient</text></g><g class="Y29sb3Jz"><g class="shape" ><rect x="20.000000" y="239.000000" width="89.000000" height="66.000000" stroke="url('#grad-6a6578853b2dd58addb4313cedbcddecb53a2df1')" fill="url('#grad-867086f31fcac752507fbbbe0405e35050a4704e')" style="stroke-width:2;" /></g><text x="64.500000" y="277.500000" fill="url('#grad-ac2d0b347164c939a2dee5c122da0c2ada91319c')" class="text-bold" style="text-anchor:middle;font-size:16px">colors</text></g><g class="KGdyYWRpZW50IC0mZ3Q7IGNvbG9ycylbMF0="><marker id="mk-d2-2458666147-1222543834" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="red" class="connection" stroke-width="2" /> </marker><path d="M 65.000000 80.000000 L 65.000000 235.000000" stroke="red" fill="none" class="connection" style="stroke-width:2;" marker-end="url(#mk-d2-2458666147-1222543834)" mask="url(#d2-2458666147)" /><rect x="38.000000" y="145.000000" width="54.000000" height="27.000000" rx="10.000000" fill="url('#grad-55e7a4a151193a1c51bab42473171be11be44c9c')" /><text x="65.000000" y="164.000000" fill="red" class="text-italic" style="text-anchor:middle;font-size:16px">foobar</text></g><mask id="d2-2458666147" maskUnits="userSpaceOnUse" x="11" y="11" width="108" height="295">
<rect x="11" y="11" width="108" height="295" fill="white"></rect>
<rect x="34.500000" y="34.500000" width="61" height="21" fill="rgba(0,0,0,0.75)"></rect> <rect x="34.500000" y="34.500000" width="61" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="42.500000" y="170.500000" width="44" height="21" fill="rgba(0,0,0,0.75)"></rect> <rect x="42.500000" y="261.500000" width="44" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="42.000000" y="148.000000" width="46" height="21" fill="black"></rect>
</mask></svg></svg> </mask></svg></svg>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View file

@ -468,7 +468,7 @@ colors: {
style.stroke: "linear-gradient(to right, red, blue, green)" style.stroke: "linear-gradient(to right, red, blue, green)"
style.font-color: "linear-gradient(to bottom right, red 0%, yellow 25%, green 50%, cyan 75%, blue 100%)" style.font-color: "linear-gradient(to bottom right, red 0%, yellow 25%, green 50%, cyan 75%, blue 100%)"
} }
gradient -> colors gradient -> colors: foobar {style.font-color: red; style.stroke: red; style.fill: "radial-gradient(#ffffff, #000000)"}
-- var_in_markdown -- -- var_in_markdown --
vars: { vars: {