{{- $src := .Get "src" -}} {{- if not $src -}} {{- errorf "interactive-diagram shortcode: missing src: %s" .Position -}} {{- end -}} {{- $filePath := path.Join .Page.File.Dir $src -}} {{- if not (fileExists $filePath) -}} {{- errorf "interactive-diagram shortcode: file %q not found: %s" $filePath .Position -}} {{- end -}} {{- $diagram := readFile $filePath | transform.Unmarshal -}} {{- $type := $diagram.type | default "sequence" -}} {{- $id := printf "interactive-diagram-%s-%d" .Page.File.UniqueID .Ordinal -}} {{- .Page.Store.Set "interactive-diagram" true -}}

{{ $diagram.title }}

{{ $diagram.description }}

{{- if eq $type "topology" }}

{{ $diagram.overview.category }}

{{ $diagram.overview.label }}

{{ $diagram.overview.body }}

{{- else }}

{{- end }}
{{- if eq $type "topology" }} {{- else }}
    {{- range $diagram.steps }}
  1. {{ .label }}: {{ .body }}
  2. {{- end }}
{{- end }}