From ab47a285754df33b60e2e45ce4538979c268176d Mon Sep 17 00:00:00 2001 From: Scott Wang Date: Thu, 10 Mar 2016 19:44:00 +0800 Subject: [PATCH] Trim excess newlines inside paragraphs --- ox-gfm.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/ox-gfm.el b/ox-gfm.el index 28b831f..78e18ac 100644 --- a/ox-gfm.el +++ b/ox-gfm.el @@ -56,6 +56,7 @@ (if a (org-gfm-export-to-markdown t s v) (org-open-file (org-gfm-export-to-markdown nil s v))))))) :translate-alist '((inner-template . org-gfm-inner-template) + (paragraph . org-gfm-paragraph) (strike-through . org-gfm-strike-through) (src-block . org-gfm-src-block) (table-cell . org-gfm-table-cell) @@ -66,6 +67,22 @@ ;;; Transcode Functions +;;;; Paragraph + +(defun org-gfm-paragraph (paragraph contents _info) + "Transcode PARAGRAPH element into Github Flavoured Markdown format. +CONTENTS is the paragraph contents. INFO is a plist used as a +communication channel." + (let ((contents + (concat (replace-regexp-in-string "\\\n" "" contents nil t) + "\n"))) + (let ((first-object (car (org-element-contents paragraph)))) + ;; If paragraph starts with a #, protect it. + (if (and (stringp first-object) (string-match "\\`#" first-object)) + (replace-regexp-in-string "\\`#" "\\#" contents nil t) + contents)))) + + ;;;; Src Block (defun org-gfm-src-block (src-block contents info)