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

CodeSammich
sumber
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.

abo-abo
sumber
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
5

Pada mode penurunan harga 2.1 , fungsi ini disediakan dalam markdown-live-preview-mode(terikat ke C-c C-c l).

Ini menggunakan eww untuk rendering HTML. Tangkapan layar:

pratinjau langsung penurunan harga

Wilfred Hughes
sumber