# Discourse Basic Editor

**URL:** https://meta.discourse.org/t/discourse-basic-editor/159431
**Category:** Plugin
**Tags:** broken
**Created:** [July 31, 2020, 4:00pm UTC](https://meta.discourse.org/t/discourse-basic-editor/159431 "2020-07-31T16:00:55Z")
**Posts on this page:** 20
**Page:** 5

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [October 17, 2022, 4:17am UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/81 "2022-10-17T04:17:04Z")

</div>

> [@spirobel](#):
>
> As said before, modifying the discourse frontend when it comes to something major like this is not a good idea.

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.

---

<div class="post-metadata">

### Author: ![spirobel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spirobel/32/170908_2.png) [@spirobel](https://meta.discourse.org/u/spirobel)
#### Post date: [October 17, 2022, 6:02am UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/83 "2022-10-17T06:02:09Z")

</div>

> [@sam](#):
>
> My goal is to have all the building blocks in place to allow for editor experimentation in Discourse.

That sounds great! Looking forward to it! 😀 👍

> [@sam](#):
>
> 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.

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

> [@sam](#):
>
> but long term it is wasted effort.

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:

> **[Monerochan.News](https://monerochan.news/)**
>
> monerochan news

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! ❤

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [October 17, 2022, 6:21am UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/84 "2022-10-17T06:21:09Z")

</div>

> [@spirobel](#):
>
> Discourse would make for a great headless CMS!

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.

> [@spirobel](#):
>
> trying to replace the editor the way I tried to do it in this plugin is also a nightmare

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.

> [@spirobel](#):
>
> Anway! Thank you very much for your comment and your work on Discourse! ❤

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

---

<div class="post-metadata">

### Author: ![thaidb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thaidb/32/68488_2.png) [@thaidb](https://meta.discourse.org/u/thaidb)
#### Post date: [October 19, 2022, 9:13am UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/85 "2022-10-19T09:13:19Z")

</div>

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`

---

<div class="post-metadata">

### Author: ![thaidb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thaidb/32/68488_2.png) [@thaidb](https://meta.discourse.org/u/thaidb)
#### Post date: [October 27, 2022, 3:14am UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/86 "2022-10-27T03:14:48Z")

</div>

Who can help me, please?

 ![image](https://global.discourse-cdn.com/meta/original/4X/e/a/1/ea11736b4a507f4f5a6438d0c8af3871f4bf6345.png)

---

<div class="post-metadata">

### Author: ![Fluttercode](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fluttercode/32/280691_2.png) [@Fluttercode](https://meta.discourse.org/u/Fluttercode)
#### Post date: [November 6, 2022, 5:37pm UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/87 "2022-11-06T17:37:40Z")

</div>

> [@spirobel](#):
>
> 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:
> 
> [https://monerochan.news/](https://monerochan.news/)

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

---

<div class="post-metadata">

### Author: ![Aizada\_M](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/aizada_m/32/352050_2.png) [@Aizada\_M](https://meta.discourse.org/u/Aizada_M)
#### Post date: [December 2, 2022, 6:33am UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/88 "2022-12-02T06:33:48Z")

</div>

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

 ![image](https://global.discourse-cdn.com/meta/original/4X/1/4/1/141403eb0f96720378def2a72c0e59fd8e32a738.png)

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [December 2, 2022, 6:45am UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/89 "2022-12-02T06:45:42Z")

</div>

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

---

<div class="post-metadata">

### Author: ![spirobel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spirobel/32/170908_2.png) [@spirobel](https://meta.discourse.org/u/spirobel)
#### Post date: [December 2, 2022, 7:08am UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/90 "2022-12-02T07:08:22Z")

</div>

> [@JammyDodger](#):
>
> I’ll mark this plugin as #broken

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:

> [@Discourse Basic Editor](https://meta.discourse.org/t/discourse-basic-editor-beginner-friendly-composer/159431/80):
>
> 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 thi…

Thanks to everyone for your interest and suggestions! 😀 👍

---

<div class="post-metadata">

### Author: ![Aizada\_M](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/aizada_m/32/352050_2.png) [@Aizada\_M](https://meta.discourse.org/u/Aizada_M)
#### Post date: [December 2, 2022, 11:26am UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/91 "2022-12-02T11:26:37Z")

</div>

> [@JammyDodger](#):
>
> 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. 👍

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

---

<div class="post-metadata">

### Author: ![abrambailey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/abrambailey/32/119786_2.png) [@abrambailey](https://meta.discourse.org/u/abrambailey)
#### Post date: [August 23, 2023, 11:30pm UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/94 "2023-08-23T23:30:46Z")

</div>

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 🙂

---

<div class="post-metadata">

### Author: ![spirobel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spirobel/32/170908_2.png) [@spirobel](https://meta.discourse.org/u/spirobel)
#### Post date: [October 26, 2023, 5:26am UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/95 "2023-10-26T05:26:51Z")

</div>

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 😅). There are better ways to spend free time than trying to swim against the tide of a large open source project. 😆

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [October 26, 2023, 6:45am UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/96 "2023-10-26T06:45:18Z")

</div>

Against? No, it is all about surfing top of that tide wave 🤣 \[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 🤣

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [October 29, 2023, 5:54am UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/97 "2023-10-29T05:54:35Z")

</div>

> [@spirobel](#):
>
> 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 😅). There are better ways to spend free time than trying to swim against the tide of a large open source project. 😆

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.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [October 30, 2023, 4:45am UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/98 "2023-10-30T04:45:20Z")

</div>

> [@spirobel](#):
>
> There are better ways to spend free time than trying to swim against the tide of a large open source project.

I wrote about this problem here:

> [@Markdown syntax highlighting in post editor](https://meta.discourse.org/t/markdown-syntax-highlighting-in-post-editor/282665/10):
>
> Just to expand, first that this is something I really want core to support but also worth expanding on the complexity. Discourse core uses many many APIs against TEXTAREA directly, @mentions, toolbar inserts stuff into the TEXTAREA, uploads, cut and paste images and more. This is all not abstracted away and assumes it is talking to a TEXTAREA. Adding a contenteditable there direct would mean it would need to also properly and very accurately simulate a TEXTAREA, something that is likely to fai…

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

---

<div class="post-metadata">

### Author: ![qinyj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/qinyj/32/204391_2.png) [@qinyj](https://meta.discourse.org/u/qinyj)
#### Post date: [November 1, 2023, 3:45pm UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/99 "2023-11-01T15:45:43Z")

</div>

What I need is not WYSIWYG, but a editor that make text and images occupy separate areas, rather than being mixed together. Just like Twitter, Mastodon or other social media’s doing.

 ![test3](https://global.discourse-cdn.com/meta/original/4X/b/e/f/bef41941adbbca3738a798a20b5a82e2fb936cdc.png)

I use Discourse for recording my life, and it will be present with lots of text and images. I think markdown is not good to use, because when uploading some media, you must wait for finish, For example:

 ![demo2](https://global.discourse-cdn.com/meta/original/4X/d/f/4/df4a14d80880587b20ddaa83c31c89790662fd1d.png)

Then your idea is disrupted. Next time you want to record something, you will recall this scene, and your passion disappears.

So is there some plugin can solve this problem?

---

<div class="post-metadata">

### Author: ![Al\_Whitworth](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/al_whitworth/32/337806_2.png) [@Al\_Whitworth](https://meta.discourse.org/u/Al_Whitworth)
#### Post date: [December 6, 2023, 12:25pm UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/100 "2023-12-06T12:25:36Z")

</div>

This looks great, but just seeing it’s marked as broken. Is that so or is it stable?

---

<div class="post-metadata">

### Author: ![maks232](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/maks232/32/366864_2.png) [@maks232](https://meta.discourse.org/u/maks232)
#### Post date: [February 29, 2024, 7:32pm UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/101 "2024-02-29T19:32:55Z")

</div>

It certainly doesn’t work on a current version. And the repo got its last update 3 years ago…

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [February 29, 2024, 9:11pm UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/102 "2024-02-29T21:11:30Z")

</div>

It has been tagged as #broken since December 2022

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [February 29, 2024, 10:05pm UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/103 "2024-02-29T22:05:41Z")

</div>

I tried to fix a few things (there are a lot 😄), but It somehow works:  
Will see if I can fix it properly. 🙂

 ![chrome_r9luzM4EWR](https://global.discourse-cdn.com/meta/original/4X/c/4/f/c4fc75ce7f27b45315322aa2707b06a4501b101a.png)

 ![image](https://global.discourse-cdn.com/meta/original/4X/0/8/0/080ca59b714b3a76b24eaa638517bd4e85ee866e.png)

[Previous page](https://meta.discourse.org/t/discourse-basic-editor/159431.md?page=4)

[Next page](https://meta.discourse.org/t/discourse-basic-editor/159431.md?page=6)
