I started to use prosemirror, but I am struggling with finding extensions for it. Even basic extensions as tags, mentions or emoji are hard to find. Am I missing something with this editor? I understood that it is quite mature (trying to drop draft in favor of it), but I might miss something here.
Related Questions in WYSIWYG
- Mdxeditor does not apply styles when used with tailwindcss
- PIMCORE: How to globally configure TinyMCE (WYSIWYG) for data object? (Version 11.1.4)
- Side by side editing of richtext content in a webapp with quilljs or slatejs
- How to disable break button that comes at the bottom of jodit editor?
- Stream data in a WYSIWYG editor through API - Next.JS and API through .NET
- Not able to select text in react-draft-wysiwyg rich text editor
- Excel displays ### even after autofit when printing to PDF
- Can't pass selection in Slate.js (React) as single child
- How to convert table into text in ckeditor?
- How can I fix this content editable section in a Next app where content is RTL though set to LTR?
- Cannot find module 'tailwind-config/tailwind.config.js' even though the tailwind.config.js file exists (Novel Editor)
- WYSIWYGTextEditor - Change font sizes
- How to create an initial value in Lexical rich text, then edit it?
- Laravel backpack 6 pro wysiwyg field doesn't works
- CKEditor mentions (autocompletion) having a different text content and mention id?
Related Questions in PROSE-MIRROR
- Safari/Chrome selection issue inside shadow dom using IOS device
- Prevent Tiptap2 focuising on node when attribute is updated
- Setting a custom paragraph CSS class with Remirror
- Remirror WhitespaceExtension not behaving
- How to migrate slate json text to tiptap based prosemirror format? Are there any converters/bindings for this?
- Extending the link plugin in Tiptap editor and it works. but the issue comes when i tried to prevent openOnClick from occuring
- How to create a custom input extension using Tiptap React
- TipTap/ProseMirror wrap selection with arbitrary text
- Prosemirror Editor DOMParser Issue
- Data from database does not persist in tiptap editor content
- Remirror wysiwyg editor image uploadHandler usage
- Cursor selection stops when it reaches to custom inline node
- how to save tiptap/prosemirror content to database in optimal way?
- In Tiptap, how do I get the html for the cursor selected area?
- Render a tooltip under the anchor elements in Tiptap
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
ProseMirror is a mature framework, but it isn't as easy to drag and drop as Draft.js is because you will have to build out your own nodes for emojis, tags, mentions, etc.
Initially it's going to take a lot of documentation reading, but once you have a firm grasp, building those will be easy.
Let's take emojis for example. We can adapt the dinosaur example from here: https://prosemirror.net/examples/dino/.
First, we will have to define a NodeSpec (https://prosemirror.net/docs/ref/#model.NodeSpec) for emojis.
This is a loose implementation. In production, you'd want to compute an image
srcbased on thenode.attrs.charvalue like soOnce you have this emoji NodeSpec, you want to combine that with the rest of your custom nodes (like tags mentions) and marks (link, italic, bold) to make a Schema which you plug into the editor. Follow rest of the dinosaur tutorial from here.
Best of luck!
If you're still stuck, I would highly recommend looking at libraries which build upon ProseMirror like tiptap and rich-markdown-editor to see ProseMirror is integrated and used.