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