ฉันจะทำเช่นนั้นในบัฟเฟอร์ที่แตกต่างกันหรือแม้กระทั่งในบัฟเฟอร์ปัจจุบันได้อย่างไร
ฉันพยายามที่จะทำ Github README.md และการเรนเดอร์ Github อื่น ๆ ของ Markdown (สำหรับโน้ตและอื่น ๆ )
ฉันจะทำเช่นนั้นในบัฟเฟอร์ที่แตกต่างกันหรือแม้กระทั่งในบัฟเฟอร์ปัจจุบันได้อย่างไร
ฉันพยายามที่จะทำ Github README.md และการเรนเดอร์ Github อื่น ๆ ของ Markdown (สำหรับโน้ตและอื่น ๆ )
คำตอบ:
นี่เป็นวิธีแก้ปัญหาที่ค่อนข้างยาว แต่มีประสิทธิภาพ
simple-httpd
M-x httpd-start
markdown
จากผู้จัดการแพคเกจระบบของคุณimpatient-mode
M-x impatient-mode
สุดท้ายประเมินรหัสนี้:
(defun markdown-export-continuous (&optional output-file)
(interactive)
(let ((input-file (buffer-file-name))
(output-file (markdown-export-file-name ".html")))
(when output-file
(with-current-buffer (find-file-noselect output-file)
(erase-buffer)
(insert
(shell-command-to-string
(format "markdown %s" input-file)))
(save-buffer)))))
(add-hook 'after-save-hook 'markdown-export-continuous t t)
โปรดทราบว่าadd-hook
คำสั่งจะต้องอยู่ในท้องถิ่นเป็น Markdown ดังนั้นให้เรียกใช้มันในบัฟเฟอร์นั้น
หลังจากทั้งหมดนี้เปิดเบราว์เซอร์ของคุณบนและมันจะรีเฟรชทุกครั้งที่คุณhttp://localhost:8080/imp/
C-x C-s
ตั้งแต่โหมด markdown 2.1นี่คือฟังก์ชั่นที่ให้ไว้ในmarkdown-live-preview-mode
(ผูกไว้กับC-c C-c l
)
มันใช้ eww สำหรับการเรนเดอร์ HTML ภาพหน้าจอ:
markdown-export
และeww
ขับเคลื่อนจากเบ็ดการแจ้งเตือนการเปลี่ยนแปลงและตัวจับเวลา แต่ดูเหมือนว่าส่วนที่น่าสนใจจะกำหนดว่าส่วนใดของeww
HTML buffer ที่สอดคล้องกับpoint
ใน markdown buffer (เพื่อให้สามารถเลื่อน "in sync")