aboutsummaryrefslogtreecommitdiff
path: root/spelling/check-spelling.sh
diff options
context:
space:
mode:
Diffstat (limited to 'spelling/check-spelling.sh')
-rwxr-xr-xspelling/check-spelling.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/spelling/check-spelling.sh b/spelling/check-spelling.sh
new file mode 100755
index 0000000..7656dc4
--- /dev/null
+++ b/spelling/check-spelling.sh
@@ -0,0 +1,29 @@
+#!/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"
+}