From 14eb41e9daaf15fdbb2e840f419eda621e9cc03a Mon Sep 17 00:00:00 2001
From: bikerdanny <62376119+bikerdanny@users.noreply.github.com>
Date: Mon, 14 Jun 2021 11:02:42 +0200
Subject: [PATCH] Added two checks in one script: - hierarchy depth check (max
 depth: 4) - md included in nav check

---
 .../util/check-no-floating.sh                 | 34 +++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 doc.zih.tu-dresden.de/util/check-no-floating.sh

diff --git a/doc.zih.tu-dresden.de/util/check-no-floating.sh b/doc.zih.tu-dresden.de/util/check-no-floating.sh
new file mode 100644
index 000000000..6f94039f3
--- /dev/null
+++ b/doc.zih.tu-dresden.de/util/check-no-floating.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+if [ ${#} -ne 1 ]; then
+  echo "Usage: ${0} <path>"
+fi
+
+DOCUMENT_ROOT=${1}
+
+check_md() {
+  awk -F'/' '{print $0,NF,$NF}' <<< "${1}" | while IFS=' ' read string depth md; do
+    #echo "string=${string} depth=${depth} md=${md}"
+
+    # max depth check 
+    if [ "${depth}" -gt "5" ]; then
+      echo "max depth (4) exceeded for ${string}"
+      exit -1
+    fi
+
+    # md included in nav 
+    if ! sed -n '/nav:/,/^$/p' ${2}/mkdocs.yml | grep --quiet ${md}; then
+      echo "${md} is not included in nav"
+      exit -1
+    fi
+  done
+}
+
+export -f check_md
+
+#find ${DOCUMENT_ROOT}/docs -name "*.md" -exec bash -c 'check_md "${0#${1}}" "${1}"' {} ${DOCUMENT_ROOT} \; 
+MSG=$(find ${DOCUMENT_ROOT}/docs -name "*.md" -exec bash -c 'check_md "${0#${1}}" "${1}"' {} ${DOCUMENT_ROOT} \;)
+if [ ! -z "${MSG}" ]; then
+  echo "${MSG}"
+  exit -1
+fi
-- 
GitLab