ฉันจะแสดงตัวอย่าง Markdown แบบสดขณะที่ฉันกำลังเขียนได้อย่างไร


14

ฉันจะทำเช่นนั้นในบัฟเฟอร์ที่แตกต่างกันหรือแม้กระทั่งในบัฟเฟอร์ปัจจุบันได้อย่างไร

ฉันพยายามที่จะทำ Github README.md และการเรนเดอร์ Github อื่น ๆ ของ Markdown (สำหรับโน้ตและอื่น ๆ )


การดูครั้งแรกนี้ดูเหมือนจะตรงไปตรงมาเพื่อใช้งานmarkdown-exportและewwขับเคลื่อนจากเบ็ดการแจ้งเตือนการเปลี่ยนแปลงและตัวจับเวลา แต่ดูเหมือนว่าส่วนที่น่าสนใจจะกำหนดว่าส่วนใดของewwHTML buffer ที่สอดคล้องกับpointใน markdown buffer (เพื่อให้สามารถเลื่อน "in sync")
Greg Hendershott

คำตอบ:


4

นี่เป็นวิธีแก้ปัญหาที่ค่อนข้างยาว แต่มีประสิทธิภาพ

  1. การติดตั้งและsimple-httpdM-x httpd-start
  2. ติดตั้งmarkdownจากผู้จัดการแพคเกจระบบของคุณ
  3. เปิดบัฟเฟอร์ markdown markdown-exportและการทำงานของคุณ ที่สร้างไฟล์ HTML ในไดเรกทอรีเดียวกัน
  4. เปิดไฟล์ HTML นั้น
  5. การติดตั้งและimpatient-modeM-x impatient-mode
  6. กลับไปที่ไฟล์ markdown ของคุณ

สุดท้ายประเมินรหัสนี้:

(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


ฉันเห็นไฟล์ html ใน localhost: 8080 / imp แต่ฉันต้องคลิกมันเพื่อดูมันและ Cx Cs ดูเหมือนจะไม่รีเฟรช หรือว่าตั้งใจ?
CodeSammich

นอกจากนี้แทนที่จะส่งออกเพียง markdown มีวิธีการส่งออก markdown ปรุงแต่งกลิ่นรส Github แทนไหม?
CodeSammich

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.