Gibt es Rechtschreibprüfungen, die Markdown kennen?

14

Ich möchte meine Artikel einer Rechtschreibprüfung unterziehen, bevor ich sie veröffentliche. Ich denke, aspellist in Ordnung, aber es sollte nicht versucht werden, Codeblöcke zu überprüfen:

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

Gibt es für Linux auf Befehlszeilen basierende Rechtschreibprüfungen, die Markdown kennen und daher Codeblöcke ignorieren? Ich muss dies im Batch-Modus für mehrere Dateien ausführen können.

(Bonuspunkte, wenn Sie einen kennen, der LaTeX wirklich versteht - nein, aspell -tfunktioniert nicht vollständig)

Martin Thoma
quelle
Welcher Redakteur? Ich verwende flyspell-modemit ispellin Emacs und habe es so eingestellt, dass LaTeX-Befehle ignoriert werden. Funktioniert gut.
Terdon
Ich verwende vimTextilien zum Posten in meinem Blog und glaube, dass das Markup bekannt ist, also gibt es sie.
slm

Antworten:

7

Ich gehe für die Bonuspunkte. Ich verwende emacsund habe flyspell-modestandardmäßig für LaTeX-Dokumente aktiviert. Es funktioniert einwandfrei und ignoriert LaTeX-Befehle.

Die relevanten Zeilen in meiner .emacsDatei sind:

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

Ich habe nicht wirklich viel Markdown verwendet, aber ich würde vermuten, dass Sie das Äquivalent auch dafür tun können.

terdon
quelle
emacs scheint HTML standardmäßig nicht zu ignorieren. Die ersten Rechtschreibfehler kamen von <li>-tags.
Martin Thoma
1
Ich habe nach einer Shell-basierten Rechtschreibprüfung gefragt, da ich ungefähr 400 Markdown-Dateien prüfen möchte. Wenn die Rechtschreibprüfung keinen Fehler findet, sollte sie einfach beendet werden (ohne ein Fenster zu öffnen). Ich denke, Emacs basiert nicht auf Shell, oder?
Martin Thoma
@moose Ich hatte nicht verstanden, dass du ein Kommandozeilen-Dienstprogramm wolltest, das auf mehreren Dateien läuft. Emacs könnte das gut können (es macht schließlich alles andere), aber ich weiß nicht wie. Der flyspellModus hebt Fehler einfach während der Eingabe hervor.
Terdon
Danke für die Antwort; Ich denke, es ist eine sehr gute Wahl für neue Dokumente (+1), aber für alte Dokumente hilft es nicht. Es tut mir leid, dass ich mir über den Kommandozeilen- / Batch-Teil der Frage nicht im Klaren bin.
Martin Thoma
3

Vielleicht ist die Abschrift-Rechtschreibprüfung das richtige Werkzeug für Sie. Sie müssen installieren nodejs/npm.

Testlauf im interaktiven Modus:

$ 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
quelle