Current approach for excalidraw integration suffers from
- outdated excalidraw features
- a lot of bugs (just search excalidraw in issues)
I propose an alternative way. I’ve been using this approach in Emacs (implemented using custom link, fswatch, excalidraw-cli) for a long time and am pretty happy with it.
- use excalidraw pwa for editing excalidraw file
- automatically converts
.png in background
- render the images in logseq
This would provide a much cleaner and smooth user experience for now, given that the current approach would require a lot of manpower.
What do you guys think?
Can you please share your script?
Emacs config (I use Doom Emacs)
(org-add-link-type "excalidraw" 'org-excalidraw-open)
(defun org-excalidraw-open (name)
(let* ((excalidraw-appdata-root "~/Dropbox/Appdata/Excalidraw")
(excalidraw-empty-file (f-join excalidraw-appdata-root ".empty.excalidraw"))
(excalidraw-path (f-join excalidraw-appdata-root (concat name ".excalidraw")))
(excalidraw-export-path (f-join excalidraw-appdata-root "Exports" (concat name ".svg"))))
(unless (f-exists? excalidraw-path) (f-copy excalidraw-empty-file excalidraw-path))
(quiet! (shell-command (concat "open " (shell-quote-argument excalidraw-path))))
(message (concat "Openning " excalidraw-path))
YASnippet for inserting excalidraw link and the image
# key: <ex
# name: Excalidraw
CLI for converting
.svg: GitHub - aur3l14no/excalidraw-cli: convert excalidraw file to png / svg file
(font is not rendering correctly right now)
It is a good idea to just using the official excalidraw PWA to draw and render image in logseq.
The edit experience of excalidraw inside logseq is not good.
I tried a workaround with using the Obsidian - Logseq concurrent use (see for example Getting Logseq + Obsidian to work together - Creating My Digital Mind (Episode 7) - YouTube)
…in the hope to use Obsidian to create and edit pages that contain excalidraw images.
Obsidian has a very well integrated escalidraw plugin, which allows many ways to create and embed the drawings, such as automatic png embed.
I did not succeed yet in making pages with such Obsidian created embeds appear in Logseq. If anyone had success, let me know please, thanks.