46 lines
627 B
Bash
46 lines
627 B
Bash
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
RET=0
|
|
|
|
OUT=`mktemp`
|
|
|
|
for fn in "$@"; do
|
|
echo "Validating $fn..."
|
|
echo
|
|
|
|
case $fn in
|
|
*.html)
|
|
type="text/html"
|
|
;;
|
|
*.css)
|
|
type="text/css"
|
|
;;
|
|
*)
|
|
echo "Unknown format!"
|
|
echo
|
|
RET=1
|
|
continue
|
|
;;
|
|
esac
|
|
|
|
curl --silent \
|
|
--header "Content-Type: ${type}; charset=utf-8" \
|
|
--data-binary @${fn} \
|
|
https://validator.w3.org/nu/?out=text > $OUT
|
|
cat $OUT
|
|
echo
|
|
|
|
# We don't fail the check for warnings as some warnings are
|
|
# not relevant for us, and we don't currently have a way to
|
|
# ignore just those
|
|
if grep -q -s -E "^Error:" $OUT; then
|
|
RET=1
|
|
fi
|
|
done
|
|
|
|
rm $OUT
|
|
|
|
exit $RET
|