#!/usr/bin/env bash root="$PWD" folder="Events" folder_lower="events" folder_html="html_${folder_lower}" folder_pdf="pdf_${folder_lower}" function build_html() { # used to match ** shopt -s globstar # cleanup the last run (if there was one) rm -rf "$folder_html" mkdir "$folder_html" cd $folder root_html="$PWD" # loop through each year worth of data # the globbing is to only get ones that have a handover folder for year in **/; do # skip symlinks [ -L "''${year%/}" ] && continue # copy in teh config for this folder cp "../_scripts/md_toml/_${folder}.md.toml" ./.md.toml year_string=$(echo "$year" | cut -f1 -d"/") sed -i -e "s/AAAAAAA/$year_string/" ./.md.toml # convert teh handovers cargo-bfom # copy in teh relevent files cp -R _Templates/* "./${folder}_html" # no need to have the template in the output rm -f ./${folder}_html/_template.md rm -f ./${folder}_html/event.html rm -f .md.toml # make the final folder mkdir -p "$root/$folder_html/$year_string" # copy everything to teh final folder cp -R ./${folder_lower}_html/* "$root/$folder_html/$year_string" # remove teh temp folder rm -rf "./${folder_lower}_html" # return to root cd "$root_html" done # undo the globbing shopt -u globstar # back to root cd $root } function build_pdf() { # used to match ** shopt -s globstar # wipe and reset past runs rm -rf "$folder_pdf" mkdir "$folder_pdf" cd "$folder_html" for file in **/*.html; do # only deal with files if [ -f "$file" ]; then # .html => .pdf output="../$folder_pdf/${file/.html/".pdf"}" echo $output # have someplace for it to go mkdir -p $(dirname $output) wkhtmltopdf -q --enable-local-file-access --no-stop-slow-scripts "$file" "$output" 2>>../errors.log & fi done shopt -u globstar cd $root # wait for background tasks to complete wait $(jobs -p) } if [[ $1 == "html" ]]; then build_html else build_html build_pdf fi