| #!/bin/sh |
| |
| LOG=/tmp/markup_check.$$ |
| rm -f $LOG $LOG.full |
| |
| if test $# -eq 0; then |
| echo 1>&2 "Usage: $0 filename-or-dirname ... $#" |
| exit 1 |
| fi |
| |
| file_list=$(find $* -type f | grep '\.[1-9][a-zA-Z]*$') |
| |
| pagename_pattern='[a-z_A-Z][^ ]*' |
| |
| ( |
| echo "" |
| echo "Checking for page xref without space before left parenthesis:" |
| pattern='^\.BR *'"$pagename_pattern"'([1-8][^1-9]' |
| echo " Pattern: '$pattern'" |
| grep "$pattern" $file_list | sed 's/^/ /' | tee -a $LOG |
| |
| echo "" |
| echo "Checking for .IR xrefs that should be .BR" |
| pattern='^\.IR *'"$pagename_pattern"' *([1-8][^1-9]' |
| echo " Pattern: '$pattern'" |
| grep "$pattern" $file_list | sed 's/^/ /' | tee -a $LOG |
| |
| echo "" |
| echo "Checking for misformatted punctuation in .BR xrefs" |
| pattern='^\.BR *'"$pagename_pattern"' *([1-8a-zA-Z]*) [^ ]' |
| echo " Pattern: '$pattern'" |
| grep "$pattern" $file_list | sed 's/^/ /' | tee -a $LOG |
| |
| echo "" |
| echo "Checking for .B xrefs that should be .BR" |
| pattern='^\.B '"$pagename_pattern"' *([1-8a-zA-Z]*)' |
| echo " Pattern: '$pattern'" |
| grep "$pattern" $file_list | sed 's/^/ /' | tee -a $LOG |
| ) > $LOG.full |
| |
| if test $(cat $LOG | wc -l) -gt 0; then |
| echo "" |
| echo "MARKUP ERRORS!!!!!" |
| cat $LOG.full |
| exit 1 |
| fi |
| |
| exit 0 |