ปัจจุบัน หลังจากเปลี่ยนมาใช้ emacs แล้ว
ก็เลยเปลี่ยนวิธีด้วย
หันมาใช้ htmlize แทน
แต่ก็ยังไม่ค่อยสะดวกอยู่ตรงที่
เนื่องจาก htmlize มัน generate เป็น html เต็มๆให้เลย
ก็เลยต้องใช้ mouse คอยลากเฉพาะบริเวณที่ต้องการอีกที
วันนี้ หลังจากเริ่มปีกกล้าขาแข็งกับ clisp
ก็เลยลองเขียน elisp ดู
เป็น function ที่ช่วย copy เฉพาะบริเวณที่เราต้องการ ลง clipboard
(defun my-hook ()
(let ((pos_1 (search-forward "<pre>"))
(pos_2 (search-forward "</pre>")))
(kill-region pos_1 (- pos_2 6))
(kill-this-buffer)))
(add-hook 'htmlize-after-hook 'my-hook)
การทำงานก็ง่ายๆ
เริ่มด้วยการ define function my-hook ขึ้นมา
กำหนดให้ pos_1 คือ ตำแหน่งที่มีคำว่า <pre> อยู่
ส่วน pos_2 ก็คือ ตำแหน่งที่มีคำว่า </pre>
จากนั้น ก็ใช้ kill-region เพื่อ copy text ที่อยู่ระหว่าง pos1 กับ pos2 ลง clipboard
จบด้วยการก็ปิด buffer ที่ htmlize เปิด
สุดท้ายก็ add function ของเราลงไปใน hook ที่ htmlize เตรียมไว้ให้
No comments:
Post a Comment