#!/usr/bin/env bash if [ -z $SAGE_EXTCODE ]; then SAGE_EXTCODE=`${0/-ipynb2rst} -c "from sage.env import SAGE_EXTCODE; print(SAGE_EXTCODE)"` fi fail () { echo "ERROR: ${1}" 1>&2 exit 1 } help () { cat << EOF Usage: sage -ipynb2rst <source> [<destination>] Generates reStructuredText source (.rst) from IPython worksheet (.ipynb). If the destination is not specified, the reStructuredText source is written in the standard output. Examples: sage -ipynb2rst file.ipynb file.rst sage -ipynb2rst file.ipynb Options: -h, --help show this help message and exit EOF } if [ "${1}" = '-h' ] || [ "${1}" = '--help' ] ; then help ; exit 0 ; fi case "${#}" in (1) jupyter nbconvert --to rst --RSTExporter.template_path=[\'$SAGE_EXTCODE/nbconvert/\'] --RSTExporter.template_file='rst_sage.tpl' --NbConvertApp.output_files_dir='.' --output-dir='.' "${1}" || ( echo -e '\n' ; help ) $SAGE_EXTCODE/nbconvert/postprocess.py "${1/.ipynb/.rst}" ;; (2) jupyter nbconvert --output="${2}" --to rst --RSTExporter.template_path=[\'$SAGE_EXTCODE/nbconvert/\'] --RSTExporter.template_file='rst_sage.tpl' --NbConvertApp.output_files_dir='.' "${1}" || ( echo -e '\n' ; help ) $SAGE_EXTCODE/nbconvert/postprocess.py "${2}" ;; (*) help ;; esac exit 0