mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-09 12:46:42 -05:00
Spell check with SimpleMDE #4599
Closed
opened 2025-11-02 05:55:46 -06:00 by GiteaMirror
·
9 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#4599
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 @bobemoe on GitHub (Jan 6, 2020).
Since SimpleMDE it looks like there will be no option to use browser based spell check: https://github.com/codemirror/CodeMirror/issues/1017
So... how can I enable the built in one? Is this hard coded atm? Do we need dictionary support or options in the Gitea settings somewhere? Or have I already missed it?
Looks like its still in development upstream? https://github.com/sparksuite/codemirror-spell-checker/issues/16
@bobemoe commented on GitHub (Jan 8, 2020):
My upstream link there may have been a bit misleading... even though full config and multi language is still in dev, I think the spell checker for a single language should work just fine? Its listed first on SimpleMDE features!
I see it's been manually disabled in
e88d67b774/web_src/js/index.js (L1439)and 2 other places in that file. Was this due to issues with it? I'll try compiling with it enabled at some point unless someone can shed some light on it?My speeling is terible and I reely nead this funshonality ;)
@bobemoe commented on GitHub (Jan 18, 2020):
So I enabled spell check in index.js and first had to allow a couple of XHR requests through my browser script block to https://cdn.jsdelivr.net/codemirror.spell-checker/latest/...
Given that Gitea seems fully self contained, maybe this was the reason spell checking was disabled in the first place? Also others not really happy with it either: https://github.com/sparksuite/simplemde-markdown-editor/issues/547
So even though I now have misspelled words highlighted :) there is no way to get a suggestions/corrections menu! :( Seems that's an issue here too: https://github.com/sparksuite/codemirror-spell-checker/issues/10
Disappointing results. At least words are highlighted now, maybe like that it'll force me to learn spelling ;)
Other than proposing a different WYSIWYG editor that works with the browser checker, I'm not really sure what to suggest here. Doesn't look like upstream will have polished solution any time soon.
I did think I may be able to correct the spelling in the "view source" of the editor, but that seems to be disabled, or at least no toolbar icon. I may see if I can enable that, but its a bit of a fiddly workaround.
How set are we on SimpleMDE?
Thoughts?
@guillep2k commented on GitHub (Jan 18, 2020):
It's a shame, I'm also a heavy user of the spell checker when I write in English. I have no problem in my company because we use Spanish, but I don't know how my co-workers feel about it.
I'm not able to recommend any course of action, but I'm interested in any solution that might come up. One compromise (that would work for me) is to allow disabling SimpleMDE at the user preferences (and work with a simple
TEXTAREA, like before). I'd rather deal with MD syntax (which is quite easy) than keep editing my comments each time I spot a new mispelling.@bobemoe commented on GitHub (Jan 26, 2020):
So a week later..
The enabling of highlighted misspelt words has helped me a lot! even though I have to correct them manually, sometimes looking them up in another tab. It is actually improving my spelling. ;) Shame its limited to English only upstream, but multi language is getting very close.
I looked into enabling the "source/raw" view for SimpleMDE, but it doesn't seem to exist. Even though you can have a preview tab or side by side view, there seems to be no way to view just a textarea. I guess as guillep2k suggests we could disable it as a user preference, or even have a toggle button next to the editor.
I've had a quick look into other editors. TinyMCE I have worked with a lot, and like, but it looks like while it can kind of parse markdown it still produces HTML. Probably not suitable.
I've gone down the ourcodeworld.com top 7 markdown editors list and quickly reviewed them:
7: JS-Markdown-Editor: No spell check.
6: Bootstrap Markdown Editor: No spell check.
5: Woofmark: Browser spell check, editing feels pretty slick, good preview.
4: Editor: No spell check. No rendering.
3: Markdown-it: Browser spell check, editing feels pretty slick, good preview.
2: simplemd-markdown-editor: What we have now. Limited spell check.
1: Editor.md: No spell check.
Of those, it looks like (5) Woofmark and (3) Markdown-it have potential. I've never used them before.
Is it worth me perusing this line of enquiry? I'm not sure I could integrate them into Gitea, but I could certainly test they are capable of working with the flavour of markdown we use and can be styled to look similar to what we have now.
@zeripath commented on GitHub (Jan 26, 2020):
@bobemoe I think it's worth it - none of us are particularly enamoured of SimpleMDE and it's a dead project.
BTW how does EasyMDE compare? I think that's just a continuation of SimpleMDE but if it works properly that's fine.
I'm also wondering if we should be integrating https://ace.c9.io/ in our editor for the editor screen.
@bobemoe commented on GitHub (Jan 26, 2020):
Looks like EasyMDE uses the same spelling package as SimpleMDE. The demo feels very familiar!
Interesting you mention Ace editor, one of the MDE's (Bootstrap) I tried above uses Ace as its engine. There was no spell checker in BootstrapMDE or in Ace, though it does look like Ace has got a plugin for it. This could be another potential candidate especially if we're liking ace for other things. It does require Bootstrap though which I can't see we are using?
@zeripath commented on GitHub (Jan 26, 2020):
ah damn I hadn't looked at Ace in detail...
@bobemoe commented on GitHub (Jan 26, 2020):
I wouldn't rule Ace out quite yet. I don't think it depends on Bootstrap itself, its just the BootstrapMDE which does. Ace may be able to do MD without Bootstrap MDE. I am going to have a play and evaluate it properly soon. Looks like a really good code editor. There are plugins for spell check using Typo.js (still not browser, but does support suggestions) and Live MD preview. Just need to put it all together!
@wxiaoguang commented on GitHub (Jun 29, 2022):
Fixed by #19776
This feature has been deployed on try.gitea.io, feel free to test it and report bugs.