#!/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