ปัญหาที่พบเจอ

ต้องทำการ copy code ตัวอย่างไปใส่ใน Keynote
พบว่าต้องมานั่งจัด code เอง
ทั้งโครงสร้าง
ทั้ง syntax highlight
และอื่น ๆ อีกมากมาย
ทำให้เสียเวลาอย่างมาก

ดังนั้นสิ่งที่ต้องการคือ
เราจะลดเวลาในเรื่องของ Code Highlight ได้อย่างไร ?

วิธีการแก้ไขปัญหา

ถ้าไม่คิดอะไรมากก็ทำการ capture เป็นรูปมาจาก IDE/Editor ซะเลย
แต่ผู้ใช้งานก็ copy ไปใช้งานยากอีก !!

ดังนั้นสิ่งที่ต้องการคือ copy code ไปวางบน Keynote แล้วใช้งานได้เลย
ไม่ต้องมาเสียเวลาจัด code ให้สวยงามอีก
นั่นก็คือนำ Highlight มาใช้งาน
ใช้สำหรับแปลง source code ไปอยู๋ในรูปแบบต่าง ๆ
เช่น HTML, RTF, SVG เป็นต้น
พร้อมกับทำการ highlight code ให้อีกด้วย
มีวิธีการใช้งานดังนี้

1. ติดตั้ง Highlight

$brew install highlight

2. การใช้งานก็ไม่ยากเท่าไร
เป็นการใช้งานผ่าน command line นั่นเอง
โดยจะทำการอ่าน code จากไฟล์ที่เราต้องการ
จากนั้นนำผลลัพธ์ไปใส่ไว้ใน clipboard ทันที
ด้วยคำสั่งดังนี้

$highlight -l -O rtf <file name> | pbcopy

คำอธิบาย
ทำการอ่านข้อมูลจากไฟล์ที่เราต้องการ
โดยแปลงไปอยู่ในรูปแบบ RTF
พร้อมกับแสดงหมายเลขบรรทัดให้อีกด้วย

มาดูตัวอย่างที่ผมชอบใช้งานคือ
อ่าน code ที่เขียนด้วยภาษา Node.js
แสดงหมายเลขบรรทัด
ตัวอักษรที่ต้องการคือ Boon font ขนาด 30
เขียน command line ได้ดังนี้

$highlight -O rtf good.js -l --font=Boon --font-size=30 | pbcopy

จากนั้นทำการวาง (paste) ใน Keynote แสดงผลดังนี้

เพียงเท่านี้ก็ทำให้ชีวิตสบายขึ้นอีกเยอะครับ