102 lines
1.9 KiB
Bash
102 lines
1.9 KiB
Bash
|
#!/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
|