1 | initial version |
Thanks for these Tips! Initially it seemed that 9.1 doesn't have the export function because a) I again have to specify --ip 127.0.0.1 to get rid of an error message but then b) there is nothing for the browser. After struggling with v8.9 (compilation failed on my openSuse, but the Ubuntu tarball did it) I realized that the behaviour is just the same.
That said, it seems to be a command line tool with little documentation on the options.
./sage -n export --ip=127.0.0.1 --list
creates a list of notebooks, e.g.
Unique ID | Notebook Name
-------------------------------------------------------------------------------
_sage_:0 | Welcome to the Sage Tutorial! -- Sage Tutorial v5.11
This works in 8.9 and 9.1 (even if compiled for Python3). From there I'm digging deeper, there seems to be no "batch" conversion. Following https://ask.sagemath.org/question/41680/best-way-to-convert-many-notebooks-from-sagenb-to-jupyter/ I did this for a batch conversion of all notebooks, creating descriptive names:
# go to a new space
mkdir ~/.sage/jupyter_notebooks
cd ~/.sage/jupyter_notebooks
# make a list of IDs and worksheet names
/opt/sage-9.1/sage -n export --ip=127.0.0.1 --list > sagenb_list.txt
# prepare the arguments for the conversion
cat sagenb_list.txt | tail -n +3 | awk '{$2="" ; print "--ipynb=\""$0".ipynb\" "$1}' > map_list.txt
# run the conversion (sequentially, use)
cat map_list.txt |xargs -L 1 /opt/sage-9.1/sage -n export
And then started the notebook server with
/opt/sage-9.1/sage -n jupyter --notebook-dir="~/.sage/jupyter_notebooks" --ip=127.0.0.1
to view it in the browser at http://127.0.0.1:8888/tree. From my example above, the name of the exported notebook changed to
_sage_:0 Welcome to the Sage Tutorial! -- Sage Tutorial v5.11.ipynb
Magically I can even open them, but handling seems to be a bit different as well...I'll figure it out. Thanks again! :-)