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),
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),
Jawaban:
Inilah solusi yang cukup panjang namun efisien.
simple-httpd
dan M-x httpd-start
.markdown
dari manajer paket sistem Anda.impatient-mode
dan M-x impatient-mode
.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-hook
pernyataan 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.
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:
markdown-export
daneww
, didorong dari kait pemberitahuan pengatur waktu. Tetapi sepertinya bagian yang menarik adalah menentukan bagianeww
buffer HTML yang sesuai denganpoint
dalam markdown buffer (sehingga mereka dapat menggulir "dalam sinkronisasi").