是否存在知道Markdown的拼写检查器?


14

在发布文章之前,我想对文章进行拼写检查。我认为aspell还可以,但它不应尝试检查代码块:

asdfasdfa adsfa sdfa text to check adsfasd f

```
a wild code block appeared!
thisHas quiteOften() some strings.that should NOT get changed
```

and also `inlined code` should not get checked

Linux是否存在基于命令行的拼写检查器,它们知道Markdown并因此忽略代码块?我需要能够以批处理模式运行多个文件。

(如果您知道一个真正了解LaTeX的人,aspell -t则可获得加分-不,不能完全正常工作)


哪个编辑?我在emacs中使用flyspell-modewith ispell,并且已将其设置为忽略LaTeX命令。工作良好。
terdon

我曾经vim做过纺织工作,然后将其发布到我的博客上,并且我相信这种标记已经存在,因此它们存在。
slm

Answers:


7

我要加分。我使用LaTeX文档emacs并已flyspell-mode默认启用。它工作正常并且忽略LaTeX命令。

.emacs文件中的相关行是:

;; load flyspell-mode for LaTeX files
(add-hook 'LaTeX-mode-hook 'flyspell-mode) 

;; make flyspell mode ignore latex commands
(setq ispell-extra-args '("--dont-tex-check-comments"))

还没有真正使用markdown,但是我想您也可以使用markdown。


emacs似乎默认不忽略HTML。我遇到的第一个拼写检查错误来自<li>-tags。
Martin Thoma 2014年

1
我要求使用基于Shell的拼写检查器,因为我想检查大约400个markdown文件。如果拼写检查器没有发现错误,则应简单地退出(无需打开窗口)。我认为emacs不是基于Shell的,是吗?
马丁·托马

@moose我不知道您想要一个可在多个文件上运行的命令行实用程序。Emacs也许可以做到这一点(毕竟它可以完成其他所有工作),但我不知道如何做。该flyspell模式仅在您键入时突出显示错误。
terdon

谢谢你的回答;我认为这对于新文档(+1)可能是一个很好的选择,但是对于旧文档而言,这没有帮助。很抱歉,我不清楚问题的命令行/批处理部分。
Martin Thoma 2014年

3

也许markdown-spellcheck是适合您的工具。您需要安装nodejs/npm

以交互模式测试运行:

$ cat test.md 
asdfasdfa adsfa sdfa text to check adsfasd f

```
a wildwild code block appppeared!
thisHas quiteOften() some strings.that should NOT get changed
```

and also `inLIned code` should not get checked
$ mdspell test.md 
Spelling - test.md
asdfasdfa adsfa sdfa text to check adsf
?   Ignore
asdfasdfa adsfa sdfa text to check adsfasd f
?   Ignore
asdfasdfa adsfa sdfa text to check adsfasd f
?   Ignore
sdfa adsfa sdfa text to check adsfasd f
?   Ignore
>> 1 file is free from spelling errors
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.