diff options
Diffstat (limited to 'checkspelling.sh')
-rwxr-xr-x | checkspelling.sh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/checkspelling.sh b/checkspelling.sh new file mode 100755 index 0000000..acd504e --- /dev/null +++ b/checkspelling.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +echo "Building docs..." +mkdocs build --strict +if [ $? -ne 0 ]; then + exit 1 +fi +echo "Compiling Dictionary..." +aspell --lang=en create master ./tmp <.spell-dict +if [ $? -ne 0 ]; then + exit 1 +fi +echo "Checking spelling..." + +let "fails=0" + +for file in $(find site/ -type f -name "*.html"); do + words=$(aspell list --lang=en --mode=html --add-html-skip=code --extra-dicts=./tmp <$file) + if [ "$words" ]; then + uniquewords=$(tr ' ' '\n' <<< "${words[@]}" | sort -u | tr '\n' ' ') + let "fails++" + echo "Misspelled words in '$file':" + echo "-----------------------------------------------------------------" + for word in ${uniquewords[@]}; do + echo $word + done + echo "-----------------------------------------------------------------" + fi +done +rm -f ./tmp +rm -rf site + +if [ $fails -gt 0 ]; then + echo "$fails files with misspelled words." + exit 1 +else + exit 0 +fi |