This is a modified version of the obsidian-excalidraw-plugin.
Based on my specific needs, I made necessary modifications to the obsidian-excalidraw-plugin when custom scripts couldn't fulfill those requirements.
You can find the custom scripts at obsidian-excalidraw-scripts (Uploading...)
You can find the demo obsidian vault at obsidian-excalidraw-example-vault. Here is a demonstration video.
Here are the functionalities that required modifications in order to be implemented.
When combined with custom scripts, it allows for:
- Support for multiple custom fonts simultaneously
- Obsidian tag functionality for elements
- Mouse event hooks
- Keyboard event hooks
- Add elements to mind maps
- Play GIF frame by frame
- Show/hide individual elements in the current view
- Bold text
- Indentation of the first line of text in containers
- Gradient for shapes and text
- Shadow for shapes and text
- Layer functionality
- Fix for wrapping issues with Chinese characters
- Dragging point hook
- Measurement feature
- Display canvas thumbnail
- Mouse hover hook
- Change shadow on mouse hover (callout, buttons)
- Uniform formula size to match font size
- Reference and navigation to specific parts of an excalidraw canvas
- Play GIF within shapes (not as an iframe)
- Settings
- Laser pen settings
- Customize the names of saved attachments
- Whether to embed font information when exporting SVG.
- Whether to display all arrow options.
- Fixed element to screen
- Maintain gradients when exporting/embedding SVG.
- Library grouping & on-demand loading.
- Drag and stretch a custom-shaped arrow while keeping the arrowhead unchanged.
- Show and hide detail.
- Automatic connection feature (right-angle connection, attaching to connection points)
- Code syntax highlight.
- Echarts.
- Eender local md, code, echarts when exporting svg.
- Calendar element.
- Flow animation
- Hightlight link
You can view the demonstration and more details on
- My Bilibili Space.
Please make sure to backup your work to ensure that your important content is not lost (such as saving abnormalities caused by insufficient memory).
For example:
- Use git version control.
- Utilize onedrive for cloud synchronization and version control.
- Enable file recovery plugins in the core plugins.
- Install the plugin.
- Method 1 (Manual Installation): Place
main.js
,manifest.json
, andstyles.css
in the plugin directory, such asYourVaultPath\.obsidian\plugins\obsidian-excalidraw-plugin-ymjr
. - Method 2 (BRAT Auto Installation):
- Install the BRAT script from the community plugins.
- In the BRAT plugin settings, click on
Add Beta plugin
. - In the prompted GitHub repository dialog, enter
Bowen-0x00/obsidian-excalidraw-plugin-ymjr
.
- Method 1 (Manual Installation): Place
- In the
Community plugins -> Installed plugins
of Obsidian, disable the originalExcalidraw
and enableobsidian-excalidraw-plugin-ymjr
. - Use the scripts corresponding to the functionality you need, and place the scripts in the folder specified by
Basic -> Excalidraw Automate Script folder
in your plugin settings.
Feel free to contact me if:
- You have any issues or questions regarding usage.
- You have suggestions or feedback.
- You want to discuss interesting ideas or new features.
Communication channels can be:
- GitHub issues.
- Email.
- Bilibili comments or private messages.
- My personal contact information (WeChat, QQ).
If you find the modifications I made helpful to you, feel free to leave comments and messages.
You can also sponsor me a cup of coffee:
- WeChat sponsorship code.
Thanks to zsviczian and other contributors of obsidian-excalidraw-plugin.
Thanks to contributors of excalidraw.