Convert text to "preview view" as you type?

AI-generated summary

The discussion revolves around the possibility of implementing a WYSIWYG (What You See Is What You Get) editor in Discourse, where formatting like bold and italic appears directly in the text editor instead of requiring a separate preview window. JQ331 asks if it’s feasible to make text bold or italic visible in real time, similar to Gmail. Canapin and Falco confirm that full WYSIWYG is not on the roadmap, and merefield points to an existing plugin that has not been completed. JQ331 suggests a JavaScript-based solution, but merefield explains that the composer is a plain-text area, making changes complex. JQ331 considers the effort not worth it for full functionality. However, sam notes that Discourse is now testing an experimental WYSIWYG composer, which may address the issue here.

Right now in Discourse you have your “editor” window where you type, and a separate preview window that shows how what you type will be displayed. Is it possible to merge those two, so the user doesn’t need to look at two different windows as they type?

When you’re composing a message in gmail, for example, if you highlight text and hit bold, the text you just highlighted becomes bold in your message window. In Discourse, the text will not become bold–rather, it will show the markdown asterisks around the text, and the text will be bold only in the separate preview window.

Is there a way to make it more like gmail for my users?

Try looking herre: Search results for 'wysiwyg' - Discourse Meta

3 Likes

Thanks. Looks like this topic has been addressed in an extended discussion already, and looks like there is no plan to add this functionality.

For my use case, at least, it’s really the bold and italic functionality I would care about: So that when a use hits bold on some text, it actually makes the text appear bold, instead of showing just the asterisks.

Is this in fact an exceptionally difficult feature to implement?

We are pretty clear about WYSIWYG not being on the road map.

3 Likes

Yes, but what about allowing the bold and italics to be visible in the text editor itself. Would that be a very hard plugin to build?

Hard enough for it never to have been finished WYSIWYG Editor Plugin

That is WYSIWYG. Doesn’t matter if you want all or a couple of features.

Maybe with javascript? Could catch the user hitting “bold”, and run a function to make the text in the window bold. I’m not sure that would work, but it seems possible.

Did you follow my link? There’s a repo. Perhaps you can fix it?l (if it needs fixing. I’ve not tried it)

I did see that. Looks to me like trying to totally overhaul the discourse editor has proven too intimidating. But to start maybe there is some javascript in there that we could add to our forums to make the bold text be bold in the editor. I’m not finding where that is in the repo, but from the video in the post, it looks like that piece had been addressed.

The composer is a plain-text text area so afaics you will need to make more substantial changes. Makes sense to use the existing plugin as a starting point. Fork and try to improve it?

I think a key issue is that making the full on plugin work is not quite worth the effort. You’re saying you’d have to do the whole thing to make the “bold” functionality work?

I have no idea. Sometimes you fix a couple of issues and suddenly you can leverage all of the functionality that was already built. Markdown has not changed.

Ok. I’ll keep this in mind and report back if I find something productive.

This topic was automatically closed after 5 hours. New replies are no longer allowed.

Discourse is now shipping an experimental WYSIWYG composer :confetti_ball: