From d70a0b62517e71cb62b80ae6227565ffb019f4c1 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sun, 20 Sep 2015 21:50:50 +0200 Subject: [PATCH] ox-md: Fix TOC's internal links MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * lisp/ox-md.el (org-md-headline): Use CUSTOM-ID when available. TOC is generated using HTML export back-end, which links to headlines through their custom ID, when available. By anchoring that custom ID, we make sure these links are not broken. Reported-by: dbitouze@wanadoo.fr (Denis Bitouzé) --- lisp/ox-md.el | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lisp/ox-md.el b/lisp/ox-md.el index 2abf1895e..08358eb44 100644 --- a/lisp/ox-md.el +++ b/lisp/ox-md.el @@ -196,8 +196,9 @@ a communication channel." (and char (format "[#%c] " char))))) (anchor (and (plist-get info :with-toc) - (org-html--anchor - (org-export-get-reference headline info) nil nil info))) + (format "" + (or (org-element-property :CUSTOM_ID headline) + (org-export-get-reference headline info))))) ;; Headline text without tags. (heading (concat todo priority title)) (style (plist-get info :md-headline-style))) @@ -213,7 +214,7 @@ a communication channel." (car (last (org-export-get-headline-number headline info)))) ".")))) - (concat bullet (make-string (- 4 (length bullet)) ? ) heading tags + (concat bullet (make-string (- 4 (length bullet)) ?\s) heading tags "\n\n" (and contents (replace-regexp-in-string "^" " " contents))))) @@ -224,7 +225,8 @@ a communication channel." "\n\n" contents)) ;; Use "atx" style. - (t (concat (make-string level ?#) " " heading tags anchor "\n\n" contents)))))) + (t (concat (make-string level ?#) " " heading tags anchor "\n\n" + contents)))))) ;;;; Horizontal Rule -- 2.11.4.GIT