itChange check.sh script to validate local files - monochromatic - monochromatic blog: http://blog.z3bra.org Err z3bra.org 70 hgit clone git://z3bra.org/monochromatic URL:git://z3bra.org/monochromatic z3bra.org 70 1Log /scm/monochromatic/log.gph z3bra.org 70 1Files /scm/monochromatic/files.gph z3bra.org 70 1Refs /scm/monochromatic/refs.gph z3bra.org 70 i--- Err z3bra.org 70 1commit 6979f19f2a9236e133ced41522d39bb29318b5ec /scm/monochromatic/commit/6979f19f2a9236e133ced41522d39bb29318b5ec.gph z3bra.org 70 1parent f8766d5669e5570414c488539899c2cd61727fb1 /scm/monochromatic/commit/f8766d5669e5570414c488539899c2cd61727fb1.gph z3bra.org 70 hAuthor: Willy Goiffon URL:mailto:wgoiffon@LPWGF01.centro.fr z3bra.org 70 iDate: Mon, 23 Dec 2019 10:45:26 +0100 Err z3bra.org 70 i Err z3bra.org 70 iChange check.sh script to validate local files Err z3bra.org 70 i Err z3bra.org 70 icheck.sh used to verify the currently deployed website. This new version Err z3bra.org 70 iwill now upload the local files to validate them BEFORE they are deployed. Err z3bra.org 70 i Err z3bra.org 70 iDiffstat: Err z3bra.org 70 i M Makefile | 6 +++--- Err z3bra.org 70 i D check.sh | 75 ------------------------------- Err z3bra.org 70 i A validate.sh | 50 +++++++++++++++++++++++++++++++ Err z3bra.org 70 i Err z3bra.org 70 i3 files changed, 53 insertions(+), 78 deletions(-) Err z3bra.org 70 i--- Err z3bra.org 70 1diff --git a/Makefile b/Makefile /scm/monochromatic/file/Makefile.gph z3bra.org 70 it@@ -12,15 +12,15 @@ install: $(NAME).tbz Err z3bra.org 70 i tar -xjf $(NAME).tbz -C $(PREFIX) Err z3bra.org 70 i Err z3bra.org 70 i check: $(PAGES) Err z3bra.org 70 i- @./check.sh Err z3bra.org 70 i+ @./validate.sh every damn thing about this blog Err z3bra.org 70 i Err z3bra.org 70 i clean: Err z3bra.org 70 i rm -f $(PAGES) $(FEEDS) $(NAME).tbz Err z3bra.org 70 i Err z3bra.org 70 i .SUFFIXES: .txt .html .xml Err z3bra.org 70 i Err z3bra.org 70 i-HEADER = head.html Err z3bra.org 70 i-FOOTER = foot.html Err z3bra.org 70 i+HEADER = header.tmpl Err z3bra.org 70 i+FOOTER = footer.tmpl Err z3bra.org 70 i Err z3bra.org 70 i $(FEEDS): index.txt Err z3bra.org 70 i @echo "RSSGEN $@" Err z3bra.org 70 1diff --git a/check.sh b/check.sh /scm/monochromatic/file/check.sh.gph z3bra.org 70 it@@ -1,75 +0,0 @@ Err z3bra.org 70 i-#!/bin/bash Err z3bra.org 70 i- Err z3bra.org 70 i-uri=blog.z3bra.org Err z3bra.org 70 i-charset=utf-8 Err z3bra.org 70 i-doctype=Inline Err z3bra.org 70 i-profile=css3 Err z3bra.org 70 i- Err z3bra.org 70 i-function w3c_valid () { Err z3bra.org 70 i- if (curl -sI "$1" | grep -o 'Invalid' >/dev/null); then Err z3bra.org 70 i- echo -e "[\033[1;31mFAIL\033[0m]" Err z3bra.org 70 i- echo -e " Errors : $1" Err z3bra.org 70 i- exit 1 Err z3bra.org 70 i- fi Err z3bra.org 70 i-} Err z3bra.org 70 i- Err z3bra.org 70 i-function rss_valid () { Err z3bra.org 70 i- if (curl -s "$1" | grep -o 'Sorry' >/dev/null); then Err z3bra.org 70 i- echo -e "[\033[1;31mFAIL\033[0m]" Err z3bra.org 70 i- echo -e " Errors : $1" Err z3bra.org 70 i- exit 1 Err z3bra.org 70 i- fi Err z3bra.org 70 i-} Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i-# HTML files Err z3bra.org 70 i-check_html() { Err z3bra.org 70 i- http=http://validator.w3.org/check Err z3bra.org 70 i- count=0 Err z3bra.org 70 i- total=`find -name '*.html'|wc -l` Err z3bra.org 70 i- for file in `find -name '*.html'`; do Err z3bra.org 70 i- Err z3bra.org 70 i- count=$(( $count+1 )) Err z3bra.org 70 i- echo -ne "\rChecking HTML file(s) ... $count/$total" Err z3bra.org 70 i- Err z3bra.org 70 i- full_uri=${uri}/${file/.\//} Err z3bra.org 70 i- check="${http}?uri=${full_uri}&charset=${charset}&$doctype=${doctype}" Err z3bra.org 70 i- Err z3bra.org 70 i- w3c_valid "$check" Err z3bra.org 70 i- echo -ne "\rChecking HTML file(s) ... " Err z3bra.org 70 i- done Err z3bra.org 70 i- Err z3bra.org 70 i- echo -e "[\033[1;32m OK \033[0m]" Err z3bra.org 70 i-} Err z3bra.org 70 i- Err z3bra.org 70 i-# CSS files Err z3bra.org 70 i-check_css() { Err z3bra.org 70 i- echo -n 'Checking CSS file(s) ... ' Err z3bra.org 70 i- Err z3bra.org 70 i- http=http://jigsaw.w3.org/css-validator/validator Err z3bra.org 70 i- check="${http}?uri=${uri}&profile=${profile}" Err z3bra.org 70 i- Err z3bra.org 70 i- w3c_valid "$check" Err z3bra.org 70 i- echo -e "[\033[1;32m OK \033[0m]" Err z3bra.org 70 i-} Err z3bra.org 70 i- Err z3bra.org 70 i-# RSS feed Err z3bra.org 70 i-check_rss() { Err z3bra.org 70 i- echo -n 'Checking RSS file(s) ... ' Err z3bra.org 70 i- http=http://feedvalidator.org/check.cgi Err z3bra.org 70 i- check="${http}?url=${uri}/rss/feed.xml" Err z3bra.org 70 i- Err z3bra.org 70 i- rss_valid "$check" Err z3bra.org 70 i- echo -e "[\033[1;32m OK \033[0m]" Err z3bra.org 70 i-} Err z3bra.org 70 i- Err z3bra.org 70 i-case $1 in Err z3bra.org 70 i- rss) check_rss ;; Err z3bra.org 70 i- css) check_css ;; Err z3bra.org 70 i- html) check_html ;; Err z3bra.org 70 i- *) check_html Err z3bra.org 70 i- check_css Err z3bra.org 70 i- check_rss ;; Err z3bra.org 70 i-esac Err z3bra.org 70 i- Err z3bra.org 70 i-exit 0 Err z3bra.org 70 1diff --git a/validate.sh b/validate.sh /scm/monochromatic/file/validate.sh.gph z3bra.org 70 it@@ -0,0 +1,50 @@ Err z3bra.org 70 i+#!/bin/sh Err z3bra.org 70 i+ Err z3bra.org 70 i+w3c() { Err z3bra.org 70 i+ type=$1 Err z3bra.org 70 i+ file=$2 Err z3bra.org 70 i+ Err z3bra.org 70 i+ case $type in Err z3bra.org 70 i+ html) curl -si \ Err z3bra.org 70 i+ -F "uploaded_file=@$file;text/html" \ Err z3bra.org 70 i+ -F uri-doctype=HTML5 \ Err z3bra.org 70 i+ https://validator.w3.org/check \ Err z3bra.org 70 i+ | grep -i ^x-w3c-validator-status: Err z3bra.org 70 i+ ;; Err z3bra.org 70 i+ css) curl -si \ Err z3bra.org 70 i+ -F "file=@$file" \ Err z3bra.org 70 i+ -F profile=css3 \ Err z3bra.org 70 i+ https://jigsaw.w3.org/css-validator/validator \ Err z3bra.org 70 i+ | grep -i ^x-w3c-validator-status: Err z3bra.org 70 i+ ;; Err z3bra.org 70 i+ rss) curl -si \ Err z3bra.org 70 i+ --data-urlencode "rawdata=$(< $file tr -d '\n\t')" \ Err z3bra.org 70 i+ --data "manual=1" \ Err z3bra.org 70 i+ https://validator.w3.org/feed/check.cgi \ Err z3bra.org 70 i+ | grep -o 'Valid RSS' \ Err z3bra.org 70 i+ ;; Err z3bra.org 70 i+ esac | dos2unix | grep -o Valid | head -n1 Err z3bra.org 70 i+} Err z3bra.org 70 i+ Err z3bra.org 70 i+case $1 in Err z3bra.org 70 i+rss) pattern='*.xml' ;; Err z3bra.org 70 i+css) pattern='*.css' ;; Err z3bra.org 70 i+html) pattern='*.html' ;; Err z3bra.org 70 i+*) Err z3bra.org 70 i+ $0 rss Err z3bra.org 70 i+ $0 css Err z3bra.org 70 i+ $0 html Err z3bra.org 70 i+ ;; Err z3bra.org 70 i+esac Err z3bra.org 70 i+ Err z3bra.org 70 i+# empty pattern won't match anything Err z3bra.org 70 i+for file in $(find . -name "$pattern"); do Err z3bra.org 70 i+ printf '[%4s] %s' "$1" "${file#./}" Err z3bra.org 70 i+ val="$(w3c $1 $file)" Err z3bra.org 70 i+ case $val in Err z3bra.org 70 i+ Valid) printf "\r[ OK ]\n" ;; Err z3bra.org 70 i+ *) printf "\r[FAIL]\n" ;; Err z3bra.org 70 i+ esac Err z3bra.org 70 i+done Err z3bra.org 70 i+ Err z3bra.org 70 i+exit 0 Err z3bra.org 70 .