mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-16 11:19:37 +03:00
[Feature] Move from TinyMCE to Editor.js, a better inline editor. #1353
Closed
opened 2026-02-05 00:40:24 +03:00 by OVERLORD
·
10 comments
No Branch/Tag Specified
development
l10n_development
release
v25-12
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#1353
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @arpadgabor on GitHub (Sep 11, 2019).
Describe the feature you'd like
While I love the way BookStack works, one of my quirks is the editor. My suggestion would be to replace TinyMCE with a more modern and beautiful editor, that offers inline editing called Editor.js.
Describe the benefits this feature would bring to BookStack users
Much better User Experience while editing pages. Something awesome that could be implemented is directly editing from the page viewing mode, which would make the whole editing process much faster and enjoyable.
This tool is based on "blocks" of
contenteditabletags, so content won't freak out so much compared to classic WYSIWYG editors.Editor.js
Edit: Reopened issue because I found a free editor that could be implemented.
@arpadgabor commented on GitHub (Sep 11, 2019):
Closed the issue because after some more inspecting, you need to buy a licence to use it. Oh well.
@ssddanbrown commented on GitHub (Sep 11, 2019):
Hi @arpadgabor,
Thanks for the suggestions.
It would probably be valuable if you could describe what you don't like about tinyMCE.
A review and potential alignment of editors is on the roadmap.
@arpadgabor commented on GitHub (Sep 11, 2019):
Thanks for the response @ssddanbrown.
I worked with TinyMCE before for a pretty large document and it was a pain in the a** when TinyMCE bugged out on me and resized images randomly or the html generated had weird spacings. Also if I wanted some custom HTML, it wouldn't save the edits.
I've also observed that inline editors are more and more popular and they are really cool and easy to use. You can check out the Ghost blog editor that uses an editor like Editor.js. It makes editing a breeze and offers a better User Experience.
I also saw that Editor.js saves the edited document in JSON instead of HTML, which could be an advantage if you want to create custom plugins, for example the ability to embed books on a page in BookStack.
Imo, the biggest advantage would be the ability to edit inline, and see how the article would look in real-time (as a designer and UX amateur, this would be an important feature for editors).
@ssddanbrown commented on GitHub (Sep 11, 2019):
@arpadgabor Okay, Thanks for the explanation.
TinyMCE also has the ability to become an inline editor so a similar kind of thing could already be achieved. That said, I'm not sure a fully-inline editor would be the best approach, Possibly some kind of hybrid.
I don't see JSON as an advantage over HTML. I think I'd prefer to store fairly standard HTML over a semi-arbitrary JSON format. The storage format has not prevented creating custom plugins so for either, TinyMCE is quite good in that regard. The image editor, code block editor and draw.io tools are all added as custom plugins.
It's good to have another perspective though. I'll keep this open but may merge it into a wider issue once it comes time to review the editors.
@abossert commented on GitHub (Nov 5, 2019):
Just my two bits worth, but I have used Codemirror in the past and found that it has a kitchen sink approach which works well for a general purpose editor. I have yet to run into anything it does not support. https://codemirror.net/
@ssddanbrown commented on GitHub (Nov 16, 2019):
Hi @abossert, Thanks for your input. I'm a big fan of codemirror, we actually already use it in a lot of areas of BookStack including the markdown editor & page code blocks.
When it comes to looking at other editors I'll be including prosemirror, a rich-text editor from the same awesome developer as codemirror, in my review.
@james-geiger commented on GitHub (Nov 19, 2019):
Based on the little I've seen so far, +1 for prosemirror. Really like the user having the ability to switch between MD and WSYISYG.
@niklasgrewe commented on GitHub (Nov 8, 2020):
I agree with @arpadgabor in many of these things. Inline editors are actually easier to use. I also had my difficulties with TinyMCE. I also find the design of Editor.js more appealing and the functions can be grasped more quickly.
I would be very happy if the editors would get some more fine-tuning in the future.
@namxam commented on GitHub (Nov 18, 2020):
I just checked editor.js as I have never heard of it before. It looks quite nice, but collaborative editing is not built in - from what i understand.
But apart from that, I don't think you need to purchase a licence to use it. Isn't it Apache? https://github.com/codex-team/editor.js/blob/next/LICENSE
@ssddanbrown commented on GitHub (May 10, 2021):
Closing this in favour of #2738