Skip to content

Instantly share code, notes, and snippets.

@kylemclaren
Forked from dsanson/any2pandoc.sh
Created March 30, 2014 12:38
Show Gist options
  • Save kylemclaren/9872244 to your computer and use it in GitHub Desktop.
Save kylemclaren/9872244 to your computer and use it in GitHub Desktop.
#!/bin/sh
# any2pandoc.sh
#
# A shell script that tries its best to convert documents thrown at it
# to pandoc's extended markdown.
#
# https://gist.github.com/1181510
#
# Depends on:
#
# pandoc: http://johnmacfarlane.net/pandoc/
# a utility for converting lots of things to lots of things
# textutil: a built-in OS X utility for converting lots of things to
# lots of things.
# pdftohtml: http://pdftohtml.sourceforge.net/
# a utility for converting pdf to html
#
if [ ! $(which pandoc) ]; then
echo "pandoc not found: unable to process files."
exit
fi
for file in "$@"
do
base="${file%%.*}"
ext="${file#*.}"
case $ext in
doc | docx | webarchive | rtf | rtfd | odt )
if [ ! $(which textutil) ]; then
echo "textutil not found:"
echo " unable to process doc, docx, webarchive, rtf, rtfd, or odt files"
exit
fi
textutil -format "$ext" -convert "html" -stdout "$file" \
| pandoc -f html -s -o "${base}.markdown"
;;
pdf )
if [ ! $(which pdftohtml) ]; then
echo "pdftohtml not found: unable to process pdf files."
exit
fi
pdftohtml -noframes -stdout "$file" \
| pandoc -f html -o "${base}.markdown"
;;
tex )
pandoc -f latex -s "$file" -o "${base}.markdown"
;;
* )
pandoc -s "$file" -o "${base}.markdown"
;;
esac
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment