Comments (4)
Chalkboard sounds really cool! Thanks for the suggestion!
In the "normal" notebook, this would be hard, as it is responsive to changing screen sizes, etc. This is a slippery slope, as I never want to get into the business of providing something too rich, as most "real" content belongs in cells! But when a shared, responsive x/y space is needed, we'll have to do some freaky stuff that the base notebook wouldn't touch.
For the handwriting-challenged, such as myself, other kinds of annotation such as sticky notes, arrows, highlights would be nice... but see caveat about getting too crazy with it :)
Not to hate on jquery/chalkboard/canvas, but here's a potential implementation that is already in d3 (the manipulation engine nbpresent uses).
Further, the colors from themes could be offered as the "chalk," though I could see want to pick colors on the fly.
From a data model point of view, this could go down a few ways:
- in
metadata/nbpresent/slides/<slide>/regions/<region>
a newcontent
type that went into a region, prepared in advance: currently, this is limited to a cellid
(i make my own, just for nbpresent... long story) and the type of content (whole
,source
,outputs
,widgets
). This would be ablackboard
(orglassboard
?) - another thing altogether, stored directly on the slide, that was guaranteed to be "on top" of all the notebook content
I'll have to mull over which of those would be the most compelling! Having them live in regions would be good, as it wouldn't be a new high-level "thing".
Finally, there would be the question of whether this goes into nbpresent core, or as an extension that would ship as a separate package... this could hook into the "currentSlide" changing, and could (probably) be hacked in directly, without the rest of nbpresent even knowing about it... but something a little more elegant is probably better. The approach taken by the reveal plugin where the left-bottom buttons toggle different interactivity modes is nice, which we've already considered for showing run buttons, etc.
Thanks again!
from nbpresent.
Reveal.js has a chalkboard plugin which allows to annotate slides using handwritten notes. While this is surely not a widely used (nor requested) feature, it might make teaching from Jupyter much easier and enjoyable.
Interesting stuff, thanks for the link!
from nbpresent.
@damianavila I've managed to get it working in RISE, see superbobry/RISE@d3ae748.
from nbpresent.
@superbobry 😉 I guess a PR is coming from you in the RISE repo, don't you? 😜
Btw, sorry @bollwyvl to hijack the thread for a little bit 😉
from nbpresent.
Related Issues (20)
- Jupyter notebook UI elements misaligned HOT 2
- nbpresent button not showing after install (OSX 10.11.5, Anaconda 4.2.9, nbpresent 3.0.2, Python 2.7.12) HOT 5
- Not respected by nbviewer? HOT 3
- readme doesn't render on pipy
- onclick Event is missing HOT 1
- Reordering slides works only half way HOT 2
- Add yaml files for jupyter_nbextensions_configurator HOT 3
- Issue with reordering slides
- FEAT: Save Temaplate
- Where is the documentation?
- Support for jupyterlab
- Installing packages HOT 1
- showPresentation/EditPresentation button is not working HOT 1
- Issue with downloaded reveal.jr html
- 'FileNotFoundError: [Errno 2] No such file or directory:' ... 'nbpresent.min.css' HOT 1
- How to remove text label of "Edit Presentation/Show Presentation" button?
- How can I link more than one cell without edit custom region?
- How can I scroll down long code shell while showing presentation?
- Clean conda install results in No module named 'nbconvert.exporters.export' HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nbpresent.