From 34c2365081f6e187b41c54d65db55ab83c78f933 Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Thu, 29 May 2014 21:20:55 +0200 Subject: [PATCH] ox-md.el (org-md-headline): Add anchors when exporting with a table of contents MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * ox-md.el (org-md-headline): When exporting with a HTML table of contents, add HTML anchors to Markdown headlines. Thanks to Marko Dimjašević for reporting this. --- lisp/ox-md.el | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lisp/ox-md.el b/lisp/ox-md.el index 1f841c865..f1c4db986 100644 --- a/lisp/ox-md.el +++ b/lisp/ox-md.el @@ -182,6 +182,14 @@ a communication channel." (and (plist-get info :with-priority) (let ((char (org-element-property :priority headline))) (and char (format "[#%c] " char))))) + (anchor + (when (plist-get info :with-toc) + (org-html--anchor + (or (org-element-property :CUSTOM_ID headline) + (concat "sec-" + (mapconcat 'number-to-string + (org-export-get-headline-number + headline info) "-")))))) ;; Headline text without tags. (heading (concat todo priority title))) (cond @@ -202,12 +210,12 @@ a communication channel." (replace-regexp-in-string "^" " " contents))))) ;; Use "Setext" style. ((eq org-md-headline-style 'setext) - (concat heading tags "\n" + (concat heading tags anchor "\n" (make-string (length heading) (if (= level 1) ?= ?-)) "\n\n" contents)) ;; Use "atx" style. - (t (concat (make-string level ?#) " " heading tags "\n\n" contents)))))) + (t (concat (make-string level ?#) " " heading tags anchor "\n\n" contents)))))) ;;;; Horizontal Rule -- 2.11.4.GIT