Please don’t remove the option to use markdown-only. Having a default setting and a markdown toggle would be ideal and keep all users happy.
I think WYSIWYG-only would be a disaster for some users, including me. I probably wouldn’t have chosen Discourse if all it had was a WYSIWYG editor, and I would strongly prefer no WYSIWYG on the site for any users than to be forced to use WYSIWYG.
The current editor is one of Discourse’s best features. Several times in the past I’ve even checked to see if it’s a separate open source package, because I would have used it myself on projects (and still would).
For people who have spent decades in raw text and are very fast with keyboards, there are many annoyances with WYSIWYG. Small bits of friction while editing can be especially frustrating.
I don’t want to say anything negative about the WYSIWYG editor, because it’s built really well and most users will like it, but I don’t want to be forced to use it, and I know I’m going to get complaints about it from some users too.
Slack tried removing their markdown editor in the early days and there was such a large outcry that they quickly added a user setting to restore it.
Here’s another topic with arguments against WYSIWYG with a hint of what the reaction will be from some users if it is forced on them:
This topic only has feedback from about 30 people, but once the feature goes live, I would expect a wider range of reactions. Imagine how people would react if GitHub issues suddenly went WYSIWYG. That’s the user base of many Discourse forums, and they are probably going to be very loud.
There are people with different kinds of workflows. If you write markdown content outside of Discourse and paste it in to WYSIWYG, and then need to edit the markdown externally again, you can’t copy markdown back out to get it back into the external editor.
With the markdown editor it’s easy to copy/paste back and forth between Discourse and things like other sites, code editors, documentation, and README.md
files.
When I inspect what people are posting in the forum, I want to be able to see every character with one click, without having to go into the database.
For example, this post contains a (simulated) spam link that can’t be seen unless you inspect the raw input. If moderators can’t view the raw text easily, spammers will quickly learn to exploit it. I regularly click the “edit” icon on suspicious new users’ posts to check for hidden links like that before I lock the editing of the posts.
There are other situations where hidden things get pasted into WYSIWYG editors, like when copying/pasting from emails that have tracking pixels in them.
(The more I think about that, the more I would prefer just turning off WYSIWYG sitewide to avoid the extra moderation burden, but I understand if that isn’t possible. This post also contains a 1x1 simulated remote tracking pixel, just to demonstrate. Edit: the forum just downloaded a copy of the remote pixel, so that probably wouldn’t be a problem on sites that have that setting on.)
I would prefer having a toggle even if it’s put under the gear icon (as well as a per-user setting), but a per-user setting alone would be tolerable, as long as it isn’t removed.
Many WYSIWYG editors (like tinymce) have an HTML toggle, because when things go wrong with WYSIWYG and the cursor gets stuck inside a formatting tag, it’s easier to drop into the raw text to fix it than to have to cut the problem section onto the clipboard, paste it into a plain-text editor, copy it back into the WYSIWYG, and then reformat it.