forked from Python-Markdown/markdown
-
Notifications
You must be signed in to change notification settings - Fork 0
/
checkspelling.sh
executable file
·38 lines (34 loc) · 954 Bytes
/
checkspelling.sh
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