Skip to content

Commit bc78c29

Browse files
committed
glob and filter
1 parent 33288a2 commit bc78c29

3 files changed

Lines changed: 190 additions & 2 deletions

File tree

docs/tour/globs.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import GlobsRecursive2 from '@site/static/d2/globs-recursive-2.d2';
1111
import GlobsFilter from '@site/static/d2/globs-filter.d2';
1212
import GlobsFilter2 from '@site/static/d2/globs-filter-2.d2';
1313
import GlobsFilter3 from '@site/static/d2/globs-filter-3.d2';
14+
import GlobsFilterAnd from '@site/static/d2/globs-filter-and.d2';
1415
import GlobsFilterEndpoints from '@site/static/d2/globs-filter-endpoints.d2';
1516
import GlobsFilterGlobValue from '@site/static/d2/globs-filter-glob-value.d2';
1617
import GlobsInverseFilter from '@site/static/d2/globs-inverse-filter.d2';
@@ -166,6 +167,15 @@ means the key must be specified.
166167

167168
<div style={{width: 600}} className="embedSVG" dangerouslySetInnerHTML={{__html: require('@site/static/img/generated/globs-filter-glob-value.svg2')}}></div>
168169

170+
### AND filter
171+
172+
Adding multiple lines of filters counts as an AND.
173+
174+
<CodeBlock className="language-d2">
175+
{GlobsFilterAnd}
176+
</CodeBlock>
177+
178+
<div style={{width: 600}} className="embedSVG" dangerouslySetInnerHTML={{__html: require('@site/static/img/generated/globs-filter-and.svg2')}}></div>
169179

170180
### Connection endpoint filters
171181

@@ -175,8 +185,6 @@ Connections can be filtered by properties on their source and destination shapes
175185
{GlobsFilterEndpoints}
176186
</CodeBlock>
177187

178-
<div style={{width: 600}} className="embedSVG" dangerouslySetInnerHTML={{__html: require('@site/static/img/generated/globs-filter-endpoints.svg2')}}></div>
179-
180188
Endpoint filters also work with IDs, e.g. `&src: b`.
181189

182190
:::info

static/d2/globs-filter-and.d2

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
*: {
2+
&shape: person
3+
&connected: true
4+
style.fill: red
5+
}
6+
(** -> **)[*]: {
7+
&src: a
8+
&dst: c
9+
style.stroke: yellow
10+
}
11+
a -> b
12+
a.shape: person
13+
a -> c
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
<?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.7.0-HEAD" preserveAspectRatio="xMidYMid meet" viewBox="0 0 168 234"><svg class="d2-2093695687 d2-svg" width="168" height="234" viewBox="-1 -1 168 234"><rect x="-1.000000" y="-1.000000" width="168.000000" height="234.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
2+
.d2-2093695687 .text-bold {
3+
font-family: "d2-2093695687-font-bold";
4+
}
5+
@font-face {
6+
font-family: d2-2093695687-font-bold;
7+
src: url("data:application/font-woff;base64,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");
8+
}]]></style><style type="text/css"><![CDATA[.shape {
9+
shape-rendering: geometricPrecision;
10+
stroke-linejoin: round;
11+
}
12+
.connection {
13+
stroke-linecap: round;
14+
stroke-linejoin: round;
15+
}
16+
.blend {
17+
mix-blend-mode: multiply;
18+
opacity: 0.5;
19+
}
20+
21+
.d2-2093695687 .fill-N1{fill:#0A0F25;}
22+
.d2-2093695687 .fill-N2{fill:#676C7E;}
23+
.d2-2093695687 .fill-N3{fill:#9499AB;}
24+
.d2-2093695687 .fill-N4{fill:#CFD2DD;}
25+
.d2-2093695687 .fill-N5{fill:#DEE1EB;}
26+
.d2-2093695687 .fill-N6{fill:#EEF1F8;}
27+
.d2-2093695687 .fill-N7{fill:#FFFFFF;}
28+
.d2-2093695687 .fill-B1{fill:#0D32B2;}
29+
.d2-2093695687 .fill-B2{fill:#0D32B2;}
30+
.d2-2093695687 .fill-B3{fill:#E3E9FD;}
31+
.d2-2093695687 .fill-B4{fill:#E3E9FD;}
32+
.d2-2093695687 .fill-B5{fill:#EDF0FD;}
33+
.d2-2093695687 .fill-B6{fill:#F7F8FE;}
34+
.d2-2093695687 .fill-AA2{fill:#4A6FF3;}
35+
.d2-2093695687 .fill-AA4{fill:#EDF0FD;}
36+
.d2-2093695687 .fill-AA5{fill:#F7F8FE;}
37+
.d2-2093695687 .fill-AB4{fill:#EDF0FD;}
38+
.d2-2093695687 .fill-AB5{fill:#F7F8FE;}
39+
.d2-2093695687 .stroke-N1{stroke:#0A0F25;}
40+
.d2-2093695687 .stroke-N2{stroke:#676C7E;}
41+
.d2-2093695687 .stroke-N3{stroke:#9499AB;}
42+
.d2-2093695687 .stroke-N4{stroke:#CFD2DD;}
43+
.d2-2093695687 .stroke-N5{stroke:#DEE1EB;}
44+
.d2-2093695687 .stroke-N6{stroke:#EEF1F8;}
45+
.d2-2093695687 .stroke-N7{stroke:#FFFFFF;}
46+
.d2-2093695687 .stroke-B1{stroke:#0D32B2;}
47+
.d2-2093695687 .stroke-B2{stroke:#0D32B2;}
48+
.d2-2093695687 .stroke-B3{stroke:#E3E9FD;}
49+
.d2-2093695687 .stroke-B4{stroke:#E3E9FD;}
50+
.d2-2093695687 .stroke-B5{stroke:#EDF0FD;}
51+
.d2-2093695687 .stroke-B6{stroke:#F7F8FE;}
52+
.d2-2093695687 .stroke-AA2{stroke:#4A6FF3;}
53+
.d2-2093695687 .stroke-AA4{stroke:#EDF0FD;}
54+
.d2-2093695687 .stroke-AA5{stroke:#F7F8FE;}
55+
.d2-2093695687 .stroke-AB4{stroke:#EDF0FD;}
56+
.d2-2093695687 .stroke-AB5{stroke:#F7F8FE;}
57+
.d2-2093695687 .background-color-N1{background-color:#0A0F25;}
58+
.d2-2093695687 .background-color-N2{background-color:#676C7E;}
59+
.d2-2093695687 .background-color-N3{background-color:#9499AB;}
60+
.d2-2093695687 .background-color-N4{background-color:#CFD2DD;}
61+
.d2-2093695687 .background-color-N5{background-color:#DEE1EB;}
62+
.d2-2093695687 .background-color-N6{background-color:#EEF1F8;}
63+
.d2-2093695687 .background-color-N7{background-color:#FFFFFF;}
64+
.d2-2093695687 .background-color-B1{background-color:#0D32B2;}
65+
.d2-2093695687 .background-color-B2{background-color:#0D32B2;}
66+
.d2-2093695687 .background-color-B3{background-color:#E3E9FD;}
67+
.d2-2093695687 .background-color-B4{background-color:#E3E9FD;}
68+
.d2-2093695687 .background-color-B5{background-color:#EDF0FD;}
69+
.d2-2093695687 .background-color-B6{background-color:#F7F8FE;}
70+
.d2-2093695687 .background-color-AA2{background-color:#4A6FF3;}
71+
.d2-2093695687 .background-color-AA4{background-color:#EDF0FD;}
72+
.d2-2093695687 .background-color-AA5{background-color:#F7F8FE;}
73+
.d2-2093695687 .background-color-AB4{background-color:#EDF0FD;}
74+
.d2-2093695687 .background-color-AB5{background-color:#F7F8FE;}
75+
.d2-2093695687 .color-N1{color:#0A0F25;}
76+
.d2-2093695687 .color-N2{color:#676C7E;}
77+
.d2-2093695687 .color-N3{color:#9499AB;}
78+
.d2-2093695687 .color-N4{color:#CFD2DD;}
79+
.d2-2093695687 .color-N5{color:#DEE1EB;}
80+
.d2-2093695687 .color-N6{color:#EEF1F8;}
81+
.d2-2093695687 .color-N7{color:#FFFFFF;}
82+
.d2-2093695687 .color-B1{color:#0D32B2;}
83+
.d2-2093695687 .color-B2{color:#0D32B2;}
84+
.d2-2093695687 .color-B3{color:#E3E9FD;}
85+
.d2-2093695687 .color-B4{color:#E3E9FD;}
86+
.d2-2093695687 .color-B5{color:#EDF0FD;}
87+
.d2-2093695687 .color-B6{color:#F7F8FE;}
88+
.d2-2093695687 .color-AA2{color:#4A6FF3;}
89+
.d2-2093695687 .color-AA4{color:#EDF0FD;}
90+
.d2-2093695687 .color-AA5{color:#F7F8FE;}
91+
.d2-2093695687 .color-AB4{color:#EDF0FD;}
92+
.d2-2093695687 .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-2093695687);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2093695687);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-2093695687);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-2093695687);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2093695687);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2093695687);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2093695687);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-2093695687);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2093695687);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-2093695687);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2093695687);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2093695687);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2093695687);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2093695687);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2093695687);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2093695687);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2093695687);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2093695687);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}@media screen and (prefers-color-scheme:dark){
93+
.d2-2093695687 .fill-N1{fill:#CDD6F4;}
94+
.d2-2093695687 .fill-N2{fill:#BAC2DE;}
95+
.d2-2093695687 .fill-N3{fill:#A6ADC8;}
96+
.d2-2093695687 .fill-N4{fill:#585B70;}
97+
.d2-2093695687 .fill-N5{fill:#45475A;}
98+
.d2-2093695687 .fill-N6{fill:#313244;}
99+
.d2-2093695687 .fill-N7{fill:#1E1E2E;}
100+
.d2-2093695687 .fill-B1{fill:#CBA6f7;}
101+
.d2-2093695687 .fill-B2{fill:#CBA6f7;}
102+
.d2-2093695687 .fill-B3{fill:#6C7086;}
103+
.d2-2093695687 .fill-B4{fill:#585B70;}
104+
.d2-2093695687 .fill-B5{fill:#45475A;}
105+
.d2-2093695687 .fill-B6{fill:#313244;}
106+
.d2-2093695687 .fill-AA2{fill:#f38BA8;}
107+
.d2-2093695687 .fill-AA4{fill:#45475A;}
108+
.d2-2093695687 .fill-AA5{fill:#313244;}
109+
.d2-2093695687 .fill-AB4{fill:#45475A;}
110+
.d2-2093695687 .fill-AB5{fill:#313244;}
111+
.d2-2093695687 .stroke-N1{stroke:#CDD6F4;}
112+
.d2-2093695687 .stroke-N2{stroke:#BAC2DE;}
113+
.d2-2093695687 .stroke-N3{stroke:#A6ADC8;}
114+
.d2-2093695687 .stroke-N4{stroke:#585B70;}
115+
.d2-2093695687 .stroke-N5{stroke:#45475A;}
116+
.d2-2093695687 .stroke-N6{stroke:#313244;}
117+
.d2-2093695687 .stroke-N7{stroke:#1E1E2E;}
118+
.d2-2093695687 .stroke-B1{stroke:#CBA6f7;}
119+
.d2-2093695687 .stroke-B2{stroke:#CBA6f7;}
120+
.d2-2093695687 .stroke-B3{stroke:#6C7086;}
121+
.d2-2093695687 .stroke-B4{stroke:#585B70;}
122+
.d2-2093695687 .stroke-B5{stroke:#45475A;}
123+
.d2-2093695687 .stroke-B6{stroke:#313244;}
124+
.d2-2093695687 .stroke-AA2{stroke:#f38BA8;}
125+
.d2-2093695687 .stroke-AA4{stroke:#45475A;}
126+
.d2-2093695687 .stroke-AA5{stroke:#313244;}
127+
.d2-2093695687 .stroke-AB4{stroke:#45475A;}
128+
.d2-2093695687 .stroke-AB5{stroke:#313244;}
129+
.d2-2093695687 .background-color-N1{background-color:#CDD6F4;}
130+
.d2-2093695687 .background-color-N2{background-color:#BAC2DE;}
131+
.d2-2093695687 .background-color-N3{background-color:#A6ADC8;}
132+
.d2-2093695687 .background-color-N4{background-color:#585B70;}
133+
.d2-2093695687 .background-color-N5{background-color:#45475A;}
134+
.d2-2093695687 .background-color-N6{background-color:#313244;}
135+
.d2-2093695687 .background-color-N7{background-color:#1E1E2E;}
136+
.d2-2093695687 .background-color-B1{background-color:#CBA6f7;}
137+
.d2-2093695687 .background-color-B2{background-color:#CBA6f7;}
138+
.d2-2093695687 .background-color-B3{background-color:#6C7086;}
139+
.d2-2093695687 .background-color-B4{background-color:#585B70;}
140+
.d2-2093695687 .background-color-B5{background-color:#45475A;}
141+
.d2-2093695687 .background-color-B6{background-color:#313244;}
142+
.d2-2093695687 .background-color-AA2{background-color:#f38BA8;}
143+
.d2-2093695687 .background-color-AA4{background-color:#45475A;}
144+
.d2-2093695687 .background-color-AA5{background-color:#313244;}
145+
.d2-2093695687 .background-color-AB4{background-color:#45475A;}
146+
.d2-2093695687 .background-color-AB5{background-color:#313244;}
147+
.d2-2093695687 .color-N1{color:#CDD6F4;}
148+
.d2-2093695687 .color-N2{color:#BAC2DE;}
149+
.d2-2093695687 .color-N3{color:#A6ADC8;}
150+
.d2-2093695687 .color-N4{color:#585B70;}
151+
.d2-2093695687 .color-N5{color:#45475A;}
152+
.d2-2093695687 .color-N6{color:#313244;}
153+
.d2-2093695687 .color-N7{color:#1E1E2E;}
154+
.d2-2093695687 .color-B1{color:#CBA6f7;}
155+
.d2-2093695687 .color-B2{color:#CBA6f7;}
156+
.d2-2093695687 .color-B3{color:#6C7086;}
157+
.d2-2093695687 .color-B4{color:#585B70;}
158+
.d2-2093695687 .color-B5{color:#45475A;}
159+
.d2-2093695687 .color-B6{color:#313244;}
160+
.d2-2093695687 .color-AA2{color:#f38BA8;}
161+
.d2-2093695687 .color-AA4{color:#45475A;}
162+
.d2-2093695687 .color-AA5{color:#313244;}
163+
.d2-2093695687 .color-AB4{color:#45475A;}
164+
.d2-2093695687 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-2093695687);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-2093695687);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2093695687);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-2093695687);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-2093695687);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-2093695687);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-2093695687);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-2093695687);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-2093695687);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-2093695687);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-2093695687);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-2093695687);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-2093695687);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2093695687);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-2093695687);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-2093695687);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-2093695687);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-2093695687);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}}]]></style><g class="YQ=="><g class="shape" ><path d="M 105 66 H 61 V 65 C 61 54 66 44 73 39 C 69 35 67 28 67 21 C 67 10 74 0 83 0 C 92 0 99 10 99 21 C 99 28 97 34 92 38 C 100 43 104 53 104 64 V 65 H 105 Z" fill="red" class=" stroke-B1" style="stroke-width:2;" /></g><text x="83.000000" y="87.000000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">a</text></g><g class="Yg=="><g class="shape" ><rect x="0.000000" y="166.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="26.500000" y="204.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">b</text></g><g class="Yw=="><g class="shape" ><rect x="113.000000" y="166.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="139.500000" y="204.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">c</text></g><g class="KGEgLSZndDsgYilbMF0="><marker id="mk-d2-2093695687-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" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 59.864149 67.646160 C 33.400002 106.000000 26.500000 126.000000 26.500000 162.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2093695687-3488378134)" mask="url(#d2-2093695687)" /></g><g class="KGEgLSZndDsgYylbMF0="><marker id="mk-d2-2093695687-2776753381" 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="yellow" class="connection" stroke-width="2" /> </marker><path d="M 105.142600 66.641482 C 132.399994 105.800003 139.500000 126.000000 139.500000 162.000000" stroke="yellow" fill="none" class="connection" style="stroke-width:2;" marker-end="url(#mk-d2-2093695687-2776753381)" mask="url(#d2-2093695687)" /></g><mask id="d2-2093695687" maskUnits="userSpaceOnUse" x="-1" y="-1" width="168" height="234">
165+
<rect x="-1" y="-1" width="168" height="234" fill="white"></rect>
166+
167+
</mask></svg></svg>

0 commit comments

Comments
 (0)