diff options
Diffstat (limited to '.i3/scripts/getbib')
| -rwxr-xr-x | .i3/scripts/getbib | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/.i3/scripts/getbib b/.i3/scripts/getbib new file mode 100755 index 0000000..bf02694 --- /dev/null +++ b/.i3/scripts/getbib @@ -0,0 +1,21 @@ +#!/bin/sh + +# Give this script a .pdf and it will attempt +# to return a proper .bib citation via doi. +# Internet connection required. + +if [ -f "$1" ]; +then + # Get the doi from metadata, if not possible, get + # doi from pdftotext output, if not possible, exit. + doi=$(pdfinfo "$1" | grep -io "doi:.*") || + doi=$(pdftotext "$1" 2>/dev/null - | grep -o "doi:.*" -m 1) || + exit 1 +else + # If not given file, assume argument is doi + doi="$1" +fi + +# Check crossref.org for the bib citation. +curl -s "http://api.crossref.org/works/$doi/transform/application/x-bibtex" -w "\\n" | + sed -e "/^[^\\(\\t\\|@\\|}\\)]/d" |
