d2ir: Update links after import
This commit is contained in:
parent
d296ba0f1d
commit
7d9f8b6c08
3 changed files with 135 additions and 13 deletions
|
|
@ -201,18 +201,7 @@ func (c *compiler) compileField(dst *Map, kp *d2ast.KeyPath, refctx *RefContext)
|
||||||
switch n := n.(type) {
|
switch n := n.(type) {
|
||||||
case *Field:
|
case *Field:
|
||||||
if n.Primary_ != nil {
|
if n.Primary_ != nil {
|
||||||
refctx2 := refctx.Copy()
|
f.Primary_ = n.Primary_.Copy(f).(*Scalar)
|
||||||
key2 := *refctx.Key
|
|
||||||
refctx.Key = &key2
|
|
||||||
refctx2.Key.Value = d2ast.MakeValueBox(n.Primary_.Value)
|
|
||||||
// If the link is a board, we need to transform it into an absolute path.
|
|
||||||
if f.Name == "link" {
|
|
||||||
c.compileLink(refctx2)
|
|
||||||
}
|
|
||||||
f.Primary_ = &Scalar{
|
|
||||||
parent: f,
|
|
||||||
Value: refctx2.Key.Value.ScalarBox().Unbox(),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if n.Composite != nil {
|
if n.Composite != nil {
|
||||||
f.Composite = n.Composite.Copy(f).(Composite)
|
f.Composite = n.Composite.Copy(f).(Composite)
|
||||||
|
|
@ -238,6 +227,7 @@ func (c *compiler) compileField(dst *Map, kp *d2ast.KeyPath, refctx *RefContext)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
OverlayMap(f.Map(), n)
|
OverlayMap(f.Map(), n)
|
||||||
|
c.updateLinks(f.Map())
|
||||||
switch NodeBoardKind(f) {
|
switch NodeBoardKind(f) {
|
||||||
case BoardScenario, BoardStep:
|
case BoardScenario, BoardStep:
|
||||||
c.compileClasses(f.Map())
|
c.compileClasses(f.Map())
|
||||||
|
|
@ -255,6 +245,24 @@ func (c *compiler) compileField(dst *Map, kp *d2ast.KeyPath, refctx *RefContext)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *compiler) updateLinks(m *Map) {
|
||||||
|
for _, f := range m.Fields {
|
||||||
|
if f.Name == "link" {
|
||||||
|
bida := BoardIDA(f)
|
||||||
|
aida := IDA(f)
|
||||||
|
if len(bida) != len(aida) {
|
||||||
|
prependIDA := aida[:len(aida)-len(bida)]
|
||||||
|
kp := d2ast.MakeKeyPath(prependIDA)
|
||||||
|
s := d2format.Format(kp) + "." + f.Primary_.Value.ScalarString()
|
||||||
|
f.Primary_.Value = d2ast.MakeValueBox(d2ast.RawString(s, true)).ScalarBox().Unbox()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if f.Map() != nil {
|
||||||
|
c.updateLinks(f.Map())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (c *compiler) compileLink(refctx *RefContext) {
|
func (c *compiler) compileLink(refctx *RefContext) {
|
||||||
val := refctx.Key.Value.ScalarBox().Unbox().ScalarString()
|
val := refctx.Key.Value.ScalarBox().Unbox().ScalarString()
|
||||||
link, err := d2parser.ParseKey(val)
|
link, err := d2parser.ParseKey(val)
|
||||||
|
|
|
||||||
|
|
@ -410,7 +410,11 @@ steps: {
|
||||||
writeFile(t, dir, "y.d2", `meow`)
|
writeFile(t, dir, "y.d2", `meow`)
|
||||||
err := runTestMain(t, ctx, dir, env, filepath.Join(dir, "hello-world.d2"))
|
err := runTestMain(t, ctx, dir, env, filepath.Join(dir, "hello-world.d2"))
|
||||||
assert.Success(t, err)
|
assert.Success(t, err)
|
||||||
svg := readFile(t, dir, "hello-world.svg")
|
svg := readFile(t, dir, "hello-world/x/y.svg")
|
||||||
|
assert.Testdata(t, ".svg", svg)
|
||||||
|
svg = readFile(t, dir, "hello-world/x/index.svg")
|
||||||
|
assert.Testdata(t, ".svg", svg)
|
||||||
|
svg = readFile(t, dir, "hello-world/index.svg")
|
||||||
assert.Testdata(t, ".svg", svg)
|
assert.Testdata(t, ".svg", svg)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
110
e2etests-cli/testdata/TestCLI_E2E/board_import.exp.svg
vendored
Normal file
110
e2etests-cli/testdata/TestCLI_E2E/board_import.exp.svg
vendored
Normal file
|
|
@ -0,0 +1,110 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.4.2-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 304 285"><svg id="d2-svg" class="d2-1110812327" width="304" height="285" viewBox="-101 -118 304 285"><rect x="-101.000000" y="-118.000000" width="304.000000" height="285.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
|
||||||
|
.appendix-icon {
|
||||||
|
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
|
||||||
|
}
|
||||||
|
.d2-1110812327 .text-bold {
|
||||||
|
font-family: "d2-1110812327-font-bold";
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: d2-1110812327-font-bold;
|
||||||
|
src: url("data:application/font-woff;base64,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");
|
||||||
|
}]]></style><style type="text/css"><![CDATA[.shape {
|
||||||
|
shape-rendering: geometricPrecision;
|
||||||
|
stroke-linejoin: round;
|
||||||
|
}
|
||||||
|
.connection {
|
||||||
|
stroke-linecap: round;
|
||||||
|
stroke-linejoin: round;
|
||||||
|
}
|
||||||
|
.blend {
|
||||||
|
mix-blend-mode: multiply;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.d2-1110812327 .fill-N1{fill:#0A0F25;}
|
||||||
|
.d2-1110812327 .fill-N2{fill:#676C7E;}
|
||||||
|
.d2-1110812327 .fill-N3{fill:#9499AB;}
|
||||||
|
.d2-1110812327 .fill-N4{fill:#CFD2DD;}
|
||||||
|
.d2-1110812327 .fill-N5{fill:#DEE1EB;}
|
||||||
|
.d2-1110812327 .fill-N6{fill:#EEF1F8;}
|
||||||
|
.d2-1110812327 .fill-N7{fill:#FFFFFF;}
|
||||||
|
.d2-1110812327 .fill-B1{fill:#0D32B2;}
|
||||||
|
.d2-1110812327 .fill-B2{fill:#0D32B2;}
|
||||||
|
.d2-1110812327 .fill-B3{fill:#E3E9FD;}
|
||||||
|
.d2-1110812327 .fill-B4{fill:#E3E9FD;}
|
||||||
|
.d2-1110812327 .fill-B5{fill:#EDF0FD;}
|
||||||
|
.d2-1110812327 .fill-B6{fill:#F7F8FE;}
|
||||||
|
.d2-1110812327 .fill-AA2{fill:#4A6FF3;}
|
||||||
|
.d2-1110812327 .fill-AA4{fill:#EDF0FD;}
|
||||||
|
.d2-1110812327 .fill-AA5{fill:#F7F8FE;}
|
||||||
|
.d2-1110812327 .fill-AB4{fill:#EDF0FD;}
|
||||||
|
.d2-1110812327 .fill-AB5{fill:#F7F8FE;}
|
||||||
|
.d2-1110812327 .stroke-N1{stroke:#0A0F25;}
|
||||||
|
.d2-1110812327 .stroke-N2{stroke:#676C7E;}
|
||||||
|
.d2-1110812327 .stroke-N3{stroke:#9499AB;}
|
||||||
|
.d2-1110812327 .stroke-N4{stroke:#CFD2DD;}
|
||||||
|
.d2-1110812327 .stroke-N5{stroke:#DEE1EB;}
|
||||||
|
.d2-1110812327 .stroke-N6{stroke:#EEF1F8;}
|
||||||
|
.d2-1110812327 .stroke-N7{stroke:#FFFFFF;}
|
||||||
|
.d2-1110812327 .stroke-B1{stroke:#0D32B2;}
|
||||||
|
.d2-1110812327 .stroke-B2{stroke:#0D32B2;}
|
||||||
|
.d2-1110812327 .stroke-B3{stroke:#E3E9FD;}
|
||||||
|
.d2-1110812327 .stroke-B4{stroke:#E3E9FD;}
|
||||||
|
.d2-1110812327 .stroke-B5{stroke:#EDF0FD;}
|
||||||
|
.d2-1110812327 .stroke-B6{stroke:#F7F8FE;}
|
||||||
|
.d2-1110812327 .stroke-AA2{stroke:#4A6FF3;}
|
||||||
|
.d2-1110812327 .stroke-AA4{stroke:#EDF0FD;}
|
||||||
|
.d2-1110812327 .stroke-AA5{stroke:#F7F8FE;}
|
||||||
|
.d2-1110812327 .stroke-AB4{stroke:#EDF0FD;}
|
||||||
|
.d2-1110812327 .stroke-AB5{stroke:#F7F8FE;}
|
||||||
|
.d2-1110812327 .background-color-N1{background-color:#0A0F25;}
|
||||||
|
.d2-1110812327 .background-color-N2{background-color:#676C7E;}
|
||||||
|
.d2-1110812327 .background-color-N3{background-color:#9499AB;}
|
||||||
|
.d2-1110812327 .background-color-N4{background-color:#CFD2DD;}
|
||||||
|
.d2-1110812327 .background-color-N5{background-color:#DEE1EB;}
|
||||||
|
.d2-1110812327 .background-color-N6{background-color:#EEF1F8;}
|
||||||
|
.d2-1110812327 .background-color-N7{background-color:#FFFFFF;}
|
||||||
|
.d2-1110812327 .background-color-B1{background-color:#0D32B2;}
|
||||||
|
.d2-1110812327 .background-color-B2{background-color:#0D32B2;}
|
||||||
|
.d2-1110812327 .background-color-B3{background-color:#E3E9FD;}
|
||||||
|
.d2-1110812327 .background-color-B4{background-color:#E3E9FD;}
|
||||||
|
.d2-1110812327 .background-color-B5{background-color:#EDF0FD;}
|
||||||
|
.d2-1110812327 .background-color-B6{background-color:#F7F8FE;}
|
||||||
|
.d2-1110812327 .background-color-AA2{background-color:#4A6FF3;}
|
||||||
|
.d2-1110812327 .background-color-AA4{background-color:#EDF0FD;}
|
||||||
|
.d2-1110812327 .background-color-AA5{background-color:#F7F8FE;}
|
||||||
|
.d2-1110812327 .background-color-AB4{background-color:#EDF0FD;}
|
||||||
|
.d2-1110812327 .background-color-AB5{background-color:#F7F8FE;}
|
||||||
|
.d2-1110812327 .color-N1{color:#0A0F25;}
|
||||||
|
.d2-1110812327 .color-N2{color:#676C7E;}
|
||||||
|
.d2-1110812327 .color-N3{color:#9499AB;}
|
||||||
|
.d2-1110812327 .color-N4{color:#CFD2DD;}
|
||||||
|
.d2-1110812327 .color-N5{color:#DEE1EB;}
|
||||||
|
.d2-1110812327 .color-N6{color:#EEF1F8;}
|
||||||
|
.d2-1110812327 .color-N7{color:#FFFFFF;}
|
||||||
|
.d2-1110812327 .color-B1{color:#0D32B2;}
|
||||||
|
.d2-1110812327 .color-B2{color:#0D32B2;}
|
||||||
|
.d2-1110812327 .color-B3{color:#E3E9FD;}
|
||||||
|
.d2-1110812327 .color-B4{color:#E3E9FD;}
|
||||||
|
.d2-1110812327 .color-B5{color:#EDF0FD;}
|
||||||
|
.d2-1110812327 .color-B6{color:#F7F8FE;}
|
||||||
|
.d2-1110812327 .color-AA2{color:#4A6FF3;}
|
||||||
|
.d2-1110812327 .color-AA4{color:#EDF0FD;}
|
||||||
|
.d2-1110812327 .color-AA5{color:#F7F8FE;}
|
||||||
|
.d2-1110812327 .color-AB4{color:#EDF0FD;}
|
||||||
|
.d2-1110812327 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><a href="x/index.svg" xlink:href="x/index.svg"><g id="x"><g class="shape" ><rect x="0.000000" y="0.000000" width="85.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="42.500000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">x</text><g transform="translate(69 -16)" class="appendix-icon"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_3440_35088111)">
|
||||||
|
<path d="M16 31.1109C24.3456 31.1109 31.1111 24.3454 31.1111 15.9998C31.1111 7.65415 24.3456 0.888672 16 0.888672C7.65436 0.888672 0.888885 7.65415 0.888885 15.9998C0.888885 24.3454 7.65436 31.1109 16 31.1109Z" fill="white" stroke="#DEE1EB"/>
|
||||||
|
<path d="M14.3909 16.7965C14.7364 17.2584 15.1772 17.6406 15.6834 17.9171C16.1896 18.1938 16.7494 18.3582 17.3248 18.3993C17.9001 18.4405 18.4777 18.3575 19.0181 18.1559C19.5586 17.9543 20.0492 17.6389 20.4571 17.2309L22.8708 14.8173C23.6036 14.0586 24.0089 13.0425 23.9998 11.9877C23.9906 10.933 23.5676 9.92404 22.8217 9.17821C22.0759 8.43237 21.067 8.00931 20.0123 8.00015C18.9575 7.99098 17.9413 8.39644 17.1827 9.1292L15.7988 10.505" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M17.609 15.1874C17.2635 14.7255 16.8227 14.3433 16.3165 14.0667C15.8103 13.7902 15.2505 13.6257 14.6752 13.5845C14.0998 13.5433 13.5223 13.6263 12.9819 13.8279C12.4414 14.0295 11.9506 14.345 11.5428 14.753L9.1292 17.1666C8.39644 17.9252 7.99098 18.9414 8.00015 19.9962C8.00931 21.0509 8.43237 22.0598 9.17821 22.8056C9.92405 23.5515 10.933 23.9745 11.9877 23.9837C13.0425 23.9928 14.0586 23.5875 14.8173 22.8547L16.193 21.4788" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_3440_35088111">
|
||||||
|
<rect width="32" height="32" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
</g></g></a><mask id="d2-1110812327" maskUnits="userSpaceOnUse" x="-101" y="-118" width="304" height="285">
|
||||||
|
<rect x="-101" y="-118" width="304" height="285" fill="white"></rect>
|
||||||
|
|
||||||
|
</mask></svg></svg>
|
||||||
|
After Width: | Height: | Size: 11 KiB |
Loading…
Reference in a new issue