46 lines
627 B
Plaintext
46 lines
627 B
Plaintext
|
#!/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
|