Anuchit Chalothorn

Human Knowledge Belongs to The World

เปลี่ยนเครื่องมือเขียนหนังสืออีกแล้ว


16 Dec 2024, 16:25

ผมกลับมาเขียนหนังสือด้วย Markdown อีกรอบรู้สึกคาใจเรื่อง EPUB มาก จริงๆ ส่งไฟล์ docx ไปให้แพลทฟอร์มทำไฟล์ให้ก็ได้ แต่อยากทำเองมากกว่า เพราะยังไงก็เขียน Markdown อยู่แล้วก็เลย ใช้เขียนหนังสือด้วยเลยน่าจะดี จากที่ได้ทดลองแปลงไฟล์จาก Markdown เป็น EPUB นี่ทำได้อยู่แล้ว จะได้ไฟล์ EPUB ที่คลีนมาก ไฟล์ที่ได้มีขนาดเล็กกว่าการแปลงไฟล์จาก docx ไปเป็น EPUB มาก

จากครั้งที่แล้วใช้ IDE ในเว็บเขียนและ export ไฟล์ออกมาเป็น Markdown แล้วมาแปลงเป็น EPUB แบบ manual ครั้งนี้เขียนเขียนเป็น script สร้างไฟล์ก่อน คิดว่าจะเอาไปใส่ใน GitHub Actions เวลา build ไฟล์จะได้สะดวกมากขึ้น

เครื่องมือสำหรับแปลงไฟล์ใช้ pandoc เหมือนเดิม การแปลงไฟล์ Markdown ไป EPUB ด้วย pandoc เราสามารถใช้ template, css, font ที่เราต้องการได้ ก็เลยทำไฟล์ EPUB ได้สะดวกหน่อย แต่ไฟล์ PDF จะต้องใช้ pdf engine อย่างเช่น LaTex ร่วมด้วย

ผมไม่ได้เขียน LaTex มานานมากและลืมหมดแล้ว ก็เลยใช้ Calibre ช่วยแปลงจาก EPUB เป็น PDF แทน เพราะใส้ใน EPUB เป็น html อยู่แล้ว แปลงไฟล์ได้ง่ายมากกว่า ไฟล์ PDF ที่ได้ออกมาใช้ได้ดีเลย เราสามารถตั้งค่าเพิ่มเติมได้หลายอย่าง เช่น metadata, font, page size, page margin ฯลฯ แต่เรื่องการใส่เลขหน้า ใส่สารบัญ สลับหน้า ฯลฯ ต้องใช้ pdf tools ตัวอื่นมาทำภายหลัง

ผมก็เลยเขียนสคริป python เอา py2pdf, report มาตัดต่อไฟล์ ใส่เลขหน้า ฯลฯ แต่ bookmark ที่สร้างจาก pandoc หายเกลี้ยง 555 สรุปว่ามีงานงอกเพิ่ม เดี๋ยวคงได้หาวิธีที่ดีกว่านี้