tw-excalidraw - A whiteboard plugin using Excalidraw

Hello TiddlyWiki community! (I hope I’m doing everything correctly since this is my first post here…)

I just wanted to share a little plugin I’ve been developing that embeds Excalidraw into TiddlyWiki. It’s heavily inspired by @linonetwo’s Whiteboard plugin, but uses, well, Excalidraw instead of TLDraw. It’s (mostly) stable and reliable enough for general use, although I’ve marked it as experimental in case I do have to make some final tweaks.

Each individual Excalidraw canvas is stored as a single tiddler which you can embed using the provided widget, and there’s also a custom layout which opens a canvas in fullscreen.

I hope it’s useful!

Demo and docs: Excalidraw Whiteboard — A whiteboard plugin using Excalidraw
Repository: GitHub - ItsTheWhale/tiddlywiki-excalidraw: A whiteboard plugin using Excalidraw. · GitHub
Installation: You can install it from the CPL (TW-CPL — TiddlyWiki5 Central Plugin Library) or drag and drop (remember to drag and drop the dependency tw-react as well!)

10 Likes

This is very cool - much safer to use this as a platform than tldraw because the tldraw’s license looked rather risky to build a freeware tool on. In Obsidian excalidraw has proven to be very powerfull.

-Scrolling in an out with the mousewheel would be cool.

-A tiny design-flaw is the scrollbar in the cards which is too far from the border. PCould this be removed entirely after all?

1 Like

Wasn’t there a @pmario reply here about keys and things?!

@Ste_W … There actually was one. It may have been in the “read only” period. May be the “read only” was not enforced. So the post may have been lost.

Short version - one liner

There is an “unrelated” apiKey in the obfuscated source code, which may be there accidentally. If that’s a real key it may cause problems for the owner. If it’s a “phone home” key .. It should not be there. There are a lot of language artefacts in the source, which makes it heavier as it could be.

@kjharcombe … Are “missing” replies part of a backup?

  • Can we bring them back?
  • If not I can write it again from memory. … kind of.
1 Like

I think a CTRL mouse-wheel does it. I think it worked for me

Depends on when the post was made. Restoring would be a snapshot from when I initiated the backup. If that post was made on Thursday, it could have gotten deleted.

Oh, that. Thank you for your feedback :).

Those keys are hard-coded in the upstream Excalidraw package, and I’m pretty sure they have something to do with their online product (certainly not a telemetry key, this I can be sure of), since they develop everything in a monorepo and dump all their environmental variables into a single file and I guess they somehow made their way into the package. But they’re really just dead code, they shouldn’t do anything, and I’m not really worried about them.

And the languages, honestly, I’m just passing TiddlyWiki’s language code directly into Excalidraw (I should probably validate the codes before doing so), so even if I don’t explicitly support the language, Excalidraw itself should still be translated. Hopefully this answers your concerns.

I wanted to make sure, that it’s not your personal api key. If many users use or test the plugin, personal api keys can run into rate limits. The info is near some code, that seems to be responsible to persist drawings into a cloud storage.

I am not very happy, if code like this is included into 3rd party libraries that may be used for sensitive content.

The cloud code isn’t even packaged in their offline embeddable version, it’s just the variables that are included for whatever reason.

Thank you :). I’ve fixed the scrollbar, now it’s right at the border. I’m hesitant on outright removing the scrollbar though, since they can be useful. If you want to get rid of it, you can try resizing the embeds to fully fit the tiddler.

2 Likes

A thougth about integrating excalidraw -and whiteboards in general in TWR. Seeing how I use tiddlers, I ask myself whether transcluding the text from tiddlers provides the best experience. In most of my wikis the texts are too long. I would love to be able to open the tiddler like a modal by click and to be able to edit a sort of synopsis field in the board. What do you think of that idea?

1 Like

Admittedly, I’m not very familiar with the whiteboard note-taking paradigm so popular in Obsidian, but I’d love to try implementing that as an experiment. Do you think it’d be better if the synopsis editor was a full editor in a modal or just a bespoke editor like Whiteboard?

1 Like

v0.2.0 and v0.2.1

A tiny release polishing up some small issues. I promise™ I’ll work on the synopsis thing after this.

  • Fix issues around saving and refreshing
  • Clean up various small issues
  • Add setting to configure default theme
2 Likes

Hi @ItsTheWhale thank you, also for considering my thoughts on showing a caption.

I had to think on your question, and now I have an idea. It would be cool to have a modal in which you can edit the caption and the text of the tiddler. And you should have checkboxes what to show on the canvas. By default, the canvass would only show the title. But you can choose to show title and caption, just the caption or the text.

What do you think?

1 Like

Hi @ItsTheWhale I would like to use your excalidraw plugin as base for a classroom screen in TW. I finally had the time to do further tests.

As this would mean dragging tiddler into the wiki from outside, i checked what happens id you drag external tiddlers from another wiki into the board. In inline-view the import of the TIddler is triggered, in fullscreen they are transcluded to the board without beeing imported so that the field is empty.

For the classroomscreen it would be cool to implement the features I suggested, do you think this si doable?

1 Like

It’s definitely doable, I’ll find the time to work on them! For now, I’ve fixed the importing problem, now it opens a modal if you’re in the fullscreen layout.

2 Likes

Wow, great.

Another Idea: The library sidebar on the right is not very functional yet. Could you make this a space to embed different tabs. It would be great to have a searchbar and a recent bar there. This would be great to drag tiddlers into the canvas. I would love to be able to add tabs by a system-tag like the sidebar-tabs?