set -e f="$(ls ./*.zip | head -n 1)" echo f=$f d="$(date -r "$f" +%Y-%m-%d)_$(basename "$f" | sed 's/.zip$//' | sed 's/[^a-zA-Z0-9]/_/g')" echo d=$d rm -rf "$d" mkdir -p "$d" 7z x -o"$d" "$f" cat "$d"/*.html \ | sed 's/.*.*/<\/body>/' \ >> "$d"/index.html tags=($(cat "$d"/index.html | sed '/^$/!{s/<[^>]*>//g;p;}' | grep -o '#[a-zA-Z0-9]*' | grep '[a-zA-Z]' | sed 's/^#//' | sort -u)) printf ' --- title: "%s" date: %s draft: true tags: [%s] --- ' \ "$(basename "$f" | sed 's/.zip$//' | sed 's/"/\\"/g')" \ "$(date -u +%Y-%m-%dT%H:%M:%S)-00:00" \ "$(first=false; for tag in "${tags[@]}"; do true; if $first; then echo -n ","; fi; first=true; echo -n "$tag"; done)" \ | grep . > "$d/index.md" cat "$d"/index.html >> "$d"/index.md rm "$d"/index.html echo >> "$d"/index.md rm "$d"/*.html for ext in png jpg jpeg gif JPG; do find "$d" -name "*.$ext"; done | while read -r line; do convert "$line" -ordered-dither o8x8,8,8,4 "$line.2" mv "$line.2" "$line" done