¿Existen correctores ortográficos que sean conscientes de Markdown?

14

Me gustaría ejecutar un corrector ortográfico sobre mis artículos antes de publicarlos. Creo que aspellestá bien, pero no debería intentar verificar los bloques de código:

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

¿Existen correctores ortográficos basados ​​en la línea de comandos para Linux que conocen Markdown y, por lo tanto, ignoran los bloques de código? Necesito poder ejecutar esto en modo por lotes para varios archivos.

(Puntos de bonificación si conoce uno que realmente entienda LaTeX, no, aspell -tno funciona por completo)

Martin Thoma
fuente
Cual editor? Yo uso flyspell-modecon ispellen emacs y me he instalado ignorar comandos de LaTeX. Funciona bien.
terdon
Solía vimhacer textiles para publicar en mi blog y creo que es consciente del marcado, por lo que existen.
slm

Respuestas:

7

Voy por los puntos de bonificación. Yo uso emacsy he flyspell-modehabilitado por defecto para documentos LaTeX. Funciona bien e ignora los comandos de LaTeX.

Las líneas relevantes en mi .emacsarchivo son:

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

Realmente no he usado mucho Markdown, pero supongo que también puedes hacer el equivalente.

terdon
fuente
emacs parece no ignorar HTML por defecto. Los primeros errores de corrección ortográfica que obtuve fueron de <li>-tags.
Martin Thoma
1
He pedido un corrector ortográfico basado en shell, porque me gustaría comprobar unos 400 archivos de rebajas. Si el corrector ortográfico no encuentra un error, simplemente debe salir (sin abrir una ventana). Creo que emacs no está basado en Shell, ¿verdad?
Martin Thoma
@moose No había entendido que deseabas una utilidad de línea de comandos que se ejecutara en varios archivos. Emacs bien podría hacer esto (después de todo, hace todo lo demás), pero no sé cómo. El flyspellmodo simplemente resalta los errores a medida que escribe.
terdon
Gracias por la respuesta; Creo que podría ser una muy buena opción para documentos nuevos (+1), pero para documentos antiguos no ayuda. Lamento no haber sido claro acerca de la línea de comandos / lote de la pregunta.
Martin Thoma
3

Quizás markdown-spellcheck es la herramienta adecuada para ti. Necesitas instalar nodejs/npm.

Prueba de funcionamiento en modo interactivo:

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