Quartz Syncer removes the escape character from an escaped pipe (\|) in Obsidian image embeds when the embed is used inside a Markdown table.
For example, this source Markdown in Obsidian:
| Image |
| --- |
| ![[image.png\|400]] |
is published by Quartz Syncer as:
| Image |
| --- |
| ![[image.png|400]] |
Because the pipe is no longer escaped, Quartz interprets it as a table cell separator. As a result, the image embed is not parsed correctly and the generated HTML contains the literal ![[... text instead of an <img> element.
The same image embed works correctly outside a Markdown table:
Image embeds without a size parameter also work correctly inside tables:
| Image |
| --- |
| ![[image.png]] |
Environment
- Quartz Syncer: 1.18.0
- Quartz: v5
- Obsidian
- Quartz build environment: Linux
Expected behavior
Quartz Syncer should preserve the escaped pipe inside Markdown table cells:
Actual behavior
Inside a Markdown table, Quartz Syncer changes it to:
This appears to be specific to escaped pipes in Obsidian embeds inside Markdown tables.
Quartz Syncer removes the escape character from an escaped pipe (
\|) in Obsidian image embeds when the embed is used inside a Markdown table.For example, this source Markdown in Obsidian:
is published by Quartz Syncer as:
Because the pipe is no longer escaped, Quartz interprets it as a table cell separator. As a result, the image embed is not parsed correctly and the generated HTML contains the literal
![[...text instead of an<img>element.The same image embed works correctly outside a Markdown table:
Image embeds without a size parameter also work correctly inside tables:
Environment
Expected behavior
Quartz Syncer should preserve the escaped pipe inside Markdown table cells:
Actual behavior
Inside a Markdown table, Quartz Syncer changes it to:
This appears to be specific to escaped pipes in Obsidian embeds inside Markdown tables.