Currently working on an excalidraw plug and I got the very very basic stuff working and I’m now contemplating, which features the plug actually needs. I’ve looked at the obisidan excalidraw plugin, which is very feature rich and has some interesting stuff (, but the codebase is a mess). Going from there, but definitely planning on making it simpler, I think these would be the main features for a first version:
- Library support with a single library for the whole space
- Links inside of text elements, with formatting, aliasing and support for updating
- Embed Files/Documents from your space like images into excalidraw
- Space Lua alternative to ea scripts, if this is possible, as I don’t know what the options are for interfacing with Space Lua using syscalls (Maybe @zef can answer this). Primarily, what I would want here is to be able to define something very similar to an event listener in space lua, which I can then call using syscalls in js.
Some features I think aren’t too important:
- Transclusions of e.g. pages
- Drag & Drop support
- Storing the excalidraw file as markdown. This is an interesting one: Currently I just store it the way excalidraw intends, the obisidian plug does it differently, it uses a “user readable” markdown format. I don’t really see this as super useful.
- Latex Support
Some features I’m unsure about:
- Indexing? What should we index, what would be useful?
- Allow more extensive Markdown features inside of text elements?
I’d be interest in what interesting feature ideas you can come up with, what you consider important, etc.
EDIT: I’m probably going to release a version (hopefully in the next few days), which only does saving/editing stuff and doesn’t nuke your files.