aboutsummaryrefslogtreecommitdiff
path: root/scripts/tidy-content.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xscripts/tidy-content.sh40
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 {}"