Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spell check with SimpleMDE #9619

Closed
bobemoe opened this issue Jan 6, 2020 · 9 comments
Closed

Spell check with SimpleMDE #9619

bobemoe opened this issue Jan 6, 2020 · 9 comments
Labels
outdated/theme/markdown status/blocked This PR cannot be merged yet, i.e. because it depends on another unmerged PR

Comments

@bobemoe
Copy link
Contributor

bobemoe commented Jan 6, 2020

Since SimpleMDE it looks like there will be no option to use browser based spell check: codemirror/codemirror5#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? sparksuite/codemirror-spell-checker#16

@lunny lunny added the status/blocked This PR cannot be merged yet, i.e. because it depends on another unmerged PR label Jan 6, 2020
@bobemoe
Copy link
Contributor Author

bobemoe commented 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

spellChecker: false,
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
Copy link
Contributor Author

bobemoe commented 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: sparksuite/simplemde-markdown-editor#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: sparksuite/codemirror-spell-checker#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
Copy link
Member

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
Copy link
Contributor Author

bobemoe commented 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
Copy link
Contributor

@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
Copy link
Contributor Author

bobemoe commented 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
Copy link
Contributor

ah damn I hadn't looked at Ace in detail...

@bobemoe
Copy link
Contributor Author

bobemoe commented 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
Copy link
Contributor

Fixed by #19776

This feature has been deployed on try.gitea.io, feel free to test it and report bugs.

@go-gitea go-gitea locked and limited conversation to collaborators May 3, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated/theme/markdown status/blocked This PR cannot be merged yet, i.e. because it depends on another unmerged PR
Projects
None yet
Development

No branches or pull requests

6 participants