Discourse Basic Editor - Beginner friendly composer!

Don’t give up just yet! I think I can speak for many other users here when I say that this #plugin would be an absolute breakthrough for Discourse and change everything, especially in certain use cases. I highly encourage you to continue and finish the last mile. :heartpulse:

Could you elaborate on that? I might have a need for that, so I’m very interested in what you have to say. You have my full attention now… :eyes:

You’re not alone. Check out this topic.

6 Likes

:smiling_face_with_three_hearts: :smiling_face_with_three_hearts: :smiling_face_with_three_hearts:
I thought more about this. I think it is not a good idea to replace the composer. Because it means there will always be a struggle to keep up with the current changes in discourse and I dont want to spend so much time maintaining it.
I will take the knowledge that I gathered from this and build something that works alongside the discourse UI instead of replacing it.

11 Likes

If it solves the problems of the existing editor, I’ll still be happy. :grin:

4 Likes

Hey @spirobel,

I didn’t take too much time investigating it, but I wonder if this project could be helpful for a friendly rich editor on Discourse:

Have you ever considered it?

Thank you!

6 Likes

yes, actually I have taken a close look already and I will use it. They even integrate excalidraw into the editor. It is amazing. I joined their discord channel a while ago to discuss an issue related to image upload. Currently their example for excalidraw embeds the images as SVG which is a security concern and needs to be changed. So there are some small details that need to be taken care off.
But compared to ckeditor or tiptap it will be much easier to use. To also give a short update on this topic in general:
As said before, modifying the discourse frontend when it comes to something major like this is not a good idea.That is why it is a much better route to implement this functionality as part of an addition to the traditional interface, instead of trying to replace it. The knowledge gained from the work here so far will be used here:

while it is geared towards a web3 usecase and will contain some web3 features, there is no necessity to use those.
So it will be possible to use this plugin to create categories that have a lexical editor. This also means there is much less risk to try this. Because the experiment will be limited to only part of the site.
I am currently still busy with the work on cryptocurrency subscriptions for discourse. Once this is done I will focus again on moving this forward.

6 Likes

My goal is to have all the building blocks in place to allow for editor experimentation in Discourse.

I have discussed this with @david, @tgxworld and @martin in the past, we have a lot of stuff in progress at the moment and can not get started quite yet. That said … our rough plans are:

  1. enough extensibility to allow easy replacement of the editor with a contenteditable composer
  2. experiments around trivial components that add minimal extra interesting functionality
    • A component that “inlines” images and leaves everything else alone in markdown (super useful for mobile composer)
    • A component that syntax highlights markdown
  3. perform experiments around full feature editors such as CKEditor 5 (on my list to contact Wiktor once we are ready)

The approach of starting from scratch with a brand new frontend is not advisable and will be something that will be a nightmare to support long term. It may be a short term hack that buys you a few months, but long term it is wasted effort.

13 Likes

That sounds great! Looking forward to it! :grinning: :+1:

trying to replace the editor the way I tried to do it in this plugin is also a nightmare :ghost: .

I disagree with this. There is much to be gained from this kind of work. I recently had a chat with @renato who is also working on something similar. The other thing is this: Discourse would make for a great headless CMS! I recently built this news website with nextjs and a strapi backend:

It also has a Discourse forum attached now. So why still use strapi? The strapi backend does nothing different than a Discourse forum. It just saves markdown and has a permission system. So my next step will be to get rid of strapi entirely and just use an articles category in Discourse.
I think there is a huge potential here to serve this headless CMS usecase and make it more user friendly.
Anway! Thank you very much for your comment and your work on Discourse! :heart:

7 Likes

I have heard this request a few times in recent months. It is certainly an interesting problem.

The big gap at the moment would be API stability guarantees. We do not provide them so you are tied to a stable release and potential drama when upgrading stable to a new stable.

Another long term project once we clear a few other ones may be creating a stable and guaranteed API. It is certainly something I think about but it is not on the roadmap atm.

Yeah I hear you, we are coupled way too tightly at the moment to TEXTAREA, we need an abstraction layer with 2 implementations.

It is a very big project to undertake but I expect to get started in the next year or so.

Thanks so much for all the experimentation, we very much love seeing this out there.

9 Likes

Hello @spirobel
My site can’t load and get erorr later install plugin

Uncaught Error: Could not find module discourse/lib/raw-templates imported from discourse/plugins/DiscourseBasicEditor/initializers/discourse-basic-editor

1 Like

Who can help me, please?

1 Like

Hello Sam, I have discourse running and am beginning to build a community on it. Having a WYSIWYG editor would be truly amazing.

3 Likes

Hello! This plugin is not working
I have tried disabling all plugins. I also tried disabling themed components. Did not help.

1 Like

That seems to be a similar error to the one @huynhthai824 experienced a short time ago. I’ll mark this plugin as #broken until @spirobel has a chance to weigh in. :+1:

6 Likes

yes please do so! This was just an experiment and the knowledge gathered from this will be used in my other work as mentioned here:

Thanks to everyone for your interest and suggestions! :grinning: :+1:

6 Likes

The idea was very good, I would like to see a similar solution in the near future.

5 Likes

Is this project dead? Anything new take its place? We have a mostly elderly population in our forum and I’m realizing markdown is foreign to them :slight_smile:

5 Likes

Markdown is good for programmers, normal people need something different … I also think so …

I started this as a side project to see if it is possible. it certainly is. But I have since gotten older and wiser (hopefully :sweat_smile:). There are better ways to spend free time than trying to swim against the tide of a large open source project. :laughing:

4 Likes

Against? No, it is all about surfing top of that tide wave :rofl: [1]

(Okey… footnotes aren’t inlined here any more)


  1. and because of that we end users aren’t limited by Automattic at WordPress-world :rofl: ↩︎

2 Likes

True visionaries are leaders and yes often anachronisms have difficult with forward momentum.

I remember DOS word processors when you had to know text colours and highlighted colour for bold. underline, italics etc…

It took awhile for WYSIWYG. Now a word proc without it would be frowned upon. It is curious why in parts of the Web were still using archiac methods.

I wrote about this problem here:

We will get to adding first class support for ContentEditable and other types of composers, it is just going to take a while longer.

6 Likes