Emacs 如何在降价模式下制作目录?

Emacs 如何在降价模式下制作目录?,emacs,markdown,github-flavored-markdown,Emacs,Markdown,Github Flavored Markdown,我在markdown模式下使用emacs预览markdown文档,但在键入C-x C-x p后预览的HTML页面中没有目录 cat~/.emacs (add-to-list 'load-path "~/.emacs.d") (autoload 'markdown-mode "markdown-mode" "Major mode for editing Markdown files" t) (add-to-list 'auto-mode-alist '("\\.markdown\\'"

我在markdown模式下使用emacs预览markdown文档,但在键入C-x C-x p后预览的HTML页面中没有目录

cat~/.emacs

(add-to-list 'load-path "~/.emacs.d")  

(autoload 'markdown-mode "markdown-mode"
   "Major mode for editing Markdown files" t)
(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))

(autoload 'gfm-mode "markdown-mode"
   "Major mode for editing GitHub Flavored Markdown files" t)
(add-to-list 'auto-mode-alist '("README\\.md\\'" . gfm-mode))

(custom-set-variables
 '(markdown-command "/usr/bin/pandoc --toc -f markdown_github -t html"))
PS:我可以使用pandoc命令
pandoc--toc-f markdown\u github
从一个markdown文档中创建一个包含目录的HTML页面


如何解决?先进的Thx

如果您有在标题下插入命名锚的规则,如下所示:

##我的标题
富吧
我的另一个标题
================
巴兹库克斯
那么下面的函数应该是一个合理的起点(不区分标题级别或任何东西,只是一点PoC)

(取消我的/进行降价toc()
“在md文档顶部进行降价。”
(互动)
(省去远足
(转到字符(最小点))
(让((标题列表))
(while(向前搜索regexp markdown regex头nil'noerror)
(如果(匹配字符串5)
(推送(匹配字符串5)标题列表)
(如果(匹配字符串1)
(推送(匹配字符串1)标题列表)))
(消息“我找到%s个匹配项”(标题的长度列表))
(转到字符(最小点))
(标题(标题的反向列表))
(插入“1.[“标题”](#“标题”)\n“;”)))

请注意,繁重的工作只是通过借用降价模式的正则表达式作为标题来完成的。

在melpa中,使用包非常简单。只要用
M-x
来称呼它就行了

资料来源:


如果您有许多相同的标题,则必须区分锚定,并且您将依赖npm。

请注意,TOC是一种非标准功能,因此可能不存在于所有的降价实现中。我不知道emacs的降价模式支持哪些功能,但如果非标准功能像Pandoc一样工作,我会感到惊讶。@Waylan,
markdown preview
应该调用
markdown命令
(这里设置为带有
--toc
标志的Pandoc)<代码>降价模式不需要直接支持Pandoc的任何功能。我应该先检查包回购。:)