|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
txturl='\033[1;36m'
|
|
|
|
txturl1='\033[0;36m'
|
|
|
|
txtg='\033[0;32m'
|
|
|
|
NOCOLOR='\033[0m'
|
|
|
|
|
|
|
|
repoupdate() {
|
|
|
|
echo ""
|
|
|
|
echo "--------------"
|
|
|
|
echo "Repo update"
|
|
|
|
echo "--------------"
|
|
|
|
echo ""
|
|
|
|
git fetch -q
|
|
|
|
git pull -a
|
|
|
|
}
|
|
|
|
|
|
|
|
usage() {
|
|
|
|
echo ""
|
|
|
|
echo "--------------"
|
|
|
|
echo " Documantation "
|
|
|
|
echo "--------------"
|
|
|
|
echo ""
|
|
|
|
echo " USAGE: ./run.sh [OPTIONS]"
|
|
|
|
echo ""
|
|
|
|
echo " Examples of [OPTIONS] can be:"
|
|
|
|
echo ""
|
|
|
|
echo -e " ${txtg}thesis:${NOCOLOR} Thesis template for XeLaTex and basic tutorial"
|
|
|
|
echo ""
|
|
|
|
echo -e " ${txtg}assignments:${NOCOLOR} Assignments template for XeLaTex and basic tutorial "
|
|
|
|
echo ""
|
|
|
|
echo -e " ${txtg}build:${NOCOLOR} Build custom template"
|
|
|
|
echo " ./run.sh custom"
|
|
|
|
echo ""
|
|
|
|
echo -e " ${txtg}help:${NOCOLOR} show this message"
|
|
|
|
echo " ./run.sh help"
|
|
|
|
echo ""
|
|
|
|
echo " ********************************************"
|
|
|
|
echo -e " ${txturl1}On Error:${NOCOLOR}"
|
|
|
|
echo " Get https://hub.swarmlab.io:5480/v2/: x509: certificate"
|
|
|
|
echo " ERROR: Get https://hub.swarmlab.io:5480/v2/: x509: certificate signed by unknown authority"
|
|
|
|
echo -e " ${txturl1}run:${NOCOLOR}"
|
|
|
|
echo -e " ${txtg}./0-get-certs.sh${NOCOLOR} "
|
|
|
|
echo " ********************************************"
|
|
|
|
echo ""
|
|
|
|
echo -e " ---------------------------- ${txturl1}WSL2${NOCOLOR} --------------------------"
|
|
|
|
echo ""
|
|
|
|
echo -e " With Docker Desktop running on WSL 2, users can use: ${txtg}http://127.0.0.1:8080${NOCOLOR}"
|
|
|
|
echo ""
|
|
|
|
echo " ------------------------------------------------------------"
|
|
|
|
echo ""
|
|
|
|
echo ""
|
|
|
|
echo " "
|
|
|
|
}
|
|
|
|
|
|
|
|
create_xelatex_env() {
|
|
|
|
docker stop swarmlab-xelatex-$docdir
|
|
|
|
docker container rm swarmlab-xelatex-$docdir
|
|
|
|
docker build -f Dockerfile --build-arg build_dir=$docdir -t xelatex-$docdir .
|
|
|
|
docker run -it --name swarmlab-xelatex-$docdir -v $PWD/$docdir/docs:/home -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY xelatex-$docdir:latest /bin/bash
|
|
|
|
}
|
|
|
|
|
|
|
|
COMMAND_CREATE=0
|
|
|
|
docdir=""
|
|
|
|
|
|
|
|
while [ "$1" != "" ];
|
|
|
|
do
|
|
|
|
PARAM=$(echo "$1" | awk -F= '{print $1}')
|
|
|
|
|
|
|
|
case $PARAM in
|
|
|
|
help)
|
|
|
|
usage
|
|
|
|
exit
|
|
|
|
;;
|
|
|
|
|
|
|
|
thesis)
|
|
|
|
DESC="thesis-report";
|
|
|
|
docdir="thesis";
|
|
|
|
COMMAND_CREATE=1;
|
|
|
|
;;
|
|
|
|
|
|
|
|
assignments)
|
|
|
|
DESC="assignment-report";
|
|
|
|
docdir="assignments";
|
|
|
|
COMMAND_CREATE=1;
|
|
|
|
;;
|
|
|
|
|
|
|
|
custom)
|
|
|
|
DESC="custom-report";
|
|
|
|
docdir="custom";
|
|
|
|
COMMAND_CREATE=1;
|
|
|
|
;;
|
|
|
|
|
|
|
|
*)
|
|
|
|
echo "ERROR: unkown parameter \"$PARAM\""
|
|
|
|
usage
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
|
|
|
|
esac
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|
|
|
|
if [ $COMMAND_CREATE -eq 1 ]; then
|
|
|
|
create_xelatex_env
|
|
|
|
|
|
|
|
else
|
|
|
|
repoupdate
|
|
|
|
usage
|
|
|
|
fi
|