Merge branch 'main' into 'chore/networking-blog'

This commit is contained in:
Lars Simon Winzer
2026-03-09 18:23:14 +01:00
4 changed files with 90 additions and 3 deletions
-3
View File
@@ -104,9 +104,6 @@ $RECYCLE.BIN/
## Jenv
.java-version
## VSCode
.vscode
## diagrams.net / draw.io
# Draw.io temporary files
*.drawio.bkp
+7
View File
@@ -0,0 +1,7 @@
{
"recommendations": [
"vscjava.vscode-java-pack",
"mhutchie.git-graph",
"gitlab.gitlab-workflow",
]
}
+11
View File
@@ -0,0 +1,11 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Export drawio to SVG",
"type": "shell",
"command": "./scripts/export-drawio.sh",
"problemMatcher": []
}
]
}
+72
View File
@@ -0,0 +1,72 @@
#!/bin/bash
# Check for draw.io installation
DRAWIO_PATH=""
check_drawio_installed() {
if command -v drawio &>/dev/null; then
DRAWIO_PATH=$(command -v drawio)
return 0 # drawio via PATH
elif [[ -x "/Applications/draw.io.app/Contents/MacOS/draw.io" ]]; then
DRAWIO_PATH="/Applications/draw.io.app/Contents/MacOS/draw.io"
return 0 # For macOS check at default path
else
return 1 # not found
fi
}
if ! check_drawio_installed; then
echo "Error: 'drawio' was not found. Make sure, that the draw.io cli is installed."
echo "https://www.diagrams.net/"
exit 1
else
echo "Draw.io installation found at: $DRAWIO_PATH"
fi
# Compare source (draw.io document) and exported file svg on mtime
needs_export() {
local drawio_file="$1"
local svg_file="$2"
# If no file found, export
if [[ ! -f "$svg_file" ]]; then
return 0
fi
if [[ "$drawio_file" -nt "$svg_file" ]]; then
return 0
else
return 1
fi
}
# If (re-)export is necessary export with drawio cli
export_file() {
local drawio_file="$1"
local svg_file="${drawio_file%.drawio}.svg"
if needs_export "$drawio_file" "$svg_file"; then
echo "↻ Exporting: $drawio_file"
echo "$svg_file"
echo "$drawio_file"
"$DRAWIO_PATH" --export --format svg --transparent --output "$svg_file" "$drawio_file"
else
echo "✓ Up-to-date: $drawio_file"
fi
}
# Iterate over all .drawio files
main() {
# Source - https://stackoverflow.com/a/9612232
# Posted by Kevin, modified by community. See post 'Timeline' for change history
# Retrieved 2026-03-09, License - CC BY-SA 4.0
find . -name '*.drawio' -print0 |
while IFS= read -r -d '' line; do
export_file "$line"
done
echo "✓ Exported all files"
}
# Start script at entry point
main