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 0000000000000000000000000000000000000000..6f94039f3125f87502b1583e699140e15e0e5f5f --- /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