open-goverance/_scripts/format_events.sh

102 lines
1.9 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
root="$PWD"
folder="events"
folder_html="html_${folder}"
folder_pdf="pdf_${folder}"
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}_html/* "$root/$folder_html/$year_string"
# remove teh temp folder
rm -rf "./${folder}_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