我在编写Markdown时如何进行实时预览?


14

如何在其他缓冲区或当前缓冲区中执行此操作?

我正在尝试做Github README.md和Markdown的其他Github渲染(用于注释等),


乍一看,这似乎很容易使用,markdown-export并且eww由变更通知挂钩和计时器驱动。但是,似乎有趣的部分似乎是确定eww缓冲区HTML对应point于markdown缓冲区的哪一部分(以便它们可以“同步”滚动)。
格雷格·亨德肖特

Answers:


4

这是一个相当长但有效的解决方案。

  1. 安装simple-httpdM-x httpd-start
  2. markdown从系统的程序包管理器进行安装。
  3. 打开降价缓冲区并运行markdown-export。这将在同一目录中生成一个HTML文件。
  4. 打开该HTML文件。
  5. 安装impatient-modeM-x impatient-mode
  6. 返回您的markdown文件。

最后,评估以下代码:

(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


我在localhost:8080 / imp中看到了html文件,但是我必须单击它才能看到它,而Cx Cs似乎没有刷新。还是打算这样做?
CodeSammich

另外,有没有一种方法可以进行Github风格的markdown导出,而不仅仅是markdown-export?
CodeSammich

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.