aboutsummaryrefslogtreecommitdiff
path: root/checkspelling.sh
blob: acd504e5d496fd5a6b3b48218f34c3d9fb62ba8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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