#!/usr/bin/env bash set -Eeuo pipefail HTML_DIR="${1:-}" [[ -z "${HTML_DIR}" ]] && { echo 'Undefined HTML_DIR.' exit 2 } # Required by =sort= and =hunspell= export LANG=C.UTF-8 for DICT in spelling/*.txt; do diff <(sort $DICT) $DICT || { echo "The $DICT dictionary is unsorted. To fix it, run:" echo " LANG=C.UTF-8 sort $DICT | sponge $DICT" exit 1 } done hunspell -l -p <(cat spelling/international.dic.txt spelling/en_US.dic.txt spelling/en_US.aff.txt) -d en_US -i utf-8 $(find "$HTML_DIR" -type f -name '*.html') | tee spelling.txt cat spelling.txt [[ -s spelling.txt ]] && { echo "Mispelled words detected by hunspell." cat spelling.txt exit 1 } || { echo "No words mispelled" }