🔗
Tiptapのリンク末尾で通常のテキスト入力をする
備忘録的な記事です。
Tiptapのリンクは末尾で何かを入力すると、リンクのテキストとして認識されてしまいます。
SlackやNotionみたいに、通常の文章を書く方法を考えます。
解決策
inclusiveをfalseにしましょう
Link.extend({
inclusive: false
})
補足
inclusiveをfalseにすると、カーソルが末尾にある時にマークが付与されません。
Linkはマークなので、falseにすると期待する動作になります。
ちなみにこのinclusiveはProseMirrorの機能っぽいです。
exitableとの違い
似たものにexitableありますが、こっちは末尾で右矢印を押すと空白を追加して脱出することができます。Code
やLink
で使われていました。
これはTiptapの機能で、コアロジックは以下にありました。(キーバインドの箇所は別)
exitableなマークが付与されたノードの末尾であれば、storedMarkから削除して空白を挿入するものです。
Discussion