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
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 https://github.com/go-gitea/gitea/blob/e88d67b774ae615208b25133c299f2d50b3a018b/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 ;)
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?
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.
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.
@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.
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?
ah damn I hadn't looked at Ace in detail...
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!
Most helpful comment
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.