BoostIO / BoostNote-Legacy

This repository is outdated and new Boost Note app is available! We've launched a new Boost Note app which supports real-time collaborative writing. https://github.com/BoostIO/BoostNote-App
Other
17.07k stars 1.47k forks source link

[feature request] Add HTML support and a WYSIWYG HTML editor #1635

Open gynet opened 6 years ago

gynet commented 6 years ago

Besides markdown, it would be awesome for adding support for HTML with a WYSIWYG HTML editor to Boostnote. It would bring more choice and flexibility. Also, it would be helpful for integration with web clipper or copy any other

pfftdammitchris commented 6 years ago

Draft.js is a great editor for this. I had spent a great time with it in the past and there is a high learning curve with it so it is a high risk and may take weeks/months to implement correctly to a production-ready boostnote integration if going further than implementing the basics (bold, italic, etc). But once you get the hang of it it becomes a really really powerful editor. I had to read through the official docs over 30 times and there is understandably lack of documentation and tutorials out there for this editor.

libeanim commented 6 years ago

Another option would be Quill.js which provides a lot of features and seems easy to use. But Draft.js is specifically designed for react, so probably easier to integrate / maintain. :+1:

Rokt33r commented 6 years ago

I've tried all of them. But, the data format are quite different between all of them.

Personally, I don't want to choose Draft.js because it is quite buggy.(My previous company was using it. So, I'd been using Draft.js for several months.)

Yes, all format can be exported as HTML, but compatibility should be very fragile.

And, Prosemirror is also well-written library. But, it doesn't have syntax highlight.

But, to be honestly, I don't want to bring any of them to Boostnote. Extending markdown parser and compiler is quite easy for me. But, extending a wysiwyg editor is extremely difficult. If we choose one, we probably lose customizability. So, I'm going to try making another editor like Quiver. So, users can edit a note by block. It is not WYSIWYG, but I believe it could provide similar experience.

But, I don't want to say we won't fix this problem. I'm currently thinking some kind of an universal DB and app structure so any format of note can be available if the user install some plugins. So, we probably create another app which supports various wysiwyg editor.

gynet commented 6 years ago

Summer note is also an option. https://github.com/summernote/summernote I would agree with having a plugin system to bring more possibility and keep the customizability to Boostnote, and I also like the idea to have a universal DB!

It would be very nice to have some official plugins first, then as everything goes well, the community could come up more.

Rokt33r commented 6 years ago

It would be very nice to have some official plugins first, then as everything goes well, the community could come up more.

Definitely. 😎 😎 😎

liuhoward commented 5 years ago

a good web clipper: https://github.com/mika-cn/maoxian-web-clipper/

gynet commented 5 years ago

Any update on this?

karstenpe commented 5 years ago

I've tried all of them. But, the data format are quite different between all of them.

But, I don't want to say we won't fix this problem. I'm currently thinking some kind of an universal DB and app structure so any format of note can be available if the user install some plugins. So, we probably create another app which supports various wysiwyg editor.

This is such a pity. I thought, boostnote could be the perfect successor for Livewriter, it is open source, built upon electron (which I like very much) and can post to wordpress. Support for pasting images is great and it seems to be very robust. However "downgrading" to markdown does not look like an option for me. "Editing" tables really hurts. Of course I understand the constraints with the data format. Maybe it is o.k. to transform even tables from a JS wysiwyg editor to markdown. Personnaly I would not need "advanced" table features that cannot be expressed in markdown. What do you think?

Flexo013 commented 5 years ago

Adding some sort of easier table editor would be nice. It could be added as an option in preferences. Similar to how we currently have the 'smart table editor' option that aids in table editing.