Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #########################################################
- ## Uses mformat to format text, then feed it to pandoc ##
- ## to create a pdf. Displays the pdf with zathura if ##
- ## no output file is specified. ##
- #########################################################
- TMP=$(mktemp /tmp/mrender.XXXXXXXX.pdf)
- DIR=$(pwd)
- function render()
- {
- F=$(cat "$1")
- cd ~
- echo "$F"
- pandoc \
- --standalone --latex-engine=pdflatex \
- -H "$HOME/bin/mrender.tex" -o "$2" \
- <<< "$F"
- cd "$DIR"
- }
- function fileinfo()
- {
- ls -l --time-style=full-iso "$1"
- }
- trap "rm \"$TMP\"; exit 0" 2
- FILE="$1"
- if [ "$FILE" = "" ]; then
- FILE="-"
- fi
- render "$FILE" "$TMP"
- if [ "$1" = "" ]; then
- zathura "$TMP"
- rm "$TMP"
- elif [ "$2" = "" ]; then
- zathura "$TMP" &
- PID="$!"
- sleep 1;
- OLD=$(ls -R --full-time "$FILE")
- while :; do
- NEW=$(ls -R --full-time "$FILE")
- # Rerender if file changes
- if [ "$OLD" != "$NEW" ]; then
- echo "File changed, rerendering."
- OLD="$NEW"
- render "$FILE" "$TMP"
- fi
- # Die if zathura dies
- if ! kill -0 "$PID" > /dev/null 2>&1; then
- rm "$TMP"
- exit 0
- fi
- sleep 0.1
- done
- rm "$TMP"
- else
- mv "$TMP" "$2"
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement