diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 855040d8..4095c7a8 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -3,7 +3,7 @@ "features": { "ghcr.io/devcontainers-contrib/features/mkdocs:2": {} }, - "postCreateCommand": "pip3 install mkdocs-material mkdocs-awesome-pages-plugin mkdocs-minify-plugin", + "postCreateCommand": "postCreateCommand.sh", "customizations": { "vscode": { "extensions": [ diff --git a/.devcontainer/postCreateCommand.sh b/.devcontainer/postCreateCommand.sh new file mode 100644 index 00000000..21ab5199 --- /dev/null +++ b/.devcontainer/postCreateCommand.sh @@ -0,0 +1,3 @@ +pip3 install mkdocs-material mkdocs-awesome-pages-plugin mkdocs-minify-plugin + +curl -fsSL https://d2lang.com/install.sh | sh -s -- \ No newline at end of file diff --git a/.github/workflows/create-diagram-svgs.yml b/.github/workflows/create-diagram-svgs.yml new file mode 100644 index 00000000..5d0914cc --- /dev/null +++ b/.github/workflows/create-diagram-svgs.yml @@ -0,0 +1,32 @@ +name: "Create diagram SVGs" + +on: + push: + branches: + - main + paths: + - .github/workflows/create-diagram-svgs.yml + - src/diagrams/*.d2 + +jobs: + create-diagram-svgs: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Install d2 + run: curl -fsSL https://d2lang.com/install.sh | sh -s -- + + - name: Generate SVGs + run: | + find "$GITHUB_WORKSPACE/diagrams" -name "*.svg" -delete + for d2_file in $(find "$GITHUB_WORKSPACE/src/diagrams" -name "*.d2"); do + filename=$(basename -- "$d2_file") + output_file="$GITHUB_WORKSPACE/diagrams/${filename%.d2}.svg" + d2 --theme=3 -l elk "$d2_file" "$output_file" + done + + - uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_message: Create diagram SVGs \ No newline at end of file diff --git a/diagrams/readme.md b/diagrams/readme.md new file mode 100644 index 00000000..fb4a42c1 --- /dev/null +++ b/diagrams/readme.md @@ -0,0 +1 @@ +Hier werden automatisch alle Diagramme aus der GitHub Action abgelegt. \ No newline at end of file diff --git a/readme.md b/readme.md index 7e7c3052..d714adc9 100644 --- a/readme.md +++ b/readme.md @@ -6,7 +6,15 @@ Die RZL Hilfe gebaut aus Markdown File mit Hilfe von [Material for MkDocs](https ## Contribute -Eine live Preview kann lokal mit diesem Befehl gestartet werdern: +Für das Anpassen und Erstellen der RZL Hilfe werden [GitHub Codespaces](https://github.com/features/codespaces) verwendet. +Dadurch kann sichergestellt werden, dass alle Abhängigkeiten und Tools bereits installiert und richtig eingerichtet sind. + +Der Ablauf für das Starten eines Codespaces ist wie folgt: +![GitHub Codespaces](diagrams/codespaces.svg) + +Ist der Codespace vollständig gestartet und im [Visual Studio Code](https://code.visualstudio.com/) geöffnet, kann mit dem drücken der `F5` Taste eine live Preview gestartet werden. + +Im Hintergrund führt `F5` diesen Befehl aus: ``` mkdocs serve ``` diff --git a/src/diagrams/codespaces.d2 b/src/diagrams/codespaces.d2 new file mode 100644 index 00000000..aff1f4fc --- /dev/null +++ b/src/diagrams/codespaces.d2 @@ -0,0 +1,40 @@ +direction: down + +GitHub : { + label: Starten aus GitHub + style: { + stroke: blue + stroke-dash: 3 + fill: transparent + } + + exists : { + label: "Existiert bereits ein Codespace?" + shape: image + icon: ./src/diagrams/img/does-codespace-exist.png + } + + create : { + label: "Codespace erstellen" + } + + exists -> create: "Nein" + + open : { + label: "Codespace im VS Code öffnen" + shape: image + icon: ./src/diagrams/img/open-existing-codespace.png + } + + exists -> open: "Ja" +} + +VSCode : { + label: "Starten aus VS Code" + style: { + stroke: blue + stroke-dash: 3 + fill: transparent + } + near: bottom-center +} \ No newline at end of file diff --git a/src/diagrams/img/does-codespace-exist.png b/src/diagrams/img/does-codespace-exist.png new file mode 100644 index 00000000..c7cda92a Binary files /dev/null and b/src/diagrams/img/does-codespace-exist.png differ diff --git a/src/diagrams/img/open-existing-codespace.png b/src/diagrams/img/open-existing-codespace.png new file mode 100644 index 00000000..0d856878 Binary files /dev/null and b/src/diagrams/img/open-existing-codespace.png differ