Czy istnieją sprawdzacze pisowni, które są świadome Markdown?

14

Chciałbym uruchomić moduł sprawdzania pisowni nad moimi artykułami przed ich opublikowaniem. Myślę, że aspelljest ok, ale nie powinien próbować sprawdzać bloków kodu:

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

Czy istnieją sprawdzanie pisowni oparte na linii poleceń dla Linuksa, które są świadome Markdown i dlatego ignorują bloki kodu? Muszę być w stanie uruchomić to w trybie wsadowym dla wielu plików.

(Punkty bonusowe, jeśli znasz taki, który naprawdę rozumie LaTeX - nie, aspell -tnie działa całkowicie)

Martin Thoma
źródło
Który redaktor? Używam flyspell-modez ispellemacsem i skonfigurowałem go tak, aby ignorował polecenia LaTeX. Działa w porządku.
terdon
Robię vimtekstylia do publikowania na moim blogu i uważam, że jest świadomy znaczników, więc one istnieją.
slm

Odpowiedzi:

7

Idę po punkty bonusowe. Używam emacsi mam flyspell-modewłączone domyślnie dla dokumentów LaTeX. Działa dobrze i ignoruje polecenia LaTeX.

Odpowiednie wiersze w moim .emacspliku to:

;; 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"))

Tak naprawdę nie korzystałem dużo z przeceny, ale sądzę, że możesz zrobić to samo.

terdon
źródło
emacs wydaje się domyślnie nie ignorować HTML. Pierwsze błędy sprawdzania pisowni, które dostałem, pochodziły z <li>tagów.
Martin Thoma
1
Poprosiłem o sprawdzanie pisowni oparte na powłoce, ponieważ chciałbym sprawdzić około 400 plików przecen. Jeśli moduł sprawdzania pisowni nie znajdzie błędu, powinien po prostu wyjść (bez otwierania okna). Myślę, że emacs nie jest oparty na Shell, prawda?
Martin Thoma,
@moose Nie zrozumiałem, że chcesz narzędzie wiersza polecenia uruchamiane na wielu plikach. Emacs może to zrobić (w końcu robi wszystko inne), ale nie wiem jak. flyspellTryb prostu podkreśla błędy podczas pisania.
terdon
Dziękuję za Twoją odpowiedź; Myślę, że może to być bardzo dobry wybór dla nowych dokumentów (+1), ale w przypadku starych dokumentów to nie pomaga. Przykro mi, że nie wyraziłem się jasno w kwestii wiersza polecenia / partii.
Martin Thoma
3

Może Markdown-spellcheck jest właściwym narzędziem dla Ciebie. Musisz zainstalować nodejs/npm.

Uruchomienie testowe w trybie interaktywnym:

$ 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
Freddy
źródło