notes icon indicating copy to clipboard operation
notes copied to clipboard

SimpleMDE maintenance status

Open jancborchardt opened this issue 6 years ago • 52 comments

We use SimpleMDE as our base. Unfortunately looking at the repository at https://github.com/sparksuite/simplemde-markdown-editor it does not seem so maintained anymore.

As requirements and issues come in, maybe it makes sense to look for an alternative sooner or later. Maybe someone even took over maintainership in a fork or will do so soon.

No rush, but just to keep that in mind @nextcloud/notes. I guess @stefan-niedermann you have a similar situation with the Android library?


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

jancborchardt avatar Jun 05 '18 15:06 jancborchardt

Looks like Markdown isn't that hip anymore. :-(

korelstar avatar Jun 05 '18 18:06 korelstar

Here is EasyMDE, a fork that has seen more maintenance. Mentioned in this thread on SimpleMDE. I have not tested it.

sunjam avatar Jun 05 '18 19:06 sunjam

I recently came across https://github.com/nhnent/tui.editor which looks pretty nice and seems to be well maintained (at least for now) :wink: I guess we should at least collect some options and compare them. Also in terms of possible WYSIWYG options which have been requested quite often and for stuff like #200

juliushaertl avatar Jun 05 '18 19:06 juliushaertl

I guess @stefan-niedermann you have a similar situation with the Android library?

From time to time... At the moment, the Android-lib is experiencing much attention by its maintainer. Of course this can change every day, but currently i would not describe our lib as "not maintained".

stefan-niedermann avatar Jun 07 '18 04:06 stefan-niedermann

Moveing to something like previously suggested (https://github.com/nhnent/tui.editor) would be an HUGE improvement IMHO, or atleast something that resembles an wysiwyg editor

jkaberg avatar Jul 25 '18 08:07 jkaberg

@jkaberg it seems like you’re looking for the Markdown app which renders code on the left and rendered Markdown on the right.

We aim to merge the two as best as possible so you don’t need to have two separate views. Our first priority is notes. Then something we can look into for the future is stuff like iOS Notes and Google Keep does like lists, images etc.

jancborchardt avatar Jul 25 '18 15:07 jancborchardt

@jancborchardt actully no, I'm looking for a notes app with an WYSIWYG editor (as I have a hard time rembering syntaxes 😆), AFAIK neither the notes nor the markdown app has this

I've used https://stackedit.io/ in the past, and would love something like that with Nextcloud (I don't need the split pane thing in the markdown app)

jkaberg avatar Jul 25 '18 16:07 jkaberg

The TUI Editor looks interesting to me. Maybe, the appearance can be configured, so that we can disable distracting elements?

korelstar avatar Jul 25 '18 20:07 korelstar

Another hint from @biva in #214:

"Mark Text is a realtime preview editor text styles and formatting update automatically as you type". https://marktext.github.io/website/

~Looks also very interesting to me.~ Edit: Oh, that editor requires to be installed locally. Hence, it's not usable for us.

korelstar avatar Jul 25 '18 20:07 korelstar

I also use MarkText on the desktop and it is probably the most promising markdown editor I've tried so far. They also seem to move their rendering engine into a npm package, which would allow webapps to use it: https://github.com/MarkText/muya

juliushaertl avatar Jul 25 '18 20:07 juliushaertl

Would you consider using Muya?

biva avatar Sep 11 '18 10:09 biva

@juliushaertl , @biva : Thanks for the hint! I think we should watch the progress on that project before switching to this editor. Currently, there are only four commits in their repository and they write about themselves:

Muya is still under development and should not be used for production.

korelstar avatar Sep 11 '18 14:09 korelstar

I think we should watch the progress on that project before switching to this editor.

You're right, but maybe if Nextcloud shows interest for their technology, they might be encouraged to go forward?

biva avatar Sep 11 '18 14:09 biva

How about https://github.com/sofish/pen ?

marcelklehr avatar Oct 08 '18 20:10 marcelklehr

In #200, @jancborchardt mentioned the Vue.js based editor tiptap which looks very interesting. However, it currently doesn't support Markdown export which we definitely need. But there is already an issue on that: scrumpy/tiptap#66 and that project's development activity is high, so let's see what will happen in the next months...

Since we want to switch to Vue.js (see #241), we should focus on editors, that already support Vue.js. Here is a list of some: https://github.com/vuejs/awesome-vue#markdown

korelstar avatar Dec 15 '18 10:12 korelstar

I just opened (and closed) Feature Request #284 - I am looking for an editor that allows an option to (temporarily) disable Markdown rendering while I type. It's distracting at times.

Unfortunately, this feature isn't available in any of the Vue.js Markdown editors suggested above. The Toast-UI one looks close, as it has options to toggle between Markdown vs WYSIWYG - but it still does not allow a "plain text" rendering at time of input.

I may wait to see which direction the Nextcloud Notes team decides to go and then look to contribute to the editor that you choose. Thanks.

brandonkirsch avatar Dec 19 '18 20:12 brandonkirsch

In #200, @jancborchardt mentioned the Vue.js based editor tiptap which looks very interesting.

Whow ! Tiptap Notes could be so great ! <3 Thanks, i didn't know about TipTap !

Larsene avatar Dec 20 '18 19:12 Larsene

In #200, @jancborchardt mentioned the Vue.js based editor tiptap which looks very interesting.

Whow ! Tiptap Notes could be so great ! <3 Thanks, i didn't know about TipTap !

Supports middle click paste? That's a big thumbs up from me :+1:

putt1ck avatar Dec 21 '18 05:12 putt1ck

Hi, creator of tiptap here 👋 Could you explain how do you want to use markdown in your editor?

  • should the editor be markdown only for the user or is there also a rich text view?
  • do you want to store markdown in your db? or html? or json?
  • what would be the main benefit of using tiptap for your?

philippkuehn avatar Jan 27 '19 12:01 philippkuehn

@philippkuehn I think the technical requirements are the following:

  • exports the text as Markdown (yes, we want to store Markdown)
  • works with most modern browsers
  • optional: provides a Vue component

Regarding requirements from the user experience perspective, @jancborchardt has some ideas (see e.g. #200, https://github.com/nextcloud/notes/issues/158#issuecomment-394533686, https://github.com/nextcloud/notes/issues/138#issuecomment-386765207). Maybe he could list specific requirements from his perspective. This would be indeed helpful in order to chose the desired editor, since I'm currently working on switching to Vue (see #290).

korelstar avatar Feb 03 '19 16:02 korelstar

@philippkuehn hi there! To make it short, our design is largely based on iA Writer (without the focus mode or the word highlighting. So very simple, not differentiating between plain text and markdown, so directly showing the **bold** or ## Heading or - list item markings.

The menu bubble from tiptap would be great in addition for regular people who don’t know the markdown syntax.

We haven’t made it rich text so far because of the simplicity and speed.

jancborchardt avatar Feb 08 '19 16:02 jancborchardt

StackEdit might also be worth looking into. There is stackedit.js which lets you easily embed the editor into a textarea, but it sends the data off to their server, so that's a no. The whole thing is open source though, and maybe it could be integrated here.

tnyeanderson avatar Apr 01 '19 13:04 tnyeanderson

Thanks for the hint, StackEdit looks quite good. :-)

However, we need a ready-to-use library, here. I think nobody of us has the time to develop and maintain also a MD editor library, even if it is based on an existing editor app. Nevertheless, if someone manages this, we would be happy to have a look into it in order to check if the result is usable for this app.

korelstar avatar Apr 01 '19 16:04 korelstar

EasyMDE is an active SimpleMDE fork, which looks good.

On Mon, Apr 1, 2019, 9:59 AM korelstar [email protected] wrote:

Thanks for the hint, StackEdit looks quite good. :-)

However, we need a ready-to-use library, here. I think nobody of us has the time to develop and maintain also a MD editor library, even if it is based on an existing editor app. Nevertheless, if someone manages this, we would be happy to have a look into it in order to check if the result is usable for this app.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nextcloud/notes/issues/204#issuecomment-478660483, or mute the thread https://github.com/notifications/unsubscribe-auth/ABtFZqxWXL1IRnMo_r-iO_4dm1hQOh5jks5vcjrYgaJpZM4UbGka .

sunjam avatar Apr 02 '19 01:04 sunjam

EasyMDE should be a drop-in replacement for the most part, but maybe getting something more "complete" (AKA github-flavored?) would be better long-term. The biggest feature I want is checkbox support (for which I would gladly provide a bounty upwards of $100). If we are going to go through the process of changing our markdown base, I think we should "shoot for the moon" in that respect. The more I look at StackEdit the more I like it (supports checkboxes, flowcharts, math, etc), but that will obviously be more involved (if it is even possible). I'm going to start looking into it, but I'm not very familiar with Nextcloud app development so I may not be too helpful :(

tnyeanderson avatar Apr 03 '19 18:04 tnyeanderson

One option I see for StackEdit (though I'm not sure it would work as a standalone nextcloud app) is this (from StackEdit.js docs):

stackedit.js uses https://stackedit.io/app as the default StackEdit URL. Though you can provide a custom URL to the Stackedit constructor.

const stackedit = new Stackedit({
  url: 'https://hostname/app'
});

This way the stackedit server could be self-hosted (protecting privacy) and easily integrated with nextcloud/notes through stackedit.js

Again, this may not be possible with Nextcloud (at least with a one-click install from the marketplace). Can someone let me know how wrong I am about all this? 😅

tnyeanderson avatar Apr 05 '19 13:04 tnyeanderson

@tnyeanderson This would be very interesting. But the missing point is, how do we provide stackedit under https://hostname/app ? Is there a software package for this? The documentation doesn't say anything about this point. And stackedit.js provides an IFRAME only. The editor is loaded from https://hostname/app .

It would be nice if you could investigate this for us.

Regarding bounties: the notes app is on Bountysource, so please feel free to increase the bounty (e.g. for checkboxes at https://www.bountysource.com/issues/47635165-render-check-boxes-checklist-todo ).

korelstar avatar Apr 07 '19 06:04 korelstar

Unfortunately, after further research, I don't think stackedit is going to work for this app. EasyMDE may be the way to go as @sunjam suggested. It might be better to then work on getting checkboxes implemented in EasyMDE, using Codemirror GFM.

tnyeanderson avatar Apr 07 '19 20:04 tnyeanderson

Just opened stefan-niedermann/nextcloud-notes #552 to use the same renderer on the mobile app. Will be keeping an eye on this. I think we should all be on the same renderer for the sake of future feature parity.

tnyeanderson avatar Apr 14 '19 22:04 tnyeanderson

Hello everyone, I have a probably dumb question : Apparently, Notes is using SimpleMDE (for now) but when i use the Notes app on Nexcloud, I can't see any toolbar as represented on SimpleMDE website, is it normal ?

iSpeeX avatar Apr 15 '19 13:04 iSpeeX