Sunday, June 19, 2005

ใช้ jEdit ช่วยทำ Source Highlighting #1

อยากให้ blog ของตัวเอง
สามารถแสดง syntax highlighting ในส่วน source code ได้มานานแล้ว
แต่ยังไม่มีโอกาสสักที วันนี้ก็เลยมองหา solution ดู

กรณีที่เป็น unix command line
ก็จะมี tool ที่เรียกว่า source-highlight อยู่แล้ว
สามารถเรียกใช้ด้วยคำสั่ง
source-highlight -s java -f html -cstylename Main.java

แต่เนื่องจากวิธีนี้ไม่ค่อยสะดวกสบายนัก
เพราะขณะที่เราเขียน blog ด้วย editor
การ switch ไปใช้ command line ก็ไม่ใช่ทางเลือกทีี่ดีเท่าไร
(แถม output ที่ได้ ยังเป็น html ตัวเต็มๆ
ซึ่งเราต้องการแค่บางส่วนเท่านั้น )

ทางเลือกที่ 2 ที่เจอก็คือ
xmltools
แนวทางนี้ก็คือเขียน blog เป็น xml file เลย
จากนั้นก็ทำการ transform xml file นั้น
ทางเลือกนี้ก็น่าสนใจดี
เหมาะอย่างยิ่งสำหรับการเขียนเอกสาร ในลักษณะของ xml document
แต่ก็ยังไม่ถูกใจอยู่ดี

ทางเลือกที่ 3 ก็คือเขียนเป็น editor plugin หรือ script
ให้สามารถเลือกส่วนที่ต้องการ convert
จาก editor โดยตรง จากนั้นก็สั่ง
transform เพื่อให้เป็น html ที่ต้องการ

ตกลงใจเลือกทางเลือกที่ 3
จากการค้นดูใน net พบว่า
เจ้า jEdit มี plugin ที่ชื่อ Code2HTML อยู่
ก็เลยลอง load มาใช้
ผลลัพท์ที่ได้ก็ยังไม่น่าพอใจนัก เพราะ code ที่ gen
ออกมานั้นยังทำส่วน CSS ไม่ดีนัก

คำว่าไม่ดี ก็คือมันมี css element
ที่มีชื่อเป็น syntax1, syntax2, syntax3 ... ออกมาเต็มไปหมด
นอกจากนี้ การ gen ก็เป็นการ gen file html ทั้ง file
คือมี tag html, head, body ออกมาด้วย

สุดท้ายก็เลยทำการเขียน jEdit Plugin ขึ้นมาเอง
โดยใช้ตัวอย่าง code จาก code2HTML plugin
ซึ่งก็ได้ความมันส์พอสมควร เพราะมีบางอย่างที่คู่มือไม่ได้อธิบายไว้
ต้องไล่จากตัว source code ของ jedit เอง

Related link from Roti

No comments: