diff options
Diffstat (limited to 'scripts/markup_check.sh')
-rwxr-xr-x | scripts/markup_check.sh | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/scripts/markup_check.sh b/scripts/markup_check.sh new file mode 100755 index 0000000..4dddd3a --- /dev/null +++ b/scripts/markup_check.sh @@ -0,0 +1,48 @@ +#!/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 |