Tiptap as a new rich text editor #17067
Replies: 7 comments 17 replies
-
Would be good if some features that TinyMCE moved to "premium" plans were brought back, especially the "paste from Word" feature that cleaned all the garbage in the html and converted list properly. |
Beta Was this translation helpful? Give feedback.
-
I'm not sure they are directly comparable: https://www.tiny.cloud/tinymce-vs-tiptap/ |
Beta Was this translation helpful? Give feedback.
-
I think there are two POVs to this - one for Editors and one for Developers: As an Editor I want something that works in a way that I am familiar with e.g. similar toolbar to Word or Google Docs with same shortcuts. I want it to automatically clean-up Word or HTML I paste in and strip-out extraneous tags / inline styles. I want it to produce valid HTML that aligns with that in the site templates and won't break anything. I may want to embed things like Tweets or Soundcloud or other things, but only if it has been configured to allow this. I'd like the layout in the editor to closely reflect what it would look like on the published site, where possible and reasonable. As a Developer I want to ensure that Editors stick to the styles we give them and aren't able to "import" styles when they paste stuff. I want the HTML generated to be semantic and accessible. I want to be able to extend the toolbar and add custom buttons that trigger custom functionality. I want good documentation on this. For instance, I'd love to be able to easily have a way of adding an "AI" rewriter to the toolbar that sends content to a local back endpoint where I can process it before returning it. Extensibility would be key for me. The ability to add 3rd party "community" plugins would be great. I'd like control over things like images e.g. the ability to be able to specify that any images added always get assigned a specific class(es) however they are added. I'd like control over the toolbar and to be able to have multiple different configurations for different types of content. I'd love to be able to limit the amount of content in an editor (whilst acknowledging that word counts are difficult with HTML). I'd like native features of the browser, such as spellcheck and other extensions, to continue to work. |
Beta Was this translation helpful? Give feedback.
-
One thing that is probably obvious: if I switch a tinymce property to tiptap everything should work seamlessly. |
Beta Was this translation helpful? Give feedback.
-
It would be nice to maintain support for "Umbraco:CMS:RichTextEditor:CustomConfig:style_formats" (or at least the functional equivalent). I regularly use it to control classes on the various elements and to apply headers, as it allows better organization of the classes/elements and more control over the elements they are allowed on. An example configuration I use for the current tinymce can be seen below. [
{
"title": "Headings",
"items": [
{
"title": "Header 1",
"block": "h1"
},
{
"title": "Header 2",
"block": "h2"
},
{
"title": "Header 3",
"block": "h3"
},
{
"title": "Header 4",
"block": "h4"
},
{
"title": "Header 5",
"block": "h5"
},
{
"title": "Header 6",
"block": "h6"
}
]
},
{
"title": "Margins",
"items": [
{
"title": "No Margin",
"selector": "h1,h2,h3,h4,h5,h6,p,ul,ol",
"classes": "noMargin"
},
{
"title": "Margin Top Small",
"selector": "h1,h2,h3,h4,h5,h6,p,ul,ol",
"classes": "small-margin-top-1"
},
{
"title": "Margin Top Medium",
"selector": "h1,h2,h3,h4,h5,h6,p,ul,ol",
"classes": "small-margin-top-1 medium-margin-top-2"
},
{
"title": "Margin Top Large",
"selector": "h1,h2,h3,h4,h5,h6,p,ul,ol",
"classes": "small-margin-top-2 medium-margin-top-3"
},
{
"title": "Margin Bottom Small",
"selector": "h1,h2,h3,h4,h5,h6,p,ul,ol",
"classes": "small-margin-bottom-1"
},
{
"title": "Margin Bottom Medium",
"selector": "h1,h2,h3,h4,h5,h6,p,ul,ol",
"classes": "small-margin-bottom-1 medium-margin-bottom-2"
},
{
"title": "Margin Bottom Large",
"selector": "h1,h2,h3,h4,h5,h6,p,ul,ol",
"classes": "small-margin-bottom-2 medium-margin-bottom-3"
}
]
},
{
"title": "Buttons",
"items": [
{
"title": "Outline Button",
"selector": "a",
"classes": "outlineButton"
},
{
"title": "Primary Button",
"selector": "a",
"classes": "primaryButton"
},
{
"title": "Round Button",
"selector": "a",
"classes": "roundButton"
},
{
"title": "Square Button",
"selector": "a",
"classes": "squareButton"
}
]
},
{
"title": "Images",
"items": [
{
"title": "Float Left",
"selector": "img",
"classes": "floatLeft"
},
{
"title": "Float Right",
"selector": "img",
"classes": "floatRight"
}
]
},
{
"title": "Text",
"items": [
{
"title": "Small Text",
"inline": "span",
"classes": "smallText"
},
{
"title": "Large Text",
"inline": "span",
"classes": "largeText"
},
{
"title": "Eyebrow",
"selector": "h1,h2,h3,h4,h5,h6,p,a",
"classes": "eyebrow"
},
{
"title": "Light Grey Text",
"selector": "h1,h2,h3,h4,h5,h6,p,a",
"classes": "lightGreyText"
},
{
"title": "White Text",
"selector": "h1,h2,h3,h4,h5,h6,p,a",
"classes": "whiteText"
}
]
}
] Doesn't have to be handled the same way, but being able to group styles is important as the toolbar will quickly become bloated if separate buttons are needed for each option. |
Beta Was this translation helpful? Give feedback.
-
I see TipTap also has non-free tiers. https://tiptap.dev/pricing |
Beta Was this translation helpful? Give feedback.
-
Hi there! I'm currious if you guys were considering Lexical as a replacement candidate. It is being developed by Facebook and they are using it in their products which is a guarantee they will be investing in it. At the same time it is open sourced and free - I don't think there will be any apetites by Facebook to change license down the road. Indeed, this is not an editor but a more a platfrm for building editors - which would require a lot of development. Unlike TinyMCE, Lexical (like Tiptap) also uses custom DOM to represent its content which might not be a perfect match for Umraco, but provides better exensibility and content manipulation/filtering capabilities. I just wanted to hear if you considered this product as well, and if so, what deterred you from using choosing it as the replacement for TinyMCE. |
Beta Was this translation helpful? Give feedback.
-
We are going to implement Tiptap as a new property editor UI in Umbraco 15. The reason for selecting Tiptap is that it checks off all the boxes related to licensing and extensibility. We have also not been able to find another editor that supports working inside a Shadow DOM.
It also supports our goal to deprecate and eventually remove TinyMCE: umbraco/Announcements#20
The aim is that the editor will support the same custom actions as TinyMCE: Media picker/upload, Embed, Link picker, and Block picker.
We are also checking to see what other features need to be supported:
Plan
15.0
15.1
Update 2024-09-30
We have now been implementing this editor for the better part of a month. There are of course a lot of differences between TinyMCE and Tiptap, however, I think we have managed to get all the specialized inputs to work -- all the pickers and blocks. I have added a plan to this discussion to indicate what we expect to have ready and when. All the features mentioned under "15.0" should be ready to test in the Release Candidate coming out October 2nd.
Beta Was this translation helpful? Give feedback.
All reactions