62 lines
1.9 KiB
Bash
Executable file
62 lines
1.9 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# This script is executed by make in the parent directory
|
|
|
|
[ "$HOSTNAME" != lime2 ] || exit 1
|
|
|
|
main() {
|
|
replace_header_and_footer_lines
|
|
cp ~/src/flytex2html/src/style.css ./procedures/procedure.css
|
|
|
|
for folder in ~/src/procedures/*; do
|
|
if [ -d "$folder" ]; then
|
|
process "$folder"
|
|
fi
|
|
done
|
|
|
|
remove_procedure_placeholder
|
|
}
|
|
|
|
process() {
|
|
folder="$1"
|
|
name=$(basename "$folder")
|
|
name_without_date=$(echo "$name" | sed -E 's/procedure_//g; s/_202.+//g')
|
|
display_name=$(echo "$name_without_date" | sed -E 's/-/ /g; s/_/ /g')
|
|
|
|
verbose -n "Pulling ${name}... "
|
|
|
|
mkdir -p ./procedures/"$name_without_date"
|
|
flytex2html -c '../procedure.css' --origin-paths -t "$display_name" "$folder"/main.tex > ./procedures/"$name_without_date"/index.html
|
|
sed -i '/<link rel="stylesheet"/a <link rel="stylesheet" href="../../css/styles.css" type="text/css">' ./procedures/"$name_without_date"/index.html
|
|
cp -r "$folder"/img ./procedures/"$name_without_date"/img
|
|
|
|
# copy pdf
|
|
#cp "$folder"/procedure*.pdf ./procedures/procedure_"$name".pdf && echo "Updated $name"
|
|
|
|
replace_procedure_line "$name" "$display_name"
|
|
}
|
|
|
|
replace_header_and_footer_lines() {
|
|
awk -v header="$(<./header.html)" '{sub(/===HEADER===/,header)} 1' ./procedures/index.template.html |
|
|
awk -v footer="$(<./footer.html)" '{sub(/===FOOTER===/,footer)} 1' > ./procedures/index.tmp.html
|
|
}
|
|
|
|
replace_procedure_line() {
|
|
name="$1"
|
|
display_name="$2"
|
|
sed -i "s@===PROCEDURE===@<li><p><a href='./procedure_${name}.pdf'>${display_name}</a></p></li>\n===PROCEDURE===@g" ./procedures/index.tmp.html
|
|
}
|
|
|
|
remove_procedure_placeholder() {
|
|
chmod 644 ./procedures/index.html
|
|
sed 's/===PROCEDURE===//g' ./procedures/index.tmp.html > ./procedures/index.html && rm ./procedures/index.tmp.html
|
|
chmod 444 ./procedures/index.html
|
|
}
|
|
|
|
verbose() {
|
|
if [ "$VERBOSE" = true ]; then
|
|
echo "$@"
|
|
fi
|
|
}
|
|
|
|
main
|