mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-18 03:09:40 +03:00
Closed
opened 2026-02-05 10:27:26 +03:00 by OVERLORD
·
0 comments
No Branch/Tag Specified
development
release
v25-12
l10n_development
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.5
v25.12.4
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
No Label
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#6234
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?
📋 Pull Request Information
Original PR: https://github.com/BookStackApp/BookStack/pull/3617
Author: @ssddanbrown
Created: 8/2/2022
Status: ✅ Merged
Merged: 4/18/2023
Merged by: @ssddanbrown
Base:
development← Head:codemirror6📝 Commits (10+)
d4f2fcdStarted codemirror update, In broken state97146a6Added handling of codemirror 6 code languages4757ed9Converted codemirror languges to new packages where available9fd7a6aAdded dark theme handling9135a85Merge branch 'codemirror6' into codemirror6_take2f51036bAdded newer languages where possiblec148e2fAdded esbuild bundle inspection metafilec81cb6fMerge branch 'development' into codemirror6dce5123Added own twig/smarty packages for cm6 lang support572037eGot markdown editor barely functional📊 Changes
30 files changed (+1759 additions, -2715 deletions)
View changed files
📝
.gitignore(+3 -1)📝
dev/build/esbuild.js(+12 -9)📝
package-lock.json(+676 -1597)📝
package.json(+20 -5)📝
readme.md(+0 -1)➖
resources/js/code.mjs(+0 -346)➕
resources/js/code/index.mjs(+207 -0)➕
resources/js/code/languages.js(+116 -0)➕
resources/js/code/legacy-modes.mjs(+27 -0)➕
resources/js/code/setups.js(+54 -0)➕
resources/js/code/simple-editor-interface.js(+46 -0)➕
resources/js/code/themes.js(+91 -0)➕
resources/js/code/views.js(+38 -0)📝
resources/js/components/code-editor.js(+17 -15)📝
resources/js/components/markdown-editor.js(+2 -9)📝
resources/js/components/page-editor.js(+1 -1)📝
resources/js/components/pointer.js(+11 -7)📝
resources/js/markdown/actions.js(+263 -185)📝
resources/js/markdown/codemirror.js(+48 -45)📝
resources/js/markdown/editor.js(+1 -1)...and 10 more files
📄 Description
PR to track upgrade from Codemirror 5 to 6. Quite a large change.
Closes #3518
References
Progress Report
Got a lot of fundamentals in place but concerned about the growth of complexity here.
Specifically:
The growth of bundle size, might need to do finer splitting.Added extra splitThe complex requirements of a theme. They're really designed to be bundled. Here's an example of an external theme. Don't think we can just define a string and import global JS like before. We could pass all required dependencies through a configure event but the theme implementation will probably be quite custom to BookStack. Or can we provide a simpler abstraction?tags. Is a custom API so external themes will need adapting.Probable going to progress this slowly across a number of months, to understand codemirror rate of change and to gain some perspectives on best approach.
Todo
window.codeTheme.cm6instead ofcm.Only add copy button if in secure contextAdded execCommand fallback instead.Docs/API Updates
codeMirrorInstancein the event data. It instead has acmEditorViewproperty that contains the CodeMirror EditorView instance for the Markdown editor.editor-markdown-cm6::pre-initand no longer containsconfigin the event data. It instead has aeditorViewConfigproperty that contains the CodeMirror EditorViewConfig data that's used to create the EditorView. Config object can be manipulated before use.window.codeThemeis no longer used to set themes. Instead, there's alibrary-cm6::configure-themeevent which emits event data in the following format:🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.