diff options
Diffstat (limited to '')
-rwxr-xr-x | scripts/tidy-content.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/scripts/tidy-content.sh b/scripts/tidy-content.sh new file mode 100755 index 0000000..53533a1 --- /dev/null +++ b/scripts/tidy-content.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash +set -Eeuo pipefail + +end="\033[0m" +red="\033[0;31m" +red() { echo -e "${red}${1}${end}"; } + +usage() { + red "Missing argument <${1}>.\n" + cat <<EOF +Usage: + $0 <INPUT_DIR> + + Arguments: + INPUT_DIR Input directory with the static HTML to be tidy-ed + +Examples: + $0 _site/ +EOF +} + +INPUT_DIR="${1:-}" +[[ -z "${INPUT_DIR}" ]] && { + usage 'INPUT_DIR' + exit 2 +} + +format() { + FILE="${1}" + # mktemp + if ! tidy -utf8 -indent -modify "${FILE}" 2>> tmp-error.txt; then + cat <(echo "${FILE}") tmp-error.txt >> errors.txt + echo "Error in formatting '${FILE}'. See errors.txt for more detail." + exit 1 + fi +} +export -f format + +find "${INPUT_DIR}" -type f -name '*.html' -print0 | \ + xargs -0 -I{} bash -c "format {}" |