Bagaimana cara melakukan pratinjau Markdown langsung saat saya menulisnya?


14

Bagaimana saya bisa melakukannya di buffer berbeda atau bahkan di buffer saat ini?

Saya mencoba melakukan Github README.md dan rendering Github lainnya untuk penurunan harga (untuk catatan dan semacamnya),


Pandangan pertama ini sepertinya mudah dilakukan menggunakan markdown-exportdan eww, didorong dari kait pemberitahuan pengatur waktu. Tetapi sepertinya bagian yang menarik adalah menentukan bagian ewwbuffer HTML yang sesuai dengan pointdalam markdown buffer (sehingga mereka dapat menggulir "dalam sinkronisasi").
Greg Hendershott

Jawaban:


4

Inilah solusi yang cukup panjang namun efisien.

  1. Pasang simple-httpddan M-x httpd-start.
  2. Instal markdowndari manajer paket sistem Anda.
  3. Buka penyangga penurunan harga dan jalankan markdown-export. Itu menghasilkan file HTML di direktori yang sama.
  4. Buka file HTML itu.
  5. Pasang impatient-modedan M-x impatient-mode.
  6. Kembali ke file penurunan harga Anda.

Akhirnya, evaluasi kode ini:

(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)

Perhatikan bahwa add-hookpernyataan tersebut harus lokal untuk penurunan harga, jadi jalankan di buffer itu.

Setelah semua ini, buka browser Anda http://localhost:8080/imp/dan itu akan menyegarkan setiap kali Anda C-x C-s.


Saya melihat file html di localhost: 8080 / imp, tapi saya harus mengkliknya untuk melihatnya, dan Cx Cs sepertinya tidak menyegarkan. Atau apakah itu dimaksudkan?
CodeSammich

Selain itu, alih-alih hanya penurunan harga ekspor, apakah ada cara untuk melakukan ekspor penurunan harga rasa Github?
CodeSammich

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.