You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Added support for [Excalidraw](https://github.com/zsviczian/obsidian-excalidraw-plugin) drawings.
- Excalidraw files (`.excalidraw.md`) are automatically converted to embedded SVG images.
- Embedded drawings (`![[Example.excalidraw]]`) are supported.
- Both light and dark theme variants are generated for proper theme support.
- Uses the [ExcalidrawAutomate API](https://excalidraw-obsidian.online) for reliable SVG export.
- Improved [Fantasy Statblocks](https://github.com/javalent/fantasy-statblocks) integration.
- Updated styles to match the plugin's Svelte component styling.
- Added complete CSS variable support for theming.
- Improved [Datacore](https://github.com/blacksmithgu/datacore) integration.
- Updated styles with complete CSS from the plugin source (cards, tables, callouts, paging, embeds, errors, and layout).
- Refactored plugin integration architecture for improved maintainability.
- All integrations now use a unified `PluginIntegration` interface.
- Integration styles are automatically managed via SCSS files in `quartz/styles/syncer/`.
- Added new setting: **Manage integration styles** (enabled by default).
- When enabled, Quartz Syncer automatically writes integration styles to your Quartz repository.
- Styles are written to `quartz/styles/syncer/` with automatic `custom.scss` import management.
- Syncer import is added after `@use "./base.scss"` to ensure proper style ordering.
- Disabling this setting will clean up syncer styles on next publish.
- Updated documentation.
When enabled, Quartz Syncer will automatically convert [Excalidraw](https://github.com/zsviczian/obsidian-excalidraw-plugin) drawings (`.excalidraw.md` files) into embedded SVG images that display correctly in Quartz.
12
+
13
+
## How it works
14
+
15
+
1.**Detection**: Quartz Syncer identifies files with the `.excalidraw.md` extension or embedded Excalidraw links (`![[Example.excalidraw]]`).
16
+
2.**Conversion**: The drawing is converted to SVG format using the [ExcalidrawAutomate API](https://excalidraw-obsidian.online).
17
+
3.**Theme support**: Both light and dark theme variants are generated, allowing the drawing to automatically adapt to your Quartz site's theme.
18
+
4.**Embedding**: The SVGs are embedded as base64-encoded background images, ensuring compatibility with Quartz's markdown processing.
19
+
20
+
## Requirements
21
+
22
+
- The [Excalidraw](https://github.com/zsviczian/obsidian-excalidraw-plugin) plugin must be installed and enabled in Obsidian.
23
+
- Drawings must have the `.excalidraw.md` file extension.
24
+
- The drawing file must have `excalidraw-plugin: parsed` in its frontmatter (this is added automatically by the Excalidraw plugin).
25
+
26
+
## Supported syntax
27
+
28
+
### Excalidraw files
29
+
30
+
Files with the `.excalidraw.md` extension are automatically converted when published. The entire file content is replaced with the SVG representation.
31
+
32
+
### Embedded drawings
33
+
34
+
You can embed Excalidraw drawings in other notes using the standard Obsidian embed syntax:
35
+
36
+
```markdown
37
+
![[Example.excalidraw]]
38
+
```
39
+
40
+
### Linked drawings
41
+
42
+
Regular links to Excalidraw files are converted to standard links:
43
+
44
+
```markdown
45
+
[[Example.excalidraw]]
46
+
[[Example.excalidraw|Custom text]]
47
+
```
48
+
49
+
## Example
13
50
14
51
![[Drawing.excalidraw]]
52
+
53
+
## Notes
54
+
55
+
- Excalidraw files are transformed at a file level, meaning the entire file content is replaced with the SVG representation.
56
+
- Interactive features of Excalidraw (like editing) are not available in the published version - it becomes a static image.
57
+
- The generated SVG respects the drawing's original dimensions and styling.
58
+
- Theme switching relies on Quartz's `saved-theme` attribute on the `<html>` element.
- You have custom modifications to integration styles
41
+
- You want to use a different styling approach
42
+
43
+
When disabled, integration content will still be compiled, but without the accompanying styles. You would need to add the necessary CSS/SCSS manually to your Quartz project.
0 commit comments