resume/json-resume/build.sh

69 lines
1.1 KiB
Bash

#! /bin/bash
main() {
flags "$@"
install
build
}
flags() {
set -e
export THEME="${1:-"flat"}"
export PAGE_SIZE="${PAGE_SIZE:-A4}"
}
install() {
install_cli
install_theme
if ! which wkhtmltopdf &> /dev/null; then
log installing wkhtmltopdf
false
sudo apt -y install xfonts-75dpi
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb
rm ./wkhtml*.deb
fi
}
install_cli() {
if which resume &> /dev/null; then
return
fi
sudo npm install -g resume-cli
which resume
}
install_theme() {
if [ -d node_modules/jsonresume-theme-$THEME ]; then
return
fi
npm install jsonresume-theme-$THEME
}
build() {
if ! [ -f ./resume.json ]; then
resume init
return $?
fi
resume validate
for ext in html ; do
resume export resume.$ext --theme $THEME
done
wkhtmltopdf --page-size $PAGE_SIZE ./resume.html ./resume.pdf
}
log() {
echo "$(date) > $*" >&2
}
if [ "$0" == "$BASH_SOURCE" ]; then
main "$@"
fi