วิธีย้ายไฟล์ Markdown ไปเป็นรูปแบบโหมด org ของ Emacs


34

ฉันมีบันทึกย่อส่วนบุคคลหลายร้อยรายการที่จัดเก็บเป็นไฟล์ในรูปแบบ Markdown หลังจากผ่านไปหลายปีโดยใช้ซอฟต์แวร์วิกิส่วนตัวVoodooPadสำหรับ OS X

มีข้อมูลมากมายสำหรับการส่งออกจากโหมดองค์กรถึง Markdown แต่มีวิธีง่าย ๆ ในการแปลงรูปแบบ Markdown ไปเป็นโหมดองค์กรหรือไม่?


ปรับปรุง

ขอบคุณคำตอบของ user2619203และคำตอบสำหรับคำถามเกี่ยวกับการประมวลผลแบตช์ไฟล์ด้วย Pandocฉันสามารถแปลงไฟล์ Markdown สี่ร้อยไฟล์ให้เป็นรูปแบบโหมดองค์กรในเวลาเพียงไม่กี่นาที

ทางออกคือการส่งออกเอกสาร VoodooPad ไปยังโฟลเดอร์เป็นข้อความ ( ไฟล์ > ส่งออกเอกสาร > ส่งออกเป็นข้อความ ... ) จากนั้นโทรpandocผ่านfindคำสั่งเพื่อแปลงทั้งหมดในครั้งเดียว:

$ find . -name \*.txt -type f -exec pandoc  -f markdown -t org -o {}.org {} \; 

ไฟล์. org ที่แปลงแล้วที่ฉันได้ดูนั้นมีการจัดรูปแบบอย่างสวยงามแม้แต่โค้ดบล็อกและรูปแบบการจัดรูปแบบ ขอบคุณคุณuser2619203

ในการแปลงไฟล์เพียงไฟล์เดียวจาก Markdown เป็น Org สามารถใช้คำสั่งต่อไปนี้:

pandoc -f markdown -t org -o newfile.org original-file.markdown

นี่คือลิงค์ไปยังเอกสารของ Pandoc


เนื่องจากคุณกำลังใช้pandocคุณอาจสนใจpandoc-modeemacs มันดูเรียบร้อยดี
Iqbal Ansari

คำตอบ:


31

Pandocสามารถแปลงระหว่างรูปแบบเอกสารหลายแบบ

วิธีแปลงไฟล์ Markdown ให้เป็นโหมด org:

for f in `ls *.md`; do 
  pandoc -f markdown -t org -o ${f}.org ${f}; 
done

17
โปรดพิจารณาเพิ่มเนื้อหาเพิ่มเติมเช่นลิงก์ไปยังส่วนที่เกี่ยวข้องของเอกสารpandocคำสั่งเฉพาะที่ใช้ตัวอย่างการทำงานที่น้อยที่สุด ดูฉันจะเขียนคำตอบที่ดีได้อย่างไร . (ในรูปแบบปัจจุบันมันเป็นความเห็นมากกว่าคำตอบ)
Constantine

พบเอกสารที่เกี่ยวข้องที่johnmacfarlane.net/pandoc/README.html
Steve HHH

-1

นี่คือฟังก์ชั่น emacs ที่จะแปลงเนื้อหาบัฟเฟอร์ปัจจุบันเป็นรูปแบบ orgmode โดยใช้ pandoc:

  (defun markdown-convert-buffer-to-org ()
    "Convert the current buffer's content from markdown to orgmode format and save it with the current buffer's file name but with .org extension."
    (interactive)
    (shell-command-on-region (point-min) (point-max)
                             (format "pandoc -f markdown -t org -o %s"
                                     (concat (file-name-sans-extension (buffer-file-name)) ".org"))))
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.