Skip to content

Change Strapi's Default WYSIWYG to a more feature rich Editor #12440

@derrickmehaffy

Description

@derrickmehaffy

Feature request

Please describe your feature request

Summary

The current and previous (v3) WYSIWYG editor are more so basic markdown editors and while markdown is awesome (since I'm writing this feature request in markdown 😄 ) I believe there is room for improvement and we could swap the default editor shipped with Strapi for something more feature rich and complete.

There is already community options in both v3 and v4 such as CKEditor 5, React MD, Toast UI, and Editor.js I do think we should ship something more feature complete then forcing everyone to install one of the community options.

If anything we could also make it easier to swap out our editor by standardizing methods to build new editors into the Strapi interface.

Why is it needed?

Our current editor only supports the bare minimums in terms of markdown support (eg no tables, ect) and support for things like inline youtube video previews, ect are a bit more complex to handle properly.

Likewise not all non-technical content editors are familiar or like markdown. Likewise in many frontend frameworks a library is required to convert markdown to html. I believe it could be possible to handle this type of conversion server side and maybe caching those outputs (or pregenerating them).

Suggested solution(s)

I don't believe selecting an html specific WYSIWYG editor is a good idea because ideally as not all uses for strapi will support html but I believe the best option is to pick an editor that instead uses a more json backed structure like Editor.js as we could either build in support in SDKs to convert this format to markdown, html, whatever basically and it fits with native strapi implementations (even doing things like lifecycle modifications to the content, ect would be very easy since we could natively interface with specific parts of the content)

Ideally whatever editor we choose should be opensource and preferably have a strong plugin system itself that we could leverage. I'm not saying Editor.js should be our choice but there is a lot of editors out there and I think it would be cool to explore this as a community and see what everyone thinks.

Related issue(s)/PR(s)

#10706
#9770
#8662
#4586
#3865
#3114
#2950
#1291
#8004
#6051
#2505
#978
https://github.com/Roslovets-Inc/strapi-plugin-ckeditor5
https://github.com/kwinyyyc/strapi-plugin-wysiwsg-react-md-editor
https://github.com/fagbokforlaget/strapi-plugin-wysiwyg-toastui
https://github.com/melishev/strapi-plugin-react-editorjs

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions