anaconda / nbpresent

next generation slides for Jupyter Notebooks
BSD 3-Clause "New" or "Revised" License
161 stars 23 forks source link

nbconvert to slides can't find custom.css #82

Closed mghijs closed 7 years ago

mghijs commented 7 years ago

After installing the latest Jupyter version on my Windows 7 64-bit OS and setting the presentation theme, I only receive a blank page and following log when executing jupyter nbconvert general_info.ipynb --to slides --post serve

C:\Users\someplace>jupyter nbconvert general_info.ipynb --to slides --post serve
[NbConvertApp] Converting notebook general_info.ipynb to slides
[NbConvertApp] Writing 421668 bytes to general_info.slides.html
[NbConvertApp] Redirecting reveal.js requests to https://cdnjs.cloudflare.com/ajax/libs/reveal.js/3.1.0
Serving your slides at http://127.0.0.1:8000/general_info.slides.html 
Use Control-C to stop this server
WARNING:tornado.access:404 GET /custom.css (127.0.0.1) 3.00ms
WARNING:tornado.access:404 GET /custom.css (127.0.0.1) 1.00ms

This issue could also be resolved with pointing out how to use the basic (or no) theme for the slides.

I like the slides-subslides arrangement of the RISE, I would really like to continue with this for this notebook :)

bollwyvl commented 7 years ago

Thanks for using nbpresent!

jupyter nbconvert general_info.ipynb --to slides --post serve

Ah, but it's not slides (which is still the officially-supported Jupyter mechanism, based on reveal.js and cell-level slideshow metadata), which still works, right alongside RISE, which is working on a new release!

nbpresent has its own nbconvert exporter (still not behind a clever flag, though... #83):

jupyter nbconvert general_info.ipynb --to nbpresent.exporters.html.PresentExporter \
  --post serve

or the built-in command, which predates nbconvert's ability to specify an exporter:

nbpresent -i notebooks/general_info.ipynb > notebooks/general_info.html

However, while actively hacking on a presentation, I usually crack open a second browser window and leave it open to

http://localhost:8888/nbconvert/nbpresent/notebooks/general_info.ipynb

and refresh that after I hit save in the notebook. When I like what I've got, I save out of the browser.

I've considered making an extension that let me refresh the nbconvert-served page on save, i.e. --watch. But then you lose your slide, position, etc. so probably wouldn't spend time on that until deep linking works... #73.

This issue could also be resolved with pointing out how to use the basic (or no) theme for the slides.

The default is indeed to use no theme whatesoever, and going back to that just requires removing all of Your Themes.

I like the slides-subslides arrangement of the RISE,

Yes, that is an outstanding goal... plus more. The machinery is all in place, as it already builds up a graph of next and prev links between slides: adding up and down, or even user-defined directions/icons) is not that hard from a data point of view, but doing the layout properly visually has been more than I've been able to swing... #42. Something like cola would make this pretty awesome, though I haven't worked with it for some time. To mirror the reveal behavior, each "stack" of up-down slides would be its own group, and right/left would map to switching between groups, while up/down would move within the stack.

Hopefully I'll get some time to start working on this again!

mghijs commented 7 years ago

Thank you for this swift and exhaustive reply @bollwyvl , looking forward to the functionalities on nbpresent! In the meantime I posted thhe issue to the nbconvert repo as you can see above, its rightful place I guess (sorry for the mispost here).

bollwyvl commented 7 years ago

Ah, hadn't seen that one! But again, recall that slides made with nbpresent won't work with the default slideshow cell tool bar metadata. The converse is not entirely true, as looking at a notebook with the slideshow data can be imported (roughly) into nbpresent slides.

Indeed, the asset resolution is one of the things I have been trying to fight in nbpresent, for exactly cases like the OP over there: at the price of embedding 400k of JS and CSS, the resulting HTML ends up being much more durable. reveal.js can't be embedded that way, which is why I set off to build my own presentation engine for notebook content that doesn't require as extensive of knowledge of HTML/CSS/JavaScript to get advanced features. Thanks again!