build_directories.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/usr/bin/env bash
  2. echo "Building directory markdown files for known Tonies"
  3. while read -r LANG_DIR; do
  4. NFC_FILES=()
  5. while IFS= read -r -d '' NFC_FILE; do
  6. NFC_FILES+=("${NFC_FILE}")
  7. done < <(find "${LANG_DIR}" -type f -name "*.nfc" -print0 | sort -z)
  8. FOLDER=$(basename "${LANG_DIR}")
  9. NFC_FILES_COUNT=${#NFC_FILES[@]}
  10. echo "${FOLDER} has ${NFC_FILES_COUNT}"
  11. if [ $NFC_FILES_COUNT = 0 ]; then
  12. echo " Skiping..."
  13. continue
  14. fi
  15. {
  16. echo "# ${FOLDER} Tonies (${NFC_FILES_COUNT} files)"
  17. echo ""
  18. echo "*Note: this file is automatically generated, do not edit manually*"
  19. echo ""
  20. echo "| Folder | Filename |"
  21. echo "|--------|----------|"
  22. } > "${LANG_DIR}/README.md"
  23. for FILE_PATH_ABS in "${NFC_FILES[@]}"; do
  24. FILE_NAME=$(basename "$FILE_PATH_ABS")
  25. FILE_PATH_REL=${FILE_PATH_ABS#"${LANG_DIR}/"}
  26. FILE_PATH_REL_ENC=$(echo "$FILE_PATH_REL" | awk '{gsub(/ /, "%20"); print}')
  27. FOLDER_NAME_REL=$(dirname "${FILE_PATH_REL}")
  28. printf "| %s | [%s](%s) |\n" "${FOLDER_NAME_REL}" "${FILE_NAME}" "${FILE_PATH_REL_ENC}" >> "${LANG_DIR}/README.md"
  29. done
  30. done < <(find "." -maxdepth 1 -type d ! -name ".*")