https://github.com/stefnotch/starboard-mathlive
Mathlive in a starboard notebook!
https://github.com/stefnotch/starboard-mathlive
Last synced: about 1 month ago
JSON representation
Mathlive in a starboard notebook!
- Host: GitHub
- URL: https://github.com/stefnotch/starboard-mathlive
- Owner: stefnotch
- License: cc0-1.0
- Created: 2021-05-01T19:27:25.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-07-13T19:13:16.000Z (almost 5 years ago)
- Last Synced: 2025-01-11T07:50:15.772Z (over 1 year ago)
- Language: TypeScript
- Size: 1.31 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# [starboard-mathlive](https://stefnotch.github.io/starboard-mathlive/)
Mathlive in a starboard notebook! View it in action [here](https://stefnotch.github.io/starboard-mathlive/)
## TODO: Starboard stuff
Some quick shortcut/typing to insert a new cell type??
`Shift`+`Enter` at the last line: focuses the create cell button
`js`: the search thingy is searching for js and suggests the Javascript cell type
`Enter`: Inserts the Javascript cell
use starboard-editor for the demo https://github.com/stefnotch/starboard-editor
Undo and redo support for deleting/adding cells
todo: Why can you have a codemirror editor above a monaco editor? how?
todo: use this for solving a maths exercise
todo: don't bother with pyodide for now, instead focus on putting the maths editor on steroids
todo: getting 'stuck' in latex mode `\R[enter]\[backspace]`? (maybe I should add some indicator for that mode? like 'hit esc to exit')
todo: should latex mode optionally get exited when the user hits the space bar?
todo:
> Expression prediction or just plain old autocomplete is something I'd be quite interested in. However, it might be pretty hard to cover 'everything', so, it would probably be a good idea to make it configurable.
> My use cases would be things like `lim n` and then the autocomplete suggesting `lim n -> infinity`.
> Or autocompleting according to what was written in the previous line
todo: autoalign? As in x = a = b = c = d in an aligned environment with the equals signs below each other
todo: context menu formatting (clear formatting, color, background color, bold, ..)
> here's a quick video of our Algebra diasgnostics tool now fully running on Mathlive. Note multi-selection, equation transformations animated, dynamic input box, add-to-both-sides etc > (some of which needed some pretty complex manipulatoin of the mathlive dom fragments.
> https://youtu.be/cM0SAX-7cYg
look at https://www.symbolab.com/ , since it does some useful things
advertise mathlive (+mathjson) and starboard
todo: I guess a reasonable middle ground would be:
1. Let the user edit the source (metadata and cells).
2. If the parent page supports reloading the notebook, do that. (maybe that should be passed as a runtimeConfig? Or is there a neater way?)
3. Otherwise, if the metadata changed, update it. And for the cells, do a little diffing (all one needs to check is if the cell still exists and where it is) and update them. Better than nothing, I guess
4. https://discord.com/channels/818559380827144253/818559381398487052/857203355053719562
Import/export plugin
https://discord.com/channels/818559380827144253/818559381398487052/838187388362424331
https://starboard.gg/gz/custom-serialization-nNFrigs
https://github.com/gzuidhof/starboard-notebook/issues/2
Pyodide web worker/shared worker (comlink?)
Starboard UI improvements :thinking: (like the add cell button location, especially with an empty notebook)
publish to npm
We can probably avoid shipping the KaTeX fonts (because starboard depends on KaTeX)
Interesting: https://curvenote.github.io/editor/