มีการตรวจสอบการสะกดคำที่ทราบถึง 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ไม่ไม่ทำงานไม่สมบูรณ์)


ตัวแก้ไขใด ฉันใช้flyspell-modeกับispellemacs และฉันตั้งค่าให้ละเว้นคำสั่ง LaTeX ทำงานได้ดี
terdon

ฉันใช้vimสิ่งทอสำหรับการโพสต์ในบล็อกของฉันและฉันเชื่อว่าตระหนักถึงมาร์กอัปดังนั้นจึงมีอยู่
slm

คำตอบ:


7

ฉันจะไปรับคะแนนโบนัส ฉันใช้emacsและflyspell-modeเปิดใช้งานโดยค่าเริ่มต้นสำหรับเอกสาร LaTeX แล้ว มันทำงานได้ดีและไม่สนใจคำสั่ง 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"))

ไม่ได้ใช้มาร์กอัปมากนัก แต่ฉันคิดว่าคุณสามารถทำสิ่งที่เทียบเท่าได้เช่นกัน


emacs ดูเหมือนว่าจะไม่เพิกเฉย HTML โดยค่าเริ่มต้น การตรวจสอบการสะกดคำครั้งแรกที่ฉันได้รับมาจาก<li>- แท็ก
Martin Thoma

1
ฉันขอเครื่องตรวจคำสะกดโดยใช้เชลล์เพราะฉันต้องการตรวจสอบไฟล์มาร์กอัปประมาณ 400 ไฟล์ หากเครื่องตรวจการสะกดไม่พบข้อผิดพลาดมันควรจะออกจาก (โดยไม่ต้องเปิดหน้าต่าง) ฉันคิดว่า emacs ไม่ได้เป็นแบบ Shell ใช่ไหม?
Martin Thoma

@moose ฉันไม่เข้าใจว่าคุณต้องการยูทิลิตี commandline ที่ทำงานในหลายไฟล์ Emacs อาจจะสามารถทำสิ่งนี้ได้ (มันทำทุกอย่างอื่น) แต่ฉันไม่รู้ว่าจะทำอย่างไร flyspellโหมดเพียงแค่ไฮไลท์ข้อผิดพลาดขณะที่คุณพิมพ์
terdon

ขอบคุณสำหรับคำตอบ ฉันคิดว่าอาจเป็นตัวเลือกที่ดีมากสำหรับเอกสารใหม่ (+1) แต่สำหรับเอกสารเก่ามันไม่ได้ช่วยอะไร ฉันขอโทษที่ยังไม่ชัดเจนเกี่ยวกับส่วนของ commandline / batch ของคำถาม
Martin Thoma

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.