1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/bin/sh
- # script to compile some document types
- [ -z "$1" ] && { echo "Error: Usage: compile [filename]"; exit 1; }
- file=$(readlink -f "$1")
- dir=${file%/*}
- base="${file%.*}"
- ext="${file##*.}"
- choosepandoc() {
- [ -z "$template" ] && template="$(ls $HOME/.config/setup/templates/pandoc/* | \
- sed 's/.*\///g' | dmenu -i -l 30 -p "choose pandoc template: ")"
- [ -z "$newext" ] && newext="$(echo "$template" | sed 's/.*\.//; s/latex/pdf/;')"
- }
- textype() { \
- command="pdflatex --shell-escape"
- ( head -n5 "$file" | grep -qi 'xelatex' ) && command="xelatex"
- ( head -n5 "$file" | grep -qi 'lualatex' ) && command="lualatex"
- $command --output-directory="$dir" "$base" &&
- grep -qi addbibresource "$file" &&
- biber --input-directory "$dir" "$base" &&
- $command --output-directory="$dir" "$base" &&
- $command --output-directory="$dir" "$base"
- }
- case "$ext" in
- ms) preconv "$file" | groff -"$ext" -dpaper=a4 -P -pa4 -T pdf > "$base.pdf" && pkill -HUP mupdf;;
- md) choosepandoc; pandoc -V "fontsize=16pt" -s "$file" --template="$HOME/.config/setup/templates/pandoc/$template" -V "fontsize=16pt" -o "$base.$newext"; pkill -HUP mupdf;;
- rmd) pandoc -s "$file" --template="$HOME/.config/setup/templates/pandoc/german.latex" -o "$base.pdf"; pkill -HUP mupdf;;
- py) python "$file" ;;
- [rR]md) Rscript -e "rmarkdown::render('$file', quiet=TRUE)" ;;
- rs) cargo build ;;
- sass) sassc -a "$file" "$base.css" ;;
- scad) openscad -o "$base".stl "$file" ;;
- sent) setsid -f sent "$file" 2>/dev/null ;;
- tex) textype "$file"; pkill -HUP mupdf ;;
- *) echo "Error: unknown file extension '$ext'"; exit 1;#;
- esac
|