BookStackApp / BookStack

A platform to create documentation/wiki content built with PHP & Laravel
https://www.bookstackapp.com/
MIT License
14.8k stars 1.86k forks source link

Spell checking in markdown editor #693

Open backwardspy opened 6 years ago

backwardspy commented 6 years ago

We would like to use spell checking, however it does not seem to work in the markdown editor. I have confirmed that the WYSIWYG editor works as intended.

Is it possible to add spell checking for markdown? I realise that this is probably non-trivial, given the formatting of markdown as compared to plain text.

domainzero commented 6 years ago

There is https://github.com/sparksuite/codemirror-spell-checker but I haven't tried to implement it. The Markdown editor uses CodeMirror for the editor portion so this should apply.

Abijeet commented 6 years ago

I spent some time looking into this.

So one problem with that spell checker linked by @domainzero is that it supports only English.

A PR was created to add support for multiple languages here but was never merged.

We could fork that repo, merge that PR and then use the dictionaries maintained here

@ssddanbrown - What do you think?

Abijeet commented 6 years ago

Note there is also another implementation of spellchecker for codemirror here.

Demo - https://codepen.io/anon/pen/veGzWN?editors=1000

thomasjsn commented 5 years ago

Ideally I'd like to use the browser spell checker, as it would support all languages and allow me to use my own added words. This however doesn't work with CodeMirror; discussion here: https://github.com/codemirror/CodeMirror/issues/1017

It's a pretty big drawback to have no spellchecking with the markdown editor, are there other editors can that be integrated which are more browser spellchecker friendly?

sadger commented 4 years ago

Any update on this? Would really like spell check in markdown mode or at least to use my browser spell checker.

guiglass commented 3 years ago

I hope this is relevant but I just looked at the page HTML source code for the CodeMirror "Edit File" input area. And using Firefox I could clearly see on line: <div class="CodeMirror-code" role="presentation" autocorrect="off" autocapitalize="off" tabindex="0" style="" spellcheck="off" contenteditable="true">

I noticed the attribute: spellcheck="off" After changing the value to: spellcheck="on" my browser is now highlighting all misspellings.

However when refreshing the page of committing changes the default value must be changed again. I am not sure if there is an automated way to set the spellcheck attribute to enabled whenever the page is loaded so that the CodeMirror-code Div will always take the form of: <div class="CodeMirror-code" role="presentation" autocorrect="off" autocapitalize="off" tabindex="0" style="" spellcheck="on" contenteditable="true">

[edit] I could not find any extensions for FireFox for automatically modifying the spellcheck attributes whenever the page loads. So I spent 15 minutes and wrote my first Firefox extension to add this automated functionality for my needs, but anyone is welcome to use it or improve it: https://github.com/guiglass/Firefox-Spellcheck-for-Github

bamhm182 commented 3 years ago

For what it's worth, this fix no longer works. I tried running your code and also just tried slapping spellcheck on every single div. Neither worked.

Blows my mind that it's so hard to allow the browser's spellchecking to be passed through.

MattAbrs commented 2 years ago

Hi,

Sorry to bring back this subject, but my team and I are interest by a Spell Checker on the Markdown Editor.

Some of you found a method to have spell checker on Markdown Editor ?

Thanks in advance.

Regards.

guiglass commented 2 years ago

For what it's worth, this fix no longer works. I tried running your code and also just tried slapping spellcheck on every single div. Neither worked.

Blows my mind that it's so hard to allow the browser's spellchecking to be passed through.

I just tested the Firefox-Spellcheck-for-Github plugin I wrote and it seems to still be working okay: spellcheck

MattAbrs commented 2 years ago

For what it's worth, this fix no longer works. I tried running your code and also just tried slapping spellcheck on every single div. Neither worked. Blows my mind that it's so hard to allow the browser's spellchecking to be passed through.

I just tested the Firefox-Spellcheck-for-Github plugin I wrote and it seems to still be working okay: spellcheck

I tried to use your extension for Bookstack, and it didn't work… Did you test on the bookstack markdown editor?

biswalneelam commented 4 months ago

Is there any solution for having spell checker in GitHub Markdown online how we get to see in MS Word document while writing? I tried the above the Firefox temp plugin, but it does not work.

aaronnewsome commented 1 month ago

Any update on this? I absolutely love Bookstack and it's my primary tool for all writing. Not allowing the browser to do spell check in the markdown editor is a bit of a disappointment. I tried my own bit of hacking using the above hints as a guide. Since my instance sits behind a nginx proxy, I tried to use an nginx sub_filter to rewrite the page content, replacing spellcheck="off" to spellcheck="on", but it didn't work because spellcheck="off" never appears in the markdown editor page response.

Has anyone else been able to solve this?

I find it amusing that the markdown editor I'm using to type this comment DOES support spell check, but Bookstack itself doesn't.