Wie kann ich das entweder in einem anderen Puffer oder sogar im aktuellen Puffer machen?
Ich versuche, Github README.md und andere Github-Renderings von Markdown (für Notizen und ähnliches) durchzuführen.
Wie kann ich das entweder in einem anderen Puffer oder sogar im aktuellen Puffer machen?
Ich versuche, Github README.md und andere Github-Renderings von Markdown (für Notizen und ähnliches) durchzuführen.
Antworten:
Hier ist eine ziemlich lange, aber effiziente Lösung.
simple-httpd
und M-x httpd-start
.markdown
vom Paketmanager Ihres Systems.impatient-mode
und M-x impatient-mode
.Bewerten Sie abschließend diesen Code:
(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)
Beachten Sie, dass die add-hook
Anweisung für Markdown lokal sein muss. Führen Sie sie daher in diesem Puffer aus.
Öffnen Sie nach all dem Ihren Browser http://localhost:8080/imp/
und er wird jedes Mal aktualisiert, wenn Sie C-x C-s.
Ab Markdown-Modus 2.1 wird diese Funktionalität in markdown-live-preview-mode
(gebunden an C-c C-c l
) bereitgestellt .
Es verwendet eww zum Rendern des HTML. Bildschirmfoto:
markdown-export
und verwendeneww
, basierend auf einem Hook und Timer für Änderungsmeldungen. Aber es scheint so, als würde der interessante Teil bestimmen, welchem Teil deseww
Puffer-HTMLpoint
im Markdown-Puffer entspricht (damit sie "synchron" scrollen können).