ueberdosis / tiptap

The headless rich text editor framework for web artisans.
https://tiptap.dev
MIT License
27.55k stars 2.29k forks source link

feat(core): add support for markviews #5759

Open nperez0111 opened 3 weeks ago

nperez0111 commented 3 weeks ago

Changes Overview

This adds basic support for Prosemirror markviews to Marks.

For this to actually become supported we will need to:

From there, we'd pretty much just support them!

Here is what the API looks like right now, but we will probably add a class to make these elements for you:

  addMarkView() {
    return ({ mark, HTMLAttributes }) => {
      const dom = document.createElement('b')
      const contentDOM = document.createElement('span')

      dom.appendChild(contentDOM)

      return {
        dom,
        contentDOM,
      }
    }
  },

Implementation Approach

Pretty much following the same sort of implementation as node views, I was able to add support for markviews.

Testing Done

Verification Steps

I added a temporary markview to a mark and it worked just fine

Additional Notes

Checklist

Related Issues

changeset-bot[bot] commented 3 weeks ago

⚠️ No Changeset found

Latest commit: 9fe048d373fef822123687ca3ed15184a8df7415

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

netlify[bot] commented 3 weeks ago

Deploy Preview for tiptap-embed failed. Why did it fail? →

Name Link
Latest commit 9fe048d373fef822123687ca3ed15184a8df7415
Latest deploy log https://app.netlify.com/sites/tiptap-embed/deploys/672de24770d3590008b5e29a