#!/bin/sh

# webspell - fait appel  ispell et lynx pour contrler l'orthographe
#   d'une page Web sur une URL ou dans un fichier.

# Certains mots que vous pensez corrects seront invitablement signals
# comme douteux. Il suffit de les consigner dans un fichier, un par
# ligne, et de vous assurer que ~/.okaywords pointe vers ce fichier.

okaywords="$HOME/.okaywords"
tempout="/tmp/webspell.$$"
trap "/bin/rm -f $tempout" 0

if [ $# -eq 0 ] ; then
  echo "Syntaxe: $0 fichier|URL" >&2; exit 1
fi

for filename
do
  if [ ! -f "$filename" -a "$(echo $filename|cut -c1-7)" != "http://" ] ; then
     continue;      # on a trouv un rpertoire dans une liste *
  fi

  lynx -dump $filename | tr ' ' '\n' | sort -u | \
    grep -vE "(^[^a-z]|')" | \
    # Ajuster au besoin la ligne suivante pour ne produire 
    #   qu'une liste de mots mal crits, sans mise en forme
    ispell -a | awk '/^\&/ { print $2 }' | \
    sort -u > $tempout 

  if [ -r $okaywords ] ; then
    # Si vous disposez d'un fichier .okaywords, on en limine les mots
    grep -vif $okaywords < $tempout > ${tempout}.2
    mv ${tempout}.2 $tempout
  fi

  if [ -s $tempout ] ; then
    echo "Mots probablement mal crits: ${filename}"
    cat $tempout | paste - - - -  | sed 's/^/  /'
  fi
done

exit 0
