web-dev-qa-db-ja.com

Markdownを認識しているスペルチェッカーは存在しますか?

記事を公開する前に、記事に対してスペルチェッカーを実行したいと思います。 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に存在しますか?これを複数のファイルに対してバッチモードで実行できるようにする必要があります。

(LaTeXを本当に理解している人を知っているならボーナスポイント-いいえ、aspell -t完全には機能しません)

14
Martin Thoma

ボーナスポイントを獲得します。私はemacsを使用し、LaTeXドキュメントに対してデフォルトで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"))

マークダウンはあまり使用していませんが、同等のこともできると思います。

7
terdon

多分 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
3
Freddy