Hi! I heard y'all have been looking for a good true WYSIWYG editor, so I made one! It's fairly early in development, but since it's based on the amazing CKEditor 5, it's already quite usable.
Unlike previous attempts (Quill, etc.), this implementation works directly with Markdown, so not only are you not losing anything by enabling it, as you can always go back to Markdown, you'll actually be able to use it to edit existing Markdown posts as well.
Demo
I'm working on setting up a demo instance for people to test on, but screenshots will have to do for now:
How do I get it?
Currently, I am only distributing the source code. The plan is to make it available as a paid extension, but free for anyone willing to put in the effort of building it from source.
The source code is available on GitHub: https://github.com/franga2000/flarum-markdown-wysiwyg
To build and install it, you'll need npm
and git
on your server (or your computer, in which case run the first 1 and last 2 commands there, then upload the folder to your server and run the rest there):
git clone "https://github.com/franga2000/flarum-markdown-wysiwyg"
composer config "repositories.markdown-wysiwyg" path "flarum-markdown-wysiwyg"
composer require franga2000/flarum-markdown-wysiwyg
cd "flarum-markdown-wysiwyg/js"
npm install && npm run build # Run this any time you pull new source code
Notes
The only officially supported Flarum version is beta 14. I'm looking into making a backport to beta 13, but that likely won't have the same level of support, as I don't actively use it.
Since CKEditor 5 doesn't support Internet Explorer 11, neither does this plugin, so keep that in mind. In its current state, it is possible that IE11 users may not be able to access the forum at all. Graceful degradation to a plain text field may be implemented in the future, but is not yet.
Regarding compatibility with other extensions that modify the composer (Emojis, Mentions, etc.): nothing is likely to break, but those modifications will not work. I'm looking into improving compatibility with those, but this will take time and cooperation from all sides.
Images can currently only be inserted from a URL. Support for uploading images is planned, but not implemented yet.
Styling is currently only partially matched. The editor follows the forum color scheme, but the content will look slightly different in the editor compared to the final rendered post (blockquotes and code blocks are currently the most obvious). This will be fixed soon.
Languages other than English are currently not supported, but support is planned in the future. Translations do exist, so it is possible to build the extensions with a different language by simply replacing the hard-coded language code (search for 'en'
in this repo).
Questions, ideas, issues...
If you have any questions or suggestions, feel free to post here, and if you find any bugs, post them on the issue tracker.
Project status
Unfortunately, the project I developed this for fell apart and so I no longer have the time to work on it. If anyone wants to continue this, however, you are quite welcome to!