This commit is contained in:
ppenguin 2025-05-17 15:29:24 +02:00 committed by GitHub
commit f4a2f87f84
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 79 additions and 1 deletions

11
.gitignore vendored
View file

@ -6,6 +6,17 @@ e2e_report.html
bin
out
d2
# generated svg examples (from make themesdemo)
testdata/examples/svg/
# https://github.com/golang/go/blob/8b67cf0bc6ad657fddcbaaa10729d0086f08f9a9/src/cmd/go/internal/test/test.go#L415-L416
e2etests.test
# nix/devenv related
# .envrc
devenv.*
!devenv.nix
.devenv*
.direnv
.pre-commit-config.yaml

View file

@ -24,3 +24,20 @@ race: fmt
.PHONY: js
js: gen
cd d2js/js && NPM_VERSION="${NPM_VERSION}" prefix "$@" ./make.sh all
SVGDIR := testdata/examples/svg
SVGS = $(shell ./d2 themes | gawk -F':' '/^-/{ printf "$(SVGDIR)/themex-%03d.svg ",$$2 }' || :)
.PHONY: clean
clean:
rm -f $(SVGS) d2
rmdir $(SVGDIR)
.PHONY: themesdemo
themesdemo: $(SVGS) d2
$(SVGDIR)/themex-%.svg: testdata/examples/themex.d2
$(info Building $@ from $< ...)
./d2 -t $$(( 10#$* )) $< $@
d2: build

50
testdata/examples/themex.d2 vendored Normal file
View file

@ -0,0 +1,50 @@
vars: {
d2-config: {
layout-engine: elk
}
}
network: {
cell tower: {
satellites: {
shape: stored_data
style.multiple: true
}
transmitter
satellites -> transmitter: send
satellites -> transmitter: send
satellites -> transmitter: send
}
online portal: {
ui: {shape: hexagon}
}
data processor: {
storage: {
shape: cylinder
style.multiple: true
}
}
cell tower.transmitter -> data processor.storage: phone logs
}
user: {
shape: person
width: 130
}
user -> network.cell tower: make call
user -> network.online portal.ui: access {
style.stroke-dash: 3
}
api server -> network.online portal.ui: display
api server -> logs: persist
logs: {shape: page; style.multiple: true}
network.data processor -> api server