Как мне сделать предварительный просмотр Markdown в процессе написания?

14

Как я могу сделать это в другом буфере или даже в текущем буфере?

Я пытаюсь сделать Github README.md и другие Github рендеринга Markdown (для заметок и тому подобное),

CodeSammich
источник
На первый взгляд это кажется простым для использования с использованием markdown-exportи eww, управляемым из ловушки уведомлений об изменениях и таймера. Но, похоже, интересной частью будет определение того, какой части ewwбуфера HTML соответствует pointбуфер уценки (чтобы они могли прокручиваться «синхронно»).
Грег Хендершотт

Ответы:

4

Вот довольно длинное, но эффективное решение.

  1. Установите simple-httpdи M-x httpd-start.
  2. Установите markdownиз диспетчера пакетов вашей системы.
  3. Откройте буфер уценки и запустите markdown-export. Это создает HTML-файл в том же каталоге.
  4. Откройте этот файл HTML.
  5. Установите impatient-modeи M-x impatient-mode.
  6. Вернитесь к вашему файлу уценки.

Наконец, оцените этот код:

(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
Кроме того, вместо простого экспорта уценки, есть ли способ сделать экспорт уценки со вкусом Github?
CodeSammich
5

Начиная с режима уценки 2.1 , эта функциональность предоставляется markdown-live-preview-mode(привязана к C-c C-c l).

Он использует eww для рендеринга HTML. Скриншот:

предварительный просмотр уценки

Уилфред Хьюз
источник