Since Tangent is a plain-text notes system, the results of some markup needs to be displayed inline with that markup. The primary candidates are image/file embeds and KaTeX math.
Tangent currently inserts custom dom elements that display their contents with shadow dom. Unfortunately, mixing in shadow dom like this appears to critically confuse some aspects of contenteditable. In particular, jumping to the end of the line—or even moving past image markup—can have issues.
Shadow dom was selected for use as this content was completely ignored by the vdom & selection mechanisms of Typewriter. However, these longstanding editing issues stand in the way of additional inserted/embedded content.
Since Tangent is a plain-text notes system, the results of some markup needs to be displayed inline with that markup. The primary candidates are image/file embeds and KaTeX math.
Tangent currently inserts custom dom elements that display their contents with shadow dom. Unfortunately, mixing in shadow dom like this appears to critically confuse some aspects of
contenteditable
. In particular, jumping to the end of the line—or even moving past image markup—can have issues.Shadow dom was selected for use as this content was completely ignored by the vdom & selection mechanisms of Typewriter. However, these longstanding editing issues stand in the way of additional inserted/embedded content.